前言
经过了将近两个月的鏖战,今天终于收到字节的offer了,第一次发帖分享一下自己的面经。
推荐同学们先去找内推投递,当初自己没有注意到这点导致整个过程进行的非常慢,11月末投递的简历到现在才有最终的结果。不过还是要感谢字节能收留hh。
题目之前有记录,现在整理一下发出来。
1面(1小时左右)
- 自我介绍
- 问了问项目
- linux最先启动的3个进程是什么
- Linux文件描述符是什么
- liunx下向文件中添加一条数据都发生了什么
- Hashmap怎么实现的,怎么扩容
- 线程安全的Hashmap有哪些
- volatile的作用
- GC算法有哪些
- 进程间通信的方式
- 哪些通信方式是要陷入内核态的
- redis中list的底层数据结构是什么
- redis怎么恢复数据
- Https的请求过程,越详细越好
- Http2.0有什么特点
- 知道Http3.0吗
- 四次挥手time_wait状态的作用
- 口述怎么寻找海量数据的前100大的数,分不限内存和限制内存,哪种排序算法最快
- 算法题:给出一个整形数组,找出其中最长的山峰的长度,如[2, 1, 3, 7, 6, 4, 5],最长是[1, 3, 7, 6, 4],所以返回5.
- 最后没有反问环节直接说不要离开等二面面试官。
2面 基本上都是数据库的题
- 算法题:求一个整数的平方根,保留3位小数
- SQL题:设计一个地铁的表结构 追问:判断两个地铁站是否在一条地铁线上
- 数据库索引的底层实现 追问:为什么B+树比红黑树要好
- SQL查的慢怎么办
- 怎么让数据库死锁
- 没用到索引的情况有哪些
- 口述怎么查找海量数据中出现次数最多的数据,分不限内存和限制内存。
- 有什么想问面试官的
3面全是算法题
- 开场寒暄
- 3道算法题:
- 合并两个有序数组
- 蛇形输出二叉树
- 找到n个数的全排列的第m个数
- 简单聊聊项目
- 反问环节
4面 team leader面
- 自我介绍
- 聊项目
- 一个很大的文件怎么能快速打开
- 找排序数组中第一个出现的目标数字
- 设计题:汽车摇号的实现
- 反问(表达了自己强烈希望加入字节的愿望和能稳定工作的背景和决心,还把leader逗乐了hh)
- 中间还有些别的问题记不太清了,答的不是很理想。
小计
正常应该是3轮面试,但是HR说中途有调换岗位,所以加了一轮。面试总体感觉是很好的,都是微笑面试,不会很深入的问某个知识点,对答对的问题也会给予积极的肯定。手写算法题每轮都有所以刷题很重要,比如三面全是在考算法题,最后反问面试官哪里需要提高时面试官也说,其他方面对应届生来说没有那么高要求。但无形中自己还是会有压力,所以有些小紧张。今天1月26日发邮件询问HR确认并收到了offer,算是有个好结果了。最后希望大家都能找到心仪的工作!