一面:
问了我很多的问题,基本上包含了所有的基础知识,大概面了一个半小时。很多记不太清楚了,我大概写一下吧:
Java语言的知识:
Synchronized和ReentrantLock的区别
CyclicBarrier、CountDownLatch、Semaphore,挑一个你觉得熟悉的,介绍一下他的底层原理
CocurrentHashMap和HashTable介绍一下吧
Jvm的调优,一般调优的时候你会从哪些方面考虑呢?你说到了系统卡顿,那么会不会有其他的原因造成系统卡顿,你一般会怎么处理?
Redis的知识:
Redis有哪些数据结构?过期策略?介绍一下Redis Cluster,Redis Cluster中的节点有主从关系吗?
Spring的知识:
IOC和AOP
BeanFacrtory和FacrotyBean
Spring是怎么解决循环依赖的?
MySQL相关的知识:
索引的数据结构?为什么要用B+树?
如果我有一个查询很慢,你会从哪些方面来考虑这个问题?
你说索引失效,那可以说一说哪些情况下会导致索引的失效吗?
聚簇索引和非聚簇索引有什么区别?
MySQL有哪些存储引擎?他们的适用场景是什么?
Kafka相关的知识:
Kafka怎么保证消息不丢?
有哪些负载均衡算法?
***你知道吗,有哪些应用?
你说你看过Kafka的源码,那你可以不可以介绍一下你觉得Kafka里有意思的设计?
二面:
面了大概一个小时,问了我个人的经历,然后问了很多开放性的问题。
你的唯一ID是怎么生成的?
怎么保证消息不丢?
Redis如果删除缓存失败了怎么办,你说重试,那重试的时间间隔怎么设置呢?
平时在实验室都研究些什么?
答分布式,然后就聊了聊分布式相关的算法,Paxos RaftZab,以及他们在开源产品中的应用。
聊了聊项目,都做了哪些工作。总得来说,互联网公司会问很多场景题,考察我们综合应用知识的能力。
查看复习大纲可以点击原文链接: