字节跳动后端开发-暑期实习 已OC及PingCAP面经
字节跳动 Data-抖音/直播/剪映团队-后端
2022.03.09 一面
(这个不是自己投的,HR 在牛客上捞的,我就想面一下试试好了)
项目部分
- 自我介绍
- 简单介绍一下最近参加的项目
- 为什么会选择这个项目
- 讲一下你是怎么设计 API 的,有什么原则
- 讲一下你是怎么使用 valgrind 检测内存泄漏并修复的
八股文部分
- 讲一下堆和栈的区别
- 函数内的非 static 对象在内存的哪个位置
- 一般的 static 对象在内存的哪个位置
- 如何避免内存泄漏、空指针、越界访问等问题
- 介绍一下 C++ 中的智能指针
- 讲一下
new
和malloc
的区别 new
和malloc
分配内存出错各自会返回什么delete []
怎么知道要销毁多少内存空间- 介绍一下面向对象的基本特征
- 重载和重写的区别
- 有用过 Redis 和 MySQL 之类的中间件吗
- 讲一下 TCP 的三次握手和四次挥手
- 为什么需要三次握手和四次握手(而不是两次 / 三次)
- 挂起的链接过多会有什么影响,应该怎么处理
- 你会怎么设置 timeout 时间
算法部分
- 剑指 Offer 40. 最小的 k 个数 变形:最大的 k 个数
后端开发工程师-系统架构
2022.03.11 一面
(03.09 那个面完马上就出结果挂掉了,然后就投了这个组)
闲聊
- 自我介绍
- 你是考研还是保研
- 为什么选择上海,是比较喜欢上海吗
- 第一次考研就选择了现在的学校吗
- 只考虑上海的工作吗,北京的工作会考虑吗
- 最近的项目也结束快半年了,最近在做什么
项目部分
- 问了下实验室项目及研究方法之类的,此处省略
- 需要发小论文吗
- 介绍一下之前参与的项目,代码都合并了吗?
八股文部分
- 介绍一下 TCP / IP 七层模型
- 你抓包的时候有见到过 RARP 的包吗
- 你觉得为什么会比较少
- 如果是交换机呢,交换机怎么知道哪个 IP 对应哪个 MAC
- Linux 内核默认 TCP timeout 时间
- 你确定这么久吗,在哪里看的
- 你平时怎么确定 TCP 有没有丢包
- 确定
iftop
可以看丢包吗
算法部分
反问及闲聊
- Q: 面试官你们组主要是做什么的
- A: 设计高速网络通信协议的
2022.03.15 二面
项目部分
- 自我介绍
- 介绍一下参与的项目
- 介绍一下项目中印象比较深刻的部分
- QEMU 在做 live migrate 的时候 libvirt 负责到了哪一部分,你有了解过吗
- 省略一部分详细聊项目内容
- 你现在是研几?有读博打算吗
算法部分
反问及闲聊
- Q: 面试官你们组是会做虚拟化相关的吗?
- A: 不完全是,[此处省略很多字]
- Q: 平常会用到 eBPF 或者 XDP 这些技术吗?
- A: 会,[此处省略很多字]
- Q: 有考虑过使用 Rust 进行 RDMA 相关的开发吗?
- A: 目前还是主要以 C/C++ 为主,也会用到 Go,脚本会用 Shell 和 Python,语言终究只是一个工具不是目的,如果你感兴趣的话也可以用 Rust 去实现一些东西,这也是可以的
2022.03.22 三面
项目部分
- 自我介绍
- 讲一下你觉得做得最好的项目
- 问了下项目相关的问题,此处省略
- 如何保证你在项目中实现代码的正确性
- 遇到的困难
- 有做过网络相关的项目吗
八股文部分
- 如何保证 TCP 传输的可靠性
- 说一下你了解的数据中心中会用到的网络技术
- 用过 socket 编程吗
- UDP 会不会出现只收到一部分数据的情况,TCP 呢
- 如果用 TCP 发送 4MiB 的内容会经历哪些过程
- 你觉得设计 MSS 和 MTU 大小时要注意什么
- 假如交换机和服务器设置的 MTU 不一样会怎么样
算法部分
- 236. 二叉树的最近公共祖先(整个阶段一直在考虑结点不在树中的情况,把自己绕进去了,一开始忘了递归调用,面试官提醒后改了,但还是有其它问题,面试官也很耐心地和我讨论哪里有问题并给提示,但我一直在考虑结点不在树中的情况,觉得面试官的思路有点问题,然后就尬住了,但还好最后写出来了)
2022.03.28 HR 面
2022.04.06 OC
面试官都很非常友好,面试体验很不错,HR 也很负责很耐心。
PingCAP 测试平台开发实习生
2022.03.28 一面
项目部分
- 自我介绍
- 你觉得哪个项目是你觉得做得最好的(现场打开 GitHub 看代码)
- 讲一下单元测试和集成测试的区别
- 介绍一下你觉得 C++ 和 JavaScript 设计上的区别
八股文部分
malloc
分配内存用到的系统调用- 协程有用过吗(没用过,但简单讲了下概念)
- 讲一下锁的种类
- 自旋锁需要操作系统满足什么特性
- 加锁和轮询需要满足什么性质
- 从下往上介绍一下网络层次模型
- 你有没有觉得 UDP 和 IP 的功能有所重复,说一下 UDP 在 IP 的基础上额外实现了什么
- HTTP/2 了解过吗
- 有没有听说过队首拥塞问题
- 你觉得应该怎么解决队首拥塞问题
- 讲一下 TCP 三次握手
- 你觉得三次握手有什么问题
- 怎么解决 SYN Flood(Ban IP 之类的)
- 怎么设计一个新协议解决 SYN Flood(给了提示,想了半天才答出来用 Cookie)
- 如果两个同事分别觉得他们的思路对客户更好,能让客户更好地利用系统,你会怎么做
- 在设计一个大的系统时,分工协作过程中你认为什么最重要
- 给你 4T,40T,4000T 的数据你怎么排序
- 如果我要做分布式排序,最重要的是先搭建什么平台
算法部分
PingCAP 的面试官也很 nice,如果没回答出来或者答错了会告诉你答案,整个问答的过程也会让你明白有些东西为什么会设计成现在的这样
#字节跳动实习##字节跳动##面经##PingCAP#