领星 Java校招
一面 8.28 16:30~17:00 (时长三十分钟)
1.自我介绍
2.介绍项目的重难点
3.看你用了CompletableFuture,你知道他底层用的线程池是什么吗?
4.这个线程池它的核心线程数,最大核心线程数,你了解吗?
5.你知道他内部有个folkjoin线程吗?
6.redis分布式锁的实现。
7.redisson实现分布式锁,lock锁的实现是怎样的,这把锁有设置过期时间吗?持有锁的任务执行时间过长该怎么办?
8.讲讲数据库和缓存之间怎么达到一致性?
9.我看你在读缓存用了Double Check。控制只有一个线程去访问数据库是吧,那我问问你,你知道数据库到什么程度会奔溃吗?
10.你知道Redis的IO有多快吗?
11.我看到你用了AOP做了什么缓存的自动存储,你能讲讲这个AOP主要做了什么吗?
12.你说了减少代码的冗余是吧,你觉得用AOP真的能减少冗余吗?AOP用多了有什么坏处吗?
13.接下来是拷打数据库,你知道联表的规则吗?
14.那你说说索引吧,ABC建立索引,我按ACB这样的查询,索引会生效吗?
15.你知道数据库的结构吗?我说大概说了下最上面是连接层,然后验证器,查询优化器,执行器。这样的
16.你知道刚刚执行的这个查询为什么能用索引了吗?是因为查询优化器做了优化,我们都看得出来,你觉得MYSQL看不出来吗?
17.再讲讲redis的内存淘汰策略吧
18.你觉得这些淘汰策略会对系统有怎样的影响?
19.接下来是问了一些线上问题。你们数据库的数据量有多大?
20.那你们QBS有多大?
21.知道CAS吗?
22.你知道在java1.7和java1.8中,synchronized有什么区别吗?
23.如果你发现你们项目CPU的占用突然标高,你觉得会是什么问题?
24.你会如何排查?
25.我看你用了微服务,就问你一个Feign吧,讲讲Feign的底层吧?
26.那你知道Feign发送请求的时候,他是怎么去识别主机名的?
27.你刚刚说了注册中心对吧,注册中心是如何实时的获取到这些服务的信息的?
28.如果你在请求别人的接口,你觉得请求的速度很慢,你觉得可能是因为什么?
29.如果别人在请求你的接口,你发现速度很慢,你觉得会是因为什么?
30.你觉得如果让你解决这个问题,你会从什么地方去入手?
31.最后还看到你这个项目里面用了个MQ是吧,主要是用来干什么?
32.那我想问问,怎么确保MQ消息发送的可靠性?
33.那我再问问,如果消息发生积压,是你你怎么解决?
34.最后一个问题,那你讲讲HashMap在1.7和1.8直接有什么区别吧
二面 8.29 16:30 ~ 17:10 hr面(四十分钟)
- 职业规划,为什么想来深圳工作
- 从去年三月份到至今的经历
- 问了下实习
8.30 感谢信 挂了
#牛客解忧铺##我的失利项目复盘##第一次面试##如何判断面试是否凉了#