天天看点

滴滴CTO五轮面试真是太刺激了,Java高级工程师一二三四五面面经(已拿到offer)

作者:墨眉无锋墨家代码

滴滴CTO五轮面试真是太刺激了,之前看到好多面经难度极大,感觉运气还行,面试难度虽然挺大,但面试官人还都不错。而且面试完马上出结果,非常刺激!

9月9日下午1:00 一面

自我介绍+介绍项目

项目中难点及解决办法

Java线程的状态及转换

Java创建线程的方式

创建线程池的方式有哪些

JUC包下的类,能说多少说多少

ReentranLock与sychronized的区别

volitile的内存语义,底层如何实现

解释一下happens-before,有哪些规则

CurrentHashMap源码

MySQL的索引及区别

算法题:顺时针打印矩阵

9月10日下午1:00二面,深挖项目为主(45min)

介绍项目,项目中的难点(15min)

MySQL是如何优化的,数据量有多少

倒排索引与正排索引的区别

ElasticSearch的原理(倒排索引+TF/IDF)

Zookeeper用过吗,介绍一下

Zookeeper一般用在什么场景

除了ZAB协议,在介绍几个分布式一致性协议(Paxos、Raft)

线程池的几种拒绝策略及其应用场景

大数据框架有哪些

LSM-tree应用在那些场景、优缺点

意向工作的方向?大数据or开发

写SQL:查询每个班级成绩排名前五的学生及成绩

9月12日下午3:00三面,全程没问技术,聊人生(40min)

你对滴滴有什么了解,知道我们的技术栈吗​

你心中的top3公司(送命题)

你意向的工作方向?大数据or开发

还有几个问题不记得了~

9月14日下午3:00四面

自我介绍,项目提问Java集合类常用哪些,ArrayList与LinkedList区别;HashMap底层实现,为什么扩容是2的幂次;如果想要线程安全该怎么用JUC包下对哪些类了解,synchronized和JDK提供的锁区别;CAS原理,ABA问题;锁升级过程讲一下;volatile讲一下,为什么不能保证原子性JVM内存模型,新生代有哪些区,作用是什么;如何判断对象是否可以被回收(1引用计数2可达性分析)JVM常用垃圾回收算法,讲一下CMS原理Redis常用数据结构;有序集合底层实现;查找排名在底层如何实现;如何用Redis实现分布式锁,可能遇到的问题和解决办法手撕一个二分查找

9月16日下午3:00 五面