3.22 字节后台面试
时间顺序
算法题:
1. 相交链表,给两个链表的头指针找交点,两种实现(口述)
令AB为两个头指针,C为共同尾指针
1. 遍历AB,得到A-C长度,得到B-C长度。相减得到差值,统一起点,共同走路,得到交点
2. 遍历AB,得到A-C长度,得到B-C长度。反转A链,再遍历B,此时得到B-A长度。A-C + B-C - B-A = 交点到C长度的两倍
2. 二叉搜索树找第k小(口述)
中序遍历
3. 最长不重复子串(笔试)
滑动窗口
C++:
1. 虚函数是什么
2. 虚函数表是什么,什么时候建立
计网:
1. TCP和UDP区别
2. 拥塞控制和流量控制区别
数据库:
1. 怎么建立索引
2. B树和B+树区别
3. 缓存击穿是什么
4. 怎么避免哈希冲突
#面经##校招##字节跳动##C++工程师#