字节后台开发实习一二三面

字节后台开发实习一二三面

之前字节第三面挂了(写unordered_map写炸了),以为春招已经结束了,结果字节在2周后把我捞了.在一个下午连续面完了一二三面。

注:受限于篇幅,只列出重难点,较简单的八股文就不再罗列了。加粗部分为我个人掌握一般的,日后强化。

一、一面

基础知识

  1. 用户态、内核态;什么样的操作要内核态;为什么要陷入内核态,有什么优点。
  2. 进程和线程的区别;为什么切换、创建进程开销大;为什么不能都用线程而不用进程;内存隔离是怎么实现的(不重叠的虚存空间实现内存隔离;虚存空间的一部分重叠来实现内存共享)
  3. 开放题:让我设计一个线程池,然后有不同需求,不断完善阿巴阿巴。其中有个问题:线程执行完如何释放(言外之意就是保证资源释放,哪怕被调用者忘了),我答了用RAII机制,通过类封装,有惊无险的过了。
  4. IP怎么转MAC地址(ARP协议)。
  5. HTTP可以用UDP协议发送吗;如果用UDP实现有什么注意点。。。
  6. TCP的可靠性有哪些;是如何实现的
  7. ACID是什么;一致性是什么(保证事务只能把数据库从一个有效的状态“转移”到另一个有效的状态。而事务开始和结束之间的中间状态不会被其他事务看到);四个隔离等级;为啥用B+树做索引。

算法题

双队列实现栈。


二、二面

基础知识

  1. 乐观锁,悲观锁的区别,适用场景(响应时间、效率、冲突概率、重试代价)。
  2. 什么时候会用到UDP
  3. 幻读如何避免、解决(不用串行化隔离级别)。(快照读或当前读,前者通过MVCC多版本控制, 后者是next-key锁(行锁+间隙锁))
  4. 超大文件如何排序(面试官出的是字符串类型,我用了字典树蒙混过关)
  5. HTTPS

算法题

一、一个字符串,判断是否能拆分为字典中的单词(力扣“单词拆分”)。我用了DFS很快写出来了(感谢面试官不杀之恩,只问了怎么优化),实际上在力扣根本过不了!超时!
二、有序数组,返回指定数字出现次数。二分查找找第一次出现和最后一次出现的位置即可。


三、三面

基础知识

  1. 什么时候需要单例模式;有什么优点
  2. 网络相关linux命令。
  3. 常见算法和时间复杂度;如何优化快排避免最差情况;
  4. 给100w个随机产生的不重复数字排序(范围是1到1亿),选择最快的排序方法,时间和空间复杂度是多少。

编程

一、写个我觉得最优的单例模式,我就写了返回局部静态对象。
二、写个双线程交替输出ABABAB,多线程、条件量这些我都是纸上谈兵只看过书没自己写过,炸了。
三、归并排序(好不熟悉,强行当场推导出来)。


四、总结

基础知识忌一掠而过,问深了就炸了;更不能纸上谈兵,写起来就GG。。。算法要加加加大力度,这次算运气好,真的只是侥幸,侥幸。


五、部分答案补充

为什么要有内核

https://www.jianshu.com/p/16b83e7facb9
https://blog.csdn.net/weiqifa0/article/details/93148313

为什么切换线程开销小

https://www.cnblogs.com/yvkm/p/10619001.html

HTTP与TCP、UDP的爱恨情仇

HTTP是可靠的传输,因此基于TCP。最新版的HTTP又基于了UDP,保证可靠的方法有:引入序列号,保证数据顺序;引入确认应答,保证对端收到了数据;引入超时重传,如果隔一段时间没有应答,就重新发送数据;引入校验和,可以检查出错误(把TCP抄过来就行)。
https://www.cnblogs.com/helloworld2048/articles/10997789.html

TCP的可靠性

在这里插入图片描述

UDP应用场景:

  • 面向数据报方式
  • 网络数据大多为短消息
  • 拥有大量Client
  • 对数据安全性无特殊要求
  • 网络负担重,对响应速度要求高

比如聊天、音视频传输等。

超大文件排序(分治+败者树):

https://blog.csdn.net/okiwilldoit/article/details/80626508
基于胜者树或败者树都能使多路归并排序时时间复杂度变为logn(传统的逐一遍历比较为n)。

胜者树和败者树:

胜者树和败者树每次上升都需要进行一次比较。但因为胜者树每次都把胜者输出,插入新元素后肯定要修改父节点的胜者为新胜者;而败者树父节点的败者可能不用修改,减少IO次数。
https://blog.csdn.net/whz_zb/article/details/7425152

HTTPS:

https://blog.csdn.net/weixin_46124214/article/details/105875458

单例模式场景及优点

https://www.cnblogs.com/restartyang/articles/7770856.html

快排优化

https://blog.csdn.net/hacker00011000/article/details/52176100

全部评论

相关推荐

点赞 评论 收藏
转发
3 3 评论
分享
牛客网
牛客企业服务