字节客户端暑期实习 C++ 到底问了些啥?
最近帮几个学弟学妹对了一下字节客户端暑期实习的面试反馈,都是 27 届、C++ 方向、一轮技术面。他们聊下来节奏差不多:项目能讲十五分钟左右,中间夹着八股,最后手撕,整场大概一小时。
八股这块有个共同点——不是背一句定义就过,面试官爱接一句「你项目里怎么做的」。手撕有人碰到两数之和,写完会追问复杂度。有的已经收到感谢信,有的还在流程里,题目我按反馈重新组织过表述,和网上原文不会对上字,考点应该是齐的。
- 结合项目说明 std::shared_ptr 的典型使用场景与引用计数释放时机
- shared_ptr 循环引用的产生原因及 weak_ptr 等解决方式
- 进程与线程在地址空间、调度单元、通信方式上的对比
- 进程切换相对线程切换的额外开销来源分析
- 单线程段错误/崩溃对同进程其他线程的影响范围
- TCP 可靠传输的核心机制(序号、确认、重传、流量控制等)
- 基于 TCP 的业务协议如何处理粘包与半包问题
- 项目中工厂设计模式的模块位置及其要解决的扩展点
- 服务端识别客户端异常断线/失联的常用技术方案
- 服务重启后客户端集中重连的流量控制与过载保护设计
- 即时通讯类长连接业务移植移动端时的架构适配要点
- 单机并发连接数受限(如约 8k)时的性能瓶颈定位思路
- gRPC 相对传统 HTTP/REST 接口的技术差异与选型依据
- 【手撕】两数之和:在整数数组中查找和为目标值的两个元素下标
- 【手撕追问】上述算法的时间复杂度、空间复杂度及优化空间
核心大厂开发面试题以及基础八股文资料汇总:
https://www.nowcoder.com/creation/manager/columnDetail/Mq7XWW
顺带写几句给要冲暑期实习的同学,八股怎么准备——也是学弟学妹复盘时聊得最多的。
客户端实习一面,没必要操作系统从头到尾硬背。反馈里出现频率高的就四块:智能指针和循环引用、进程线程和切换、TCP 和粘包断线重连、gRPC 和 HTTP 为啥这么选。每一块最好都能挂到自己项目上讲两句,光背八股文很容易卡壳。
项目要是 IM、聊天室、RPC 这类,断线检测、心跳、重连风暴、连接数上限这几题几乎跑不掉,提前在代码里找到对应实现,比临时编靠谱。没有合适项目的,哪怕写个小长连接 demo,把心跳和拆包跑通,面试也好开口。
手撕暑期一面普遍不难,数组哈希双指针把基础题刷顺,写完主动说复杂度,别等面试官问。学弟学妹里有几位就是八股记得半生不熟,但项目讲得清楚,体验会好很多。