美团java三面面经 已offer
一面
ArrayList扩容、HashMap扩容
JUC了解哪些
ConcurrentHashMap原理
RPC、微服务
锁有哪些
索引是什么,为什么快
事务怎么实现的
事物的隔离级别,ACID怎么实现的
Repeatable Read怎么解决幻读?
最左前缀问题
三次握手、四次挥手
二面
学习java的方式
什么时候选择ArrayList,什么时候选择LinkedList
高并发的List选择(CopyOnWriteArrayList、BlockingQueue)
Wait和sleep 区别、wait使用的注意事项
锁相关,synchronized和Lock ,讲到了AQS
线程创建方式
线程池相关、什么时候创建核心线程,为什么这么设计
JVM分区
垃圾回收器的选择,各自的特点,什么时候选
数据库建表时数据类型的选择
varchar和char
Sql书写原则
索引选择的原则
mysql索引问题,联合索引的覆盖
什么时候索引失效
索引的查询过程
假设联合索引<a,b,c>,where后a=?,b=? order by索引会失效吗
慢查询优化思路
Redis使用场景
项目相关,重新设计一下
场景设计题,原项目重构思路
遇到问题的解决方式
三面
项目相关,初衷,技术栈
设计上怎么考虑的
登陆怎么做,手机号、扫码
场景设计:IP地址,两个文件,怎么判断是否两天都访问
(hashset、快排+二分)
如果读不进来(大文件)怎么办(归并+二分 外部排序)