1、介绍一下你实习期间的工作,主要负责哪一块的工作
2、介绍一下你的ES同步吗
3、你是怎么发现你的es的数据不一致的
4、你的数据库同步es的时间需要多少
4、那如果是同步失败了,你们是怎么知道的,通过什么工具或者方法
5、在同步es的期间,如果有数据的写入怎么办(以上没录音,忘记了很多,这一块拷打了很多)
6、能介绍一下你的预算占用字段加载逻辑吗
7、你是用的三级缓存吗,为什么需要引入缓存、你的每一级缓存中分别是什么东西
8、如果说某一个热点字段发生改变,你的redis缓存怎么修改?(一直在问我怎么修改,我寻思的缓存不都是直接删除,哪会涉及到某一个字段的修改)
9、你的缓存里面,如果用户有一些产品的修改或者删除,你要怎么操作缓存和数据库的数据
10、你为什么选择先删缓存再更新数据库,那另外一种先更新数据库,再删除缓存有什么问题
11、那你的先删缓存再更新数据库会存在什么问题
12、你是怎么得到你的这些优化后的数字的,(回答自己本地压测,在发布到测试环境,由专门的测试人员测试)
13、那你能分享一下你自己的这些失误率,内存消耗是怎么测试出来的吗
14、进程和线程的区别是什么
15、进程、线程之间的通信有哪些
16、Java多线程操作hashmap,他是否是安全的,为什么
17、能介绍一些锁吗
18、什么情况下会死锁,怎么分析他是否死锁了
19、那如果是在一个特别大的系统,有各种相互依赖,你是要怎样去排查是哪里死锁了呢
20、(我回答看是在哪一步的操作上面等待时间过久),面试官问我怎么排查是哪里能看的出来时间过久
21、程序运行中的内存和CPU占用过高,你是怎么排查的呢
22、那你在java中是怎么排查是哪个操作占用内存和cpu过高呢
23、CPU的使用率,他是怎么含义,以及他是怎么评断CPU使用率过高
24、CPU的使用是怎么计算的
25、你是否了解top命令会显示哪些东西吗
26、什么是僵尸线程,什么情况会造成僵尸线程,怎么去解决僵尸线程
27、为什么TCP连接一定是三次握手,为什么不是两次或者四次
28、TCP连接是怎么保证连接传送的顺序性和完整性
29、HTTPS是怎么保证安全性的,什么是公钥和私钥,对称加密算法和非对称算法是什么,为什么要结合使用,而不是只用一个
30、HTTP1和HTTP2有什么区别
31、redis为什么效率怎么高
32、他的IO多路复用是什么样的机制
33、为什么使用langchang4J框架
34、是否了解ACP协议
35、求第k大元素,第二种树状数组+二分是怎么求的