团子这次真的刷新了我的秋招面试最长记录
一共面了85min,项目+八股75min,做题10min
1. 自我介绍+介绍下你的项目
2. 抠我项目里的redis用法
3. redis的数据结构有哪些?
4. redis怎么实现锁的(我答了分布式锁setnx)
5. 如何用redis设计一个秒杀系统(球球别问秒杀了这已经是秋招第五次被问了,但我现在贼能唠,张口就讲他个10分钟,插个腰)
6. 缓存击穿和缓存雪崩式是怎么回事的,你怎么处理?
7. mysql的数据结构是啥
8. 四种隔离级别分别啥意思?怎么实现的?
9. 现在两个可重复读的线程,A在一个事务内对一个数据读了两次,B的事务在A读第一次之后去修改了这个数据,问,A两次读的数据是不是一样的?为什么?(我没懂?明明A是一个事务?不应该是原子性不被打断的吗?)
10. 索引有哪些种类?
11. 索引的时候like的%放前面还是放后面?
12. 联合索引abc什么情况下失效?
13. 共享锁排他锁什么区别?分别什么情况下使用?你怎么选择?底层怎么实现的?顺便聊一下自旋锁?
14. B+树说一下?B+树和B树什么区别?为什么mysql用B+而不是B树?
15. 慢sql怎么样优化的?
16. limit分页查询慢咋解决?
17. jvm内存结构说一下
18. 垃圾收集器的原理是啥?
19. GC的时候会不会涉及到永久代?
20. java设计模式说一下?你都用过哪些?
21. 线程池的几个参数聊一下?
22. 如果核心线程数=5,最大线程数=10,线程池初始化的时候建立几个线程?如果核心线程都在使用,来了个新的任务,线程池咋运行的?
23. 对于线程池的参数,你怎么根据项目需要去改变他们?
24. 聊下hashmap,怎么构成的,加载因子是多少?怎么扩容的?
25. 你对分布式系统咋理解的?
26. 你用过哪些消息队列?如何保证消息队列的数据一致性问题?如果有的消息消费出错或者没被消费,怎么处理?
手撕:链表删除所有重复数字(包括他自己)
总结:感谢前面每次面试,让我每个问题都贼能唠,面试官不打断我都能一直哔哔赖赖菜鸡进化了属于是
#美团##面试##秋招#