字节跳动 抖音 后端开发提前批1-3面面经
一面
- 自我介绍
- 强化学习这个项目介绍,接口智能识别
- 操作系统:虚拟内存、物理内存
- 虚拟内存如何映射到物理内存
- 内存管理机制
- 页面置换算法
- lru置换算法实现,数据结构,栈,为什么用栈
- 线程、进程、协程、为什么协程轻量
- 多线程同步的方法
- 输入url以后会发生什么(超详细,每个涉及的底层)
- dns域名解析,用的什么传输协议
- 浏览器与web服务器建立链接
- iso网络七层协议,每层展开讲,超详细
- Tcp 三次握手、序列号、确认号
- 计算机网络寻址的过程
- 算法题:寻找两个正序数组的中位数(O(logk)的时间复杂度)https://leetcode-cn.com/problems/median-of-two-sorted-arrays/
- 做算法题中的提问:各个排序算法的时间复杂度,堆,大顶堆、小顶堆、初始化建堆,heapify、二分
- 一面的算法题没写出最优解,面试官引导了我好久,我还是没写出来,一度以为自己要挂掉,结果第二天收到了二面电话
- 反问
二面
- 自我介绍
- 算法题,两个无序数组找重复元素(空间优的解法、时间优的解法)
- 算法题:快速排序
- 算法题:数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
- https
- http和https的区别,越详细越好
- https的建立会有几次tcp请求
- 两个进程,一个进程向另外一个进程发送tcp断开的请求,然后此进程挂掉,之后会发生什么
- sql:给定学生成绩表,找出各科平均分最高的学生id和平均分
- 一台电脑只能通过交换机给另外一台电脑发消息,交换机不能存储文件,不能分发。问一台电脑如何以最快的速度给n-1台电脑传文件,时间复杂度(1-2-4-6.....)
- 算法题:正整数数组,无序,可能有重复元素, 在数组中找到长度大于1的连续子数组,使得子数组的和为给定数字K的整数倍,然后输出所有满足条件的子数组中长度最短的子数组(可能有多个,都输出)
- 一定是因为我一面的算法题没写好,所以猛出算法题,幸好都撕出来了,然后场景题都好多,不是正规八股
- 反问
三面
- 有几个offer了,还投了哪几家
- 为什么选择互联网
- 为什么在bat都实习过
- 选一个实习中做过的最有成就感的项目讲讲
- dns域名解析,什么时候用udp、tcp,为什么用udp、tcp
- java类加载机制
- 手撕:两个线程交替输出奇偶数
- 手撕:写一个函数,在一秒内此函数的访问次数>1000则输入true,<=1000则为false
- java string “a"+"b" =="ab" 是否正确
- 进程间通信的方式
- 有名管道展开讲
- 有名管道和无名管道的区别
- redis zset底层实现
- 还有其他的八股文我忘了
- 反问
三轮面试的体验都很好,除了第一轮被hard的算法题折磨,太紧张了就写不出来。祈祷一个意向书, 希望明天就能收到意向书
#字节跳动22届提前批面试##面经##校招##字节跳动#