一面
1、问项目
2、项目用了redis的哪种数据结构?
3、redis分布式锁的实现
4、Synchronized作用、原理、可重入理解
5、线程和进程区别
6、线程池的线程的工作过程、线程池阻塞队列如果无界会有什么问题
7、垃圾回收算法有哪些,以及对应的垃圾回收器
8、CMS和G1 有什么区别、在使用场景上面怎么去选择
9、Atomic和CountDownLatch这些有了解过吗?
10、CAS是什么?
11、HashMap和ConcurrentHashMap区别?
12、ConcurrentHashMap怎么保证多线程下的安全?
13、Mysql索引实现?
14、查询慢查询,通过什么方式做?
15、mysql 用 limit查询会出现深度分页的问题?limit 10000 10 怎么解决?
16、有序数组删除重复项 o(1)空间复杂度
二面
1、项目
2、HashMap的一个具体流程
3、为什么会引入线程池,会解决什么问题?
4、线程池参数的具体使用场景
5、阻塞队列有界的数组和无界的链表分别什么场景下使用?
6、Object下有哪些方法?
7、重写equals也要重写hashcode为什么?
8、Java为什么会引入锁?
9、cas具体怎么实现?底层是怎么实现的?需要操作系统或者cpu做一些什么处理?
10、Mysql索引为什么会选择B+树呢
11、Mysql具体怎么解决幻读的?为什么间隙锁可以解决幻读?
12、Mysql死锁怎么产生的?产生了死锁Mysql怎么解决?
13、TCP的可靠性具体怎么保证的?
14、一次RPC远程调用怎么实现的?
15、Kafka怎么保证消息不丢失?
16、设计一个转账操作,A转给B 100块钱,系统上面需要考虑哪些?
17、不同的系统怎么保证事务?
18、分布式锁怎么解决超卖的问题?
19、连续子数组的最大和
20、平常有没有看互联网技术一些相关的书籍?
21、专业课相关的成绩?
22、美团笔试题感觉怎么样?
23、项目遇到最棘手的问题?