9.4 滴滴提前批三连面
面了一下午,一面面试官迟到了20分钟,二面最难,三面面试官在家面试(他小孩还老是在旁边捣乱)。整体感觉有点随意,一面面试官在写完算法后直接喝起了饮料,而且还能听到其他面试官的声音
一面
先问项目,然后八股
1.ThreadLocal的作用和内存泄漏的问题,解决方法
2.缓存击穿、缓存穿透问题
3.JVM的运行时区域
4.元空间和方法区的区别,和1.8之前有什么区别,为什么放到本地内存里
5.JVM的回收算法有哪些
6.G1了解吗,三色标记法
7. volatile和sychronized有什么区别
8.sychronized和ReentrateLock的区别,非公平锁和公平锁怎么实现的
9.读写锁了解吗
10.MySQL的存储引擎有哪些,有什么区别
11.B+树和B树的区别
12.zset的底层数据结构,跳表和B+树有什么区别
13.MVCC机制
14.MySQL的三个日志有什么区别
手撕:岛屿数量
二面
上来自我介绍特意强调不要照简历念,说自己做了什么擅长什么
1.高并发用HashMap会有什么问题
2.对Redis的理解
3.sychronized和ReentrateLock的性能有什么差异吗
4.CAS的原理
5.设计题:
业务场景:广告推送,实现一个微服务,要请求一个下游服务,实时召回1000个广告,每个广告有10特征,5个是广告特征(点击量等)、5个是用户的特征(年龄、性别、地理位置等),然后再去调一个模型服务给每个广告打分,拿到1000个广告的评分后返回评分最高广告。20s干完这些事,1wQPS,你会考虑哪些信息???
这种开放性题第一次答,支支吾吾的也没说出个啥
后面面试官给了相关提示和补充,可以从下面几个方面考虑:①架构方面(集群、负载均衡)②高可用方面(单机限流、多集群)③相关监控
三面
15分钟聊项目
智力题:500张牌,每次都拿走奇数位的牌,最后拿走的那张牌是多少
装饰者模式,jdk中的用法
手撕:顺时针填充数组
职业规划
#滴滴#