美团一面+二面,后端开发
美团一面 (2021/09/06 上午11点 75min)
1. 自我介绍
2. 项目介绍
3. 项目中redis怎么使用的,怎么实现的点赞和关注
4. 如果redis宕机,点赞和关注的数据丢了,你怎么解决(面试官后来补充说这类需要长期保存的数据只存redis不合适)
5. 你说你项目中使用了redis事务,介绍一下,它能保证原子性吗
6. Redis集群了解吗,介绍一下
7. 怎么扩充一个redis节点
8. Redis中zset怎么实现的,为什么使用跳跃表不使用二叉树红黑树等
9. Kafka在项目中怎么使用的
10. Kfka架构介绍一下
11. Kafka保证消息可靠的机制有哪些,从生产者到broker到消费者整个流程介绍一下
12. Kafka怎么保证消费消息的顺序
13. 你了解领域驱动设计吗?
14. Hashmap介绍,是否线程安全,线程不安全的场景
15. Hashmap扩容时的线程安全问题
16. Juc并发包下了解哪些
17. Currenthashmap介绍
18. Renntrantlock介绍,底层实现
19. 工厂模式介绍
20. 什么场景下使用工厂模式,介绍下你项目里面使用工厂模式的情况
21. 进程线程区别
22. 线程的几种状态
美团二面 (2021/09/07 下午 14:30 75min)
1. 自我介绍
2. 教研室课题项目介绍
3. Tcp三次连接,为什么三次,四次挥手,为什么四次
4. Tcp和udp区别,tcp怎么保证可靠传输
5. Final作用,static作用
6. 类加载过程介绍
7. 双亲委派模型介绍,什么时候需要打破双亲委派
8. 线程池介绍,执行流程
9. 线程池任务队列你了解哪些,linkedblockingqueue容量是多大
10. 线程安全介绍,你怎么保证多线程安全
11. 怎么判断一段代码是否存在线程安全问题
12. Volatile作用,可见性怎么保证的,线程之间是怎么通知的
13. Threadlocal介绍,为什么使用弱引用
14. 如果线程之间想要共享threadlocal,怎么实现
15. 设计:定时任务存放,只有任务到时间才能取出执行,类似于延迟队列,你怎么实现?(堆)
16. 用堆是可以的,怎么保证线程安全;我想进一步减小时间复杂度为O(1),怎么设计?
17. 垃圾回收器你了解哪些,并行并发区别,cms是并行还是并发
18. cms标记清除算法,标记是怎么实现的(三色标记我不会)
19. G1介绍,它的优势
20. 系统设计:类似微博推特,用户登录,刷微博,想要看到自己关注的人发表的前几十条微博,说一下你怎么设计(从数据库表的设计,到怎样维护关注,被关注关系,实现的整体逻辑)
21. 算法题:按层打印二叉树
#Java开发##美团##面经#