一直忍着准备放个大招,没想到还是被刷了…
前阵子,在准备拼多多的面试,好不容易挺近了三面,没想到被一波完虐,最终面试官请我回家等候通知了。
在等候面试过程中,跟周围的程序员同僚聊了起来,顺便加了一手联系方式。
嘿嘿,虽然没有过面试,但是东拼西凑,加上自己记下的面试题,把面试内容基本都统计了下来。
拼多多一面
=========
1、项目中遇到的问题,及解决方案?
基本上都问到了这个问题,还好早有准备。之前看过介绍项目的star法则,我就跟面试官一唱一喝,把项目介绍介绍完了。(没有自己一个人长篇大论的说,稍加引导似的让面试官问我相关技术问题,回答起来当然就得心应手啦)
2、项目中用到的一些技术?
整个一面基本上都是围绕我之前做过的项目来讲的,也没什么好说的。面完之后,从面试官的表情看似乎对我挺满意的,自然就顺利进入二面了。(可见之前做了充足的准备,还是有好处的)
二面、三面
=========
据说的电商部的一个主管和部门负责人,有点紧张,没有注意,稍微问了一下项目,就开始技术碾压了。
注意:我已经将这些面试题和答案汇总成了文档,需要的程序员朋友点击传送门 即可!!
-
并发编程三要素?
-
实现可见性的方法有哪些?
-
多线程的价值?
-
创建线程的有哪些方式?
-
创建线程的三种方式的对比?
-
线程的状态流转图
-
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)是什么?对比同步它有什么优势?
-
等等等等…
还有一堆就不列出来了,这些面试题都是我整理融合在一起的,有些重复的都去掉了。