一面
计算机网络
- tcp和udp的区别
- 三次握手以及为什么是三次不是两次
- 谈一谈dns,说一下解析的具体过程
操作系统
- 线程的状态
java
- JMM讲一下,结合volatile再讲一下
- concurrentHashMap是怎么实现线程安全的(我从1.7说到1.8)
- synchronized的原理(各种锁,锁升级的过程等等都聊了一遍)
- 线程池的七个参数,任务执行流程
- 线程池线程数的设置原则
- 场景题:一个用户访问一个服务,这个服务会调用8个子业务(访问8个服务),用线程池设计一下,qps、tps(这个我回答的不好)
分布式相关
- 从session、cookie到分布式session,如何实现一个分布式session
- 分布式锁的设计(从redis说到lua,说到redission)
- 有些忘了。。。
mysql
- 聚簇索引、非聚簇索引
- b+树和b树的区别、为啥不用avl树
- 什么时候不需要索引
- 非聚簇索引一定会回表吗(覆盖索引)
- 什么情况下索引会失效
- like、not in 会不会走索引
- 场景题:一个表有1000w的数据,查询很慢,该如何优化
- 分库分表(不太了解)
redis
- 场景题:3000w的大v的粉丝,用啥存储
- 跳跃表的实现、跳跃表向上抽取节点的公式是啥
- redis的持久化
- redis和数据库一致性怎么保证
- redis的集群(我说了hash槽,并且提到了一致性hash,就问了我为啥不用一致性hash)
可能还有一些,忘了
二面
大部分是开放性问题,就不细说了
- 讲了讲项目
- es的倒排索引是啥
- binlog日志的模式
- mysql怎么实现主从同步(没回答好)
- mysql索引,存储引擎
- 从hash索引扯到了hash解决hash冲突的方法有哪些
- redis的过期策略(惰性删除、定期删除、内存淘汰策略)
其他的忘了
全部评论
(7) 回帖