字节后端日常实习一二三面面经(已发offer)
一面∶
1.自我介绍
2.你有后端开发的经验吗?主要用什么语言做开发?(Java)
3.那你了解Java的设计模式有哪些呢?(单例,工厂)
4.那你写个单例我看看。为什么这么写?为什么要用volatile和synchronized
5.计网的基础怎么样?说说tcp的四次挥手。close_wait是哪一方的状态?
6.了解mysql吗?说说事务?
7.mysql的可重复读级别能解决幻读吗?
8.怎么解决的?(mvcc)
9.说说mysql的索引。
算法题
前序中序遍历序列,重建二叉树。
二面:
1.自我介绍
2.在上家公司主要工作是什么呢?(上段实习是测开,面试官有些好奇)
3.你了解哪些后端框架?
4.用过redis吗?redis有哪些应用场景?
5.redis怎么实现的分布式锁?
6.滑动窗口在计网中的应用?(我答得稀烂,我说arq协议会用到,主要用做流量控制以及数据包的确认,感觉面试官不太满意,不是他想要的答案)
7.你知道有哪些进程调度策略?多级反馈队列的实现原理?
8.用过mq吗?(没用过)你觉得mq带优先级的消息队列应该怎么实现呢?(用堆,如果优先级的值越大优先级越高,那就建大顶堆,每次排序后取堆顶元素)
感觉二面的问题,延伸出来的场景题比较多,大家可以多准备准备
算法题
三数之和。
三面:
1.自我介绍
2.为什么跳槽?
3.在以前的公司最大的收获是什么呢?
4.在命令行输入kill pid的时候,发生了什么?(蒙了,开始瞎说。面试官觉得我没答到点上)那你觉得这条命令是谁来执行的呢?(应该是命令行进程调用其他程序来完成kill的,不是命令行本身)面试官∶嗯.....
5.算法题:零钱兑换。
6.这个零钱兑换,假如没有可行解,返回0或者-1是不是对上下游不太友好?怎么解决一下?(定义一些常量或者宏,返回常量,编写相应的文档或者注释来说明宏的意义)
7.你来设计一个对文档中敏感词的检测服务,说说你的思路。(建字典树,将敏感词存在字典树里。)
8.你怎么做字典树的持久化呢?(把敏感词存储在mysql里,每次重启服务,从mysql中读取敏感词,重新建树。)
9.那你怎么解决一致性问题呢?有可能不只一个服务器在提供这个服务。(做一个配置中心,使用配置中心去登记所有在线的服务器,每次添加或删除敏感词,都要通知所有在线的服务器去更新库,同时更新内存中的字典树。如果有服务器新加入,就从其他在线的服务器同步数据到本地,从而解决一致性问题)
最后面试官好像还比较满意,说我的方案确实可行,但是这是一个非典型的解决方案。
10.你有什么想问的吗?(您多久能给我一个反馈呢?)我会尽快。
三面快给我问傻了,面试官全程爆杀,最后这个场景题给我问的支支吾吾的,还好最后脑子还在线😂#面试复盘##字节跳动##实习##后端开发#
1.自我介绍
2.你有后端开发的经验吗?主要用什么语言做开发?(Java)
3.那你了解Java的设计模式有哪些呢?(单例,工厂)
4.那你写个单例我看看。为什么这么写?为什么要用volatile和synchronized
5.计网的基础怎么样?说说tcp的四次挥手。close_wait是哪一方的状态?
6.了解mysql吗?说说事务?
7.mysql的可重复读级别能解决幻读吗?
8.怎么解决的?(mvcc)
9.说说mysql的索引。
算法题
前序中序遍历序列,重建二叉树。
二面:
1.自我介绍
2.在上家公司主要工作是什么呢?(上段实习是测开,面试官有些好奇)
3.你了解哪些后端框架?
4.用过redis吗?redis有哪些应用场景?
5.redis怎么实现的分布式锁?
6.滑动窗口在计网中的应用?(我答得稀烂,我说arq协议会用到,主要用做流量控制以及数据包的确认,感觉面试官不太满意,不是他想要的答案)
7.你知道有哪些进程调度策略?多级反馈队列的实现原理?
8.用过mq吗?(没用过)你觉得mq带优先级的消息队列应该怎么实现呢?(用堆,如果优先级的值越大优先级越高,那就建大顶堆,每次排序后取堆顶元素)
感觉二面的问题,延伸出来的场景题比较多,大家可以多准备准备
算法题
三数之和。
三面:
1.自我介绍
2.为什么跳槽?
3.在以前的公司最大的收获是什么呢?
4.在命令行输入kill pid的时候,发生了什么?(蒙了,开始瞎说。面试官觉得我没答到点上)那你觉得这条命令是谁来执行的呢?(应该是命令行进程调用其他程序来完成kill的,不是命令行本身)面试官∶嗯.....
5.算法题:零钱兑换。
6.这个零钱兑换,假如没有可行解,返回0或者-1是不是对上下游不太友好?怎么解决一下?(定义一些常量或者宏,返回常量,编写相应的文档或者注释来说明宏的意义)
7.你来设计一个对文档中敏感词的检测服务,说说你的思路。(建字典树,将敏感词存在字典树里。)
8.你怎么做字典树的持久化呢?(把敏感词存储在mysql里,每次重启服务,从mysql中读取敏感词,重新建树。)
9.那你怎么解决一致性问题呢?有可能不只一个服务器在提供这个服务。(做一个配置中心,使用配置中心去登记所有在线的服务器,每次添加或删除敏感词,都要通知所有在线的服务器去更新库,同时更新内存中的字典树。如果有服务器新加入,就从其他在线的服务器同步数据到本地,从而解决一致性问题)
最后面试官好像还比较满意,说我的方案确实可行,但是这是一个非典型的解决方案。
10.你有什么想问的吗?(您多久能给我一个反馈呢?)我会尽快。
三面快给我问傻了,面试官全程爆杀,最后这个场景题给我问的支支吾吾的,还好最后脑子还在线😂#面试复盘##字节跳动##实习##后端开发#