字节跳动后端面经:一面+二面+三面+HR 面

球友们好,今天给大家分享一份牛客上的优质面经,收录在《Java 面试指南》的优质面经模块下,包括一面+二面+三面+HR 面,同时,把答案贴出来供大家参考,目标是大厂的球友们注意了,知道重心在哪里。

一面|1h

  1. 自我介绍
  2. select、poll、epoll?
  3. epoll的两种触发模式?
  4. TCP三次握手过程,有什么状态,状态机如何变化?
  5. TCP握手的目的有哪些?
  6. 什么是 TIME_WAIT 状态,为什么需要 TIME_WAIT 状态?时间是多久,为什么?
  7. TCP 和 UDP 的区别?
  8. TCP 拥塞控制?慢启动的时候窗口在什么情况下会增长?为什么会呈指数增长?
  9. Linux 中一个进程的虚拟内存分布长什么样?内核空间+用户空间(6 种不同的内存段)。
  10. 为什么要用虚拟内存?
  11. 虚拟地址映射为物理地址的过程?
  12. 进程和线程的区别?哪些资源是线程共享的,哪些是线程独占的?
  13. 使用线程有哪些好处?
  14. 使用线程有哪些坏处?
  15. 进程有哪些同步的机制?
  16. 协程的实现原理?无栈协程和有栈协程?独立栈和共享栈?
  17. 什么是稳定排序?
  18. 聊项目,难点,怎么解决?
  19. 手撕:189.数组循环右移。将一个长度为 n 的数组,循环右移 k 位,要求时间复杂度为 O(n) 空间复杂度为 O(1) 。

沉默王二大约 22 分钟LeetCode优质文章