腾讯 TEG 客户端开发面经:一面看项目和 C++11,二面开始追线程池、Reactor/Proactor 和 socket 细节

这篇腾讯 TEG 客户端开发面经很有代表性,因为它并不是只看客户端表层能力,而是明显把项目、多线程、OS、网络和 C++11 一起压上来了。

一面先从项目和多线程切入,二面继续往:

  • Reactor / Proactor

  • 线程池

  • socket 参数

  • epoll / select / poll

  • map 底层

推进。整体就是很典型的"客户端也要有系统和网络底子"的风格。


校招大礼包获取:入口

可能是至今最全,最好,最实用的校招大礼包,减少信息差,预期漫步无敌的刷提,不如有的放矢,针对性的准备,这样才能有效备考,有了这份资料,不说100%拿到offer,至少帮你提升50%概率拿到offer


这篇面经适合谁看

如果你准备投腾讯 TEG、客户端开发、偏 C++ / 系统 / 网络的研发岗,这篇很有参考价值。

面试流程速览

  • 初试:项目、多线程、OS、C++11、智能指针、链表题

  • 复试:Reactor / Proactor、线程池、socket、HTTP / HTTPS、epoll、死锁、C++11

这条线的重点非常清楚:先看你项目是不是有料,再看你基础能不能跟上。

初试在看什么

初试里最核心的是:

  • 高并发服务端项目

  • 物理内存和虚拟内存

  • 进程 / 线程 / 内存分区

  • 死锁

  • C++11 新特性

  • 右值引用和移动语义

  • 智能指针、循环引用

  • 链表两两反转

这轮说明腾讯客户端岗并不轻,尤其如果你项目里用了多线程,面试官会顺势把 OS 和并发基础全问出来。

复试为什么更偏"网络与框架"

复试的问题包括:

  • Proactor / Reactor 区别

  • 线程池创建、销毁和函数

  • socket 有哪些、函数和参数

  • HTTP 和 HTTPS

  • epoll / select / poll

  • 死锁原因和解决

  • C++11 移动语义

  • map 底层

这轮已经明显开始看:

  • 你是不是能真正做网络和客户端底层开发

  • 你是不是只知道概念,不知道实现细节

从这篇面经里能看出腾讯 TEG 客户端在筛什么

  • 项目中的多线程和并发是否真实

  • 你的 OS、网络和 C++11 基础是否过关

  • 你对 Reactor / Proactor、socket、epoll 是否能讲到实现层

  • 你的链表基础题是否稳

如果你准备这类岗位,这几块要重点补

  • 多线程项目、死锁、虚拟内存、内存分区这条 OS 线补齐。

  • 右值引用、移动语义、智能指针和循环引用这条 C++11 线补透。

  • Reactor / Proactor、线程池、socket、epoll 这些网络框架题别空。

最后提醒

这篇面经说明:客户端岗并不意味着网络和系统就可以不懂,尤其腾讯这类团队会很看底层基础。