滴滴出行java工程师 面试经验(一面+二面)
2.共享内存的实现方式?信号量是怎么实现的?他们的使用场景。
3.数据库的四大隔离级别,怎么解决幻读的?
4.MVCC 是什么东西?Gap锁是什么,怎么实现的?
5.线程共享区域的访问是随机的吗?为什么?
6.你说到了GC root,里面都有包含什么东西。
7.写一个生产者消费者模式吧,不用BlockingQueue实现一个
8.epoll的使用环境是什么,你用过IO吗,它和poll的区别是啥
9.你读过Spring AOP的源码吗,你讲一下Spring是怎么使用Cglib实现AOP的?
10.手撕算法:搜索旋转排序数组II(力扣原题)
11、简单说说G1 垃圾回收器的执行过程,其优势是什么?
二面
1.项目主要架构,用户登录态的维护,接口的整个流程
2. Cookie和Session的区别
3.项目的压测上限是多少,有什么办法提升系统的并发数,有什么优化的空间
4.说一下RocketMQ的事务型消息
5.项目多级缓存是那几级
6. Redis穿透,雪崩。出现的情况和解决的办法
7. Java中的HashMap底层结构,为什么8的时候转换为红黑树具体说一下,为什么不直
接用红黑树,链表和红黑树的查询效率
8. ArrayList和LinkedList的区别
9.说一下线程安全的集合
10. ConcurrentHashMap的底层说一下,为什么使用synchronized
11. synchronized的升级
12. MySQL 索引,B+树索引的底层,mysql中数据的存储形式,为什么不在非叶子结点存放
数据
13. 两个栈转变为队列
14. 有一些范围是危险范围,如果客户是在这里打车的,要给司机提示,你有什么办法实现?
#滴滴##面经##java工程师#