美团
一面:
1、ConcurrentHashMap实现原理
2、HashMap实现原理
3、锁的实现原理
4、synchronized和重入所实现原理以及区别
5、一个char[]数组,里面有空格,以&结束。
6、jvm内存模型,都存什么。以及垃圾回收算法,垃圾回收器。
7、内存溢出的场景
8、设计模式,以及自己使用的场景。
9、Sping的AOP实现原理,以及对象生成方式的种类,单例的还是原型的。
二面:
1、分布式锁。
2、逐层遍历树。
3、原子类实现
4、volatile实现原理
5、自己做的项目,自己负责的东西的介绍,以及问题溯源。
6、数据库索引实现原理,什么情况下索引会失效。
7、数据库sql优化
8、多个线程执行完了,再执行一个线程,实现方式。
三面:
1、进程和线程的区别
2、给定一个进程,有多个线程,其中一个线程出现OOM异常,判断所有线程的状态。
3、介绍自己实现的东西。以及问题抛出。
京东
一面:
1、面向对象的优点
2、java的特点
3、说一说你做的东西
4、遇到的问题
二面:
1、简历上写的所有技术基本都问了,问得有点多,自己都有点乱,会的就说 不会的就说不知道。
2、谈对工作的看法,以及对问题的态度
3、linux的知识
三面:
1、HashMap实现原理。
2、线程池的实现原理
3、让说你自己最熟悉的技术,问得很深。
4、CAS和锁的区别,以及应用场景。
四面:
领导说比较忙,简单聊了聊,问问我为什么要换工作,以及期望薪资。很快就结束了。
阿里
记得不很清楚,面试时状态不很好,面试官跳跃性比较大,而且问得很深。根本不能含糊其辞
1、基本上jvm一定要基本掌握,并发编程需要掌握,mysql使用以及优化,mysql 引擎的区别。
2、阻塞队列的实现方式
3、Conurrenthashmap实现方式
4、编程:一个很大的字符串求和。
5、编程:手写死锁。
写在最后
学习技术是一条慢长而艰苦的道路,不能靠一时激情,也不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!
最后再分享的一些BATJ等大厂20、21年的面试题,把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。
领取方式:戳这里即可免费领取
Mybatis面试专题
MySQL面试专题
并发编程面试专题