字节飞书23校招 提前批一二三面(挂)
具体回忆不太完全,大概是这些。简历都没投就被hr捞过去面试,刚走完三面。
一面
- 项目:redis和mysql的数据一致性怎么保证呢,如果高并发下单的时候redis扣减失效怎么办。问的东西比较多和杂,想不起来了。
- 你知道有哪些限流的方案呢
- mysql数据库复合索引abc,如果where a=0 and c>2能走吗
- mq的死信队列了解吗
- 分布式锁的实现,还有哪些可以实现分布式锁,如果使用MySQL可以实现嘛?应该是用快照读还是当前读?介绍一下mvcc,可见性判断怎么实现?介绍一下慢查询
- redis是单线程还是多线程,为什么引入多线程,多线程对于执行命令有什么影响,redis单线程在使用中需要注意什么问题
- 讲讲你对几种io模型的理解,介绍一下select,poll,epoll
- 算法:交替字符串的最小替换次数(一开始没思路,面试官提示以后才写出来)
二面
- 项目简单问了一下jwt登录的一些东西,jwt相比于cas单点登录的区别
- https介绍一下,详细说一下握手过程
- 对称加密和非对称加密有什么区别,为什么不全使用非对称加密
- 用户态转为内核态有哪些情况 :系统调用、中断和异常
- 数据库中介绍一下索引,复合索引,覆盖索引,索引下推,单独索引a,b,c和符合索引abc有什么区别呢?
- RR隔离级别下会出现幻读吗,怎么解决,如果事务中使用当前读会产生幻读吗
- 线程池介绍一下,七个参数。tomcat中的线程池了解吗,如果想要实现tomcat中的处理逻辑:线程进来达到核心线程数以后如果不去工作队列,而是直接扩增最大线程数,该怎么实现呢?(经过查资料发现是tomcat的核心线程数满了以后进工作队列判断直接返回放入失败,然后就会去扩大到最大线程数,达到最大线程数以后会再重新放入工作队列)
- 介绍一下工作队列有哪些,选一个介绍一下底层的实现原理(绑定两个condition,notEmpty()和notFull())
- 算法题:分发糖果+子集
三面
实习的东西问了大概二十来分钟,然后就问的实验室课题,最后是一个算法题
- 实习项目介绍一下,具体做的什么业务,有什么难点。在自己做的工作里面遇到什么问题怎么解决。管理员权限的数据库是怎么分配的,不同部门的查询怎么实现,分了哪些库哪些角色
- 你的项目中这个cas单点登录加进去是为了满足什么需求,ssm框架升级到springboot框架具体要做什么工作。
- 在你的科研或者生活中有遇到什么比较大的困难吗?详细说说怎么解决的?实验室做的课题是什么方向,具体描述了一下
- 算法题:循环依赖检测
查看11道真题和解析