字节跳动的面试题

一、算法题

一面:
1. lc 里最长上升子序列的变形题
2. 实现输入英文单词联想的功能

二面:
1.矩阵旋转,要求空间复杂度 O(1)
2.无序的数组的中位数。要求时间复杂度尽可能的小

二、计算机网络

  1. tcp 怎么保证数据包有序
  2. tcp 和 udp 的异同
  3. tcp 怎么保证可靠性
  4. tcp 中拥塞避免和流量控制机制
  5. tcp 四次挥手的详细解释
  6. 四次挥手之后为什么还要等待 2msl
  7. 浏览器从输入网址到显示出网页的全过程
  8. 滑动窗口机制的原理和理解
  9. Https 原理和实现
  10. cookie 和 session 的区别是什么

三、操作系统

  1. 进程和线程的区别
  2. 线程是什么呢?
  3. 进程切换与线程切换
  4. Linux 中五种 IO 模型
  5. 如何实现一个同步非阻塞的请求
  6. 实现进程同步的机制有什么
  7. 信号量的实现机制
  8. 共享锁和排他锁
  9. 实现一个读写锁
  10. 设计一个无锁队列
  11. 协程的原理

四、数据库

  1. 索引是什么
  2. 为什么要用 B+ 树(B+ 树的优缺点)
  3. B+索引和哈希索引的区别?
  4. B+ 树中叶子节点间的指针有什么用?
  5. 聚簇和非聚簇索引的区别?
  6. 非聚簇索引的查询都要回表吗?
  7. B+ 树和 AVL 树 B 树二叉搜索树有什么区别?
    五、杂项
    这一部分和项目比较相关。基本上项目中有什么或者面试官想到什么问什么,问了很多但是不通用。就只写一点。
  8. GIL 是什么
  9. 为什么会有?
  10. 有什么作用?
  11. 怎么规避它对于并行的影响?

六、语言相关

  1. Python 的内存管理机制
  2. 讲一下 Python GC 的原理和详细解释(分代,标记回收,内存划分)
  3. Python 中 static_method 、 class_mathod 、和普通 method 有什么区别
  4. 迭代器和生成器有什么区别?
  5. 生成器怎么使用?
发布了182 篇原创文章 · 获赞 33 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_42554191/article/details/104043066