字节跳动 后端开发 一、二、三面 面经
上上周日面试完,现在才整理了一下。
分享一下面经积攒人品。
希望各位也能尽早拿到心仪的offer
算法题
一面:
lc里最长上升子序列的变形题。
实现输入英文单词联想的功能
二面:
矩阵旋转,要求空间复杂度O(1)
无序的数组的中位数。要求时间复杂度尽可能的小
计算机网络
tcp 怎么保证数据包有序
tcp 和 udp 的异同
tcp 怎么保证可靠性
tcp 中 拥塞避免 和 流量控制 机制
tcp 四次挥手的详细解释
四次挥手之后为什么还要等待2msl
浏览器从输入网址到显示出网页的全过程
滑动窗口机制的原理和理解
Https 原理和实现
cookie和session的区别是什么
操作系统
进程和线程的区别
进程切换与线程切换
Linux中五种IO模型
如何实现一个同步非阻塞的请求
实现进程同步的机制有什么
信号量的实现机制
共享锁和排他锁
实现一个读写锁
设计一个无锁队列
协程的原理
数据库
索引是什么
为什么要用B+树(B+树的优缺点)
B+树中叶子节点间的指针有什么用
聚簇和非聚簇索引的区别
非聚簇索引的查询都要回表吗?
B+树 和 AVL树 B树 二叉搜索树有什么区别
where 中 or 和 and 对于索引的使用有什么区别
杂项
这一部分和项目比较相关。基本上项目中有什么或者面试官想到什么问什么问了很多但是不通用。就只写一点。
GIL
是什么
为什么会有
有什么作用
怎么规避它对于并行的影响
语言相关
Python 的 内存 管理 机制
讲一下Python GC的原理和 详细解释(分代,标记回收,内存划分)
Python中static_method 、 class_mathod 、和普通method有什么区别
迭代器和生成器有什么区别
如何构造一个生成器
#字节跳动##面经##校招##Python工程师#