滴滴社招1面2面3面面经
本人1年工作经验, 面试滴滴国际化事业部
2021.8.2
滴滴1面
项目
- 你们垃圾回收器用的什么? G1有哪些特点?G1如何实现可预测的停顿时间?漏标问题如何解决的?介绍下三色标记?说说STAB算法?
- Java锁有了解吗?Synchronized和ReentrantLock区别?说说如何ReentrantLock如何实现超时锁的等待?
- Mysql用过对吧?说说Mysql索引建立策略?假如我给你三个字段, 性别, 年龄和身份证号, 哪个字段更适合做索引?
- 写一道mysql的语句吧, 查找学生表里成绩小于60分的倒数第3个学生的名字和成绩
- Redis的分布式锁有了解吗?如何实现的?说说Jedis, Lettece 和 Redission的适用场景?Redission底层实现原理?
- 你们mysql和redis出现了数据不一致的情况如何解决?为什么使用双删策略?没觉得很慢吗?如果你mysql存入了, 但是redis删除失败了怎么解决?反过来呢? 你又怎么解决?
- ORM用的什么?Mybatis和hibernates的区别?你觉得谁更好用呢?
- RocketMq用过吗?有哪些组件?如何保障消息的幂等性?集群模式和广播模式的区别?集群模式下消息是有序的吗?
- 写一道算法题吧, 判断一个单链表里的值是否为回文?要求时间O(n), 空间O(1)
这年头滴滴要凉了都还问的这么难呀…
------------------------------------------------------------------------------------------------------------------
2021.8.5
滴滴2面
项目
- 说说你们项目的索引设计?数据库的条数?如果超出了最大的容量该怎么解决?
- 能介绍下定时任务的使用吗?为什么使用多线程?
- 说说ActiveMq, RabbitMq, RocketMQ, Kafka各种MQ之间的对比?RocketMq消息的可靠性如何保证?如何保证RocketMq的高可用?
- 介绍下同步复制和异步复制, 同步写盘和异步写盘的区别和优缺点?
- Netty支持哪些类型的消息?有了解过Epoll吗?介绍下轮询机制?长轮询, 短轮训, SSE, WebSocket优缺点?
- 介绍下RocketMq消息类型?延时性消息支持事务吗?
- 介绍下commitLog和consume queue分别用来干嘛的?知道如何在RocketMq搜索一个消息吗?
- Netty协议栈设计?编解码使用的什么工具?优化的效果如何?检查用户是否重复登录如何实现的?ChannelHandlerContext和ChannelPipeline调用write()的区别?
- 心跳机制如何实现的?你们客户端几秒发一次心跳?服务端多久没收到心跳判定断开?这个有什么依据吗?
- TCP链接如何保存?如果有十几万条连接怎么进行存储优化?如何检查哪条连接不可用?听说过一个叫XXX方案吗?(英文, 不记得了) , 我给你简单介绍下, 面试官开始表演…, 你有兴趣自己再去了解下
- 写题 硬币找零 给你一个钱的数字, 然后给你一个可用的钱的数组, 求有多少种可能性组成这个钱的数字?
-----------------------------------------------------------------------------------------------------------------
2021.8.6
滴滴3面
项目
- 聊了些产品和设计层面的东西?以及未来项目的一个方向?
- 问了问大流量下的解决方案?有哪些是自己做的?限流是怎么做的?redis缓存是单线程还是多线程的呀?既然redis是单线程为什么还能处理大量的读请求呢?
- 介绍下缓存击穿, 缓存雪崩, 缓存穿透是什么?解决方案?
- Redis有用过失效时间对吧?如果没有失效时间, 你自己如何去实现一个失效时间?
- 回答了两个方案都不太好
- 给一个点坐标x,y, 给一堆点坐标x1,y1….xn, yn如何找到距离X,Y最近的点?说说时间复杂度,空间复杂度?
- Mysql索引设计应该遵循什么原则?什么是三星索引?
- 说说分布式的cap, base理论, 什么是柔性状态?