2020面试汇总
后端技术栈思维导图:https://www.processon.com/view/link/5e78bf6ee4b027d999c5b0b5
-
ZooKeeper : 如何保证一致性(ZAB协议、raft算法)、为什么不用做分布式锁、CAP理论
-
Kafka(消息丢失,消息重复,消息堆积),JMS、ACK 、kafka的leader选举过程、kafka集群主从同步
-
Liunx 如何实现定时器 (好像是考堆)
-
Eureka:与zookpeer区别、一致性算法、数据结构、多缓存
-
Redis:过期机制、分布式Hash算法、线程模型、持久化机制、数据结构时间复杂度
-
数据库:mysql如何解决死锁、索引 (B+树、原理、oreder by 外存排序、like%走索引、is not 不走索引)、explain sql分析器、事务隔离级别、锁机制、 MVVC
-
JVM 内存模型、full gc场景、oom场景、GC算法
-
HashMap源码:基本数据结构,扩容,hash算法
-
Java多线程、线程池、ThreadLocal 原理
锁:(synchronized作用对象、synchronized原理(基于class对象头)、同步容器(Collections.synchronizedList(list)、个别变态会问concurrenthashmap源码)、AtomicInteger、CAS、volatile、ReentrantLock、锁升级) -
Mybatis:$与#区别、一级缓存二级缓存
-
Java 运行时异常,非运行时异常
-
spring 循环依赖、ioc、aop
-
TCP三次握手、四次挥手
-
http报文格式,1.0/1.1/2.0区别
-
分布式事务(没了解过~)
-
设计个RPC(其实考Dubbo原理),HTTP调用与RPC调用优缺点
-
NIO、异步非阻塞、异步阻塞 (附加题,因为之前看过点)
-
算法:
- 词频统计TopK(堆来实现)
- 反转二叉树
- 每日温度:https://leetcode-cn.com/problems/daily-temperatures/
- 根号N(二分查找)
- 最少猎头获得全部简历(贪婪算法)
- 最小窗口子序列(吐槽下leetcode有些题目居然会员才能查看,伤心) https://blog.csdn.net/whdAlive/article/details/81132383
- 用环形链表实现一个队列
-
业务逻辑(主要看简历项目):
- 介绍下账户体系(sso)
- 设计个朋友圈