一直忍着准备放个大招,没想到还是被刷了...

前阵子,在准备拼多多的面试,好不容易挺近了三面,没想到被一波完虐,最终面试官请我回家等候通知了。

在等候面试过程中,跟周围的程序员同僚聊了起来,顺便加了一手联系方式。

嘿嘿,虽然没有过面试,但是东拼西凑,加上自己记下的面试题,把面试内容基本都统计了下来。

 

拼多多一面

1、项目中遇到的问题,及解决方案?

基本上都问到了这个问题,还好早有准备。之前看过介绍项目的star法则,我就跟面试官一唱一喝,把项目介绍介绍完了。(没有自己一个人长篇大论的说,稍加引导似的让面试官问我相关技术问题,回答起来当然就得心应手啦)

2、项目中用到的一些技术?

整个一面基本上都是围绕我之前做过的项目来讲的,也没什么好说的。面完之后,从面试官的表情看似乎对我挺满意的,自然就顺利进入二面了。(可见之前做了充足的准备,还是有好处的)

二面、三面

据说的电商部的一个主管和部门负责人,有点紧张,没有注意,稍微问了一下项目,就开始技术碾压了。

注意:我已经将这些面试题和答案汇总成了文档,添加小助理VX:msbjy2019即可获取哦~

  • 并发编程三要素?
  • 实现可见性的方法有哪些?
  • 多线程的价值?
  • 创建线程的有哪些方式?
  • 创建线程的三种方式的对比?
  • 线程的状态流转图
  • Java 线程具有五种基本状态
  • 什么是线程池?有哪几种创建方式?
  • 四种线程池的创建
  • 线程池的优点?
  • 常用的并发工具类有哪些?
  • CyclicBarrier 和 CountDownLatch 的区别
  • synchronized 的作用?
  • volatile 关键字的作用
  • sleep 方法和 wait 方法有什么区别?
  • 什么是 CAS
  • CAS 的问题
  • 什么是 Future?
  • 什么是 AQS
  • AQS 支持两种同步方式
  • ReadWriteLock 是什么
  • FutureTask 是什么
  • synchronized 和 ReentrantLock 的区别
  • 什么是乐观锁和悲观锁
  • 线程 B 怎么知道线程 A 修改了变量
  • synchronized、volatile、CAS 比较
  • 为什么 wait()方法和 notify()/notifyAll()方法要在同步块中被调用
  • 多线程同步有哪几种方法?
  • 线程的调度策略
  • ConcurrentHashMap 的并发度是什么?
  • Linux 环境下如何查找哪个线程使用 CPU 最长
  • 死锁的原因?
  • Java 死锁以及如何避免?
  • 怎么唤醒一个阻塞的线程?
  • 不可变对象对多线程有什么帮助?
  • 什么是多线程的上下文切换?
  • 如果你提交任务时,线程池队列已满,这时会发生什么?
  • Java 中用到的线程调度算法是什么?
  • 什么是线程调度器(Thread Scheduler)和时间分片(TimeSlicing)?
  • 什么是自旋?
  • Java Concurrency API 中的 Lock 接口(Lock interface)是什么?对比同步它有什么优势?
  • 等等等等...

还有一堆就不列出来了,这些面试题都是我整理融合在一起的,有些重复的都去掉了。

相信大家都看出来了,逮着多线程和并发往死里虐啊这是!

自认为在多线程并发这方面做了一些功课,也扛不住360度无死角扫射袭击啊!

于是,通过网上四处找答案,找博客,把问题重新整理了一遍,由于笔记的内容太多,没办法全部展示出来,下面只截取部分内容展示。有想获取完整版笔记的朋友,一键三连后添加小助理VX:msbjy2019即可哦

 

 

另外还收罗了一套大厂面试真题