开场:
1.自我介绍,个人基本信息,履历,项目
2.最熟悉或者最有挑战性或者最有成就感的一个项目展开介绍
3.在项目是什么角色?做了哪些?遇到什么问题?如何解决?有没有性能瓶颈?解决?
技术栈环节:
1.一般先会问你项目中用到了哪些技术,然后挑选几个技术描述在项目中的应用场景
2.redis应用场景,redis基本数据类型,redis持久化机制,redis为什么很快,rediskey淘汰策略,redis集群模式介绍(哨兵集群模式,分片集群模式),redis实现分布式锁(分布式锁实现方案:1基于数据库,基于redis,基于zookeeper)
3.项目中用的什么消息队列,为什么要用这种,如何保证消息不丢失及消费幂等性(高频)
4.如果有使用过es,会问es倒排索引,es写入和查询流程,es有哪几种节点类型,es性能优化
5.zookeeper(cp,中心化思想,leader选举过程不可用,zab原子广播协议:恢复模式,follow节点数据同步模式)和eureka(ap,去中心化,相互注册,高可用)比较(高频),加分项可以讲讲nacos支持ap和cp,cp模式基于raft协议,讲讲raft协议装逼
6.mysql存储引擎,数据写入流程,sql慢排查及优化,b+tree介绍,索引最左前缀原则,分库分表
7.多线程使用场景,多线程会遇到什么问题,线程池原理,为什么不先使用最大线程数再用阻塞队列
8.设计模式在项目中的应用,及介绍设计模式,一般挑选1-2个讲
9.类加载过程,双亲委派介绍,垃圾回收过程,垃圾回收器,垃圾回收算法,可达性分析,gcroots,强,软,弱,虚引用介绍
10,线上jvm故障排查,cpu飙高,内存飙高
11.服务机器信息,服务几个节点,redis几个节点,mq几个节点,数据库几个节点
12.mysql事务隔离级别,各自隔离级别会造成什么问题?mvcc多版本并发控制,mvcc可以解决幻读吗?怎么解决幻读?事务传播行为,事务失效排查,自己写的aop失效了怎么排查