
你刷了几十套大厂面经发现考来考去就是那几个核心坑虚表布局、智能指针循环引用、vector 扩容、epoll 的 ET/LT、TCP 的 TIME_WAIT……但问题是不知道哪家爱问哪个、哪个季节更难、双非该怎么排优先级。本篇是问题清单篇只汇总十二家大厂近三年的 C/C 面试真题按「厂」拆开、按「难度」递进、按「季节」标注——只列题目、不写答案。每道题的详解答案后续按厂分篇单独出。先把题目过一遍摸清自己要补哪再逐篇啃答案。一、字节跳动难度 ★★★☆算法权重最高① 基础层C/C 语法、基础数据结构② 进阶层对象模型、内存、STL、OS/网络③ 高难层并发、手撕、设计二、腾讯难度 ★★★★底层深挖最狠① 基础层② 进阶层③ 高难层三、阿里巴巴难度 ★★★★重 JVM 之外的 C 基础 系统设计① 基础层② 进阶层③ 高难层四、美团难度 ★★★☆偏业务落地 工程细节① 基础层② 进阶层③ 高难层五、百度难度 ★★★重算法 搜索/基础架构① 基础层② 进阶层③ 高难层六、华为 / 华为 OD难度 ★★☆重基础广度 机试① 基础层② 进阶层③ 高难层华为偏少OD 机试为主七、京东难度 ★★★偏后台业务 基础① 基础层② 进阶层③ 高难层八、网易难度 ★★★游戏/后台双线① 基础层② 进阶层③ 高难层九、拼多多难度 ★★★★重算法 高并发 抗压① 基础层② 进阶层③ 高难层十、快手难度 ★★★☆短视频后台 算法① 基础层② 进阶层③ 高难层十一、小米难度 ★★★偏嵌入式/手机系统 后台① 基础层② 进阶层③ 高难层十二、滴滴难度 ★★★☆出行后台 算法 地图① 基础层② 进阶层③ 高难层十三、各大厂面试特点横向对比13.1 横向规律值得记住的 5 条十四、在校生与应届生分阶段备考路线14.1 大一/大二上把基础焊死现在–明年14.2 大二下/大三冲底层 做项目14.3 大三下/大四秋招冲刺十五、结语先说清楚数据从哪来、季节怎么标诚实声明来源本文题目来自公开面经聚合——牛客网、面试鸭、CSDN、知乎上 2023–2025 年校招/实习/提前批的 C/C 后端、客户端、音视频、基础架构方向的真实复盘能对应到公开讨论的考点都按「公开面经共识」给出。大厂考点三年高度稳定所以按稳定图谱组织。幸存者偏差面经是「过了/面崩了」的人写的有记忆误差和幸存者偏差不是官方题库用来建立复习靶心不能替代系统啃书《C Primer》《STL 源码剖析》《操作系统概念》《TCP/IP 详解》。季节标注方法论重点大厂校招节奏是提前批7–8 月最难、常考源码/设计→ 秋招主批8–11 月题量最大、底层深挖最多→ 春招/暑期实习3–5 月偏基础项目中等手撕。同一知识点全年都可能出现所以我的标签是「季型」而非伪造具体日期标签含义【秋招·主批】秋招主战场题量最大、底层追问最多【提前批·高难】7–8 月提前批竞争小但难度最高常考系统设计/源码【春招·实习】3–5 月春招与暑期实习偏基础项目中等手撕【四季通用·基础】全年各场都可能出现的基础题一、字节跳动难度 ★★★☆算法权重最高风格手撕代码必考且占比大一面往往直接写题C 基础 STL 操作系统 网络都要二面重项目深挖与系统设计。算法不好基本过不了白板写对 讲清复杂度是硬门槛。① 基础层C/C 语法、基础数据结构【四季通用·基础】static 有几种用法【秋招·主批】const 与 constexpr 区别【春招·实习】C 和 C 的 struct 区别【四季通用·基础】四种 cast 各自何时用【秋招·主批】快排时间复杂度与最坏情况稳定吗② 进阶层对象模型、内存、STL、OS/网络【秋招·主批】虚函数怎么实现vptr 在哪多继承虚表怎么布局【秋招·主批】shared_ptr 引用计数存在哪线程安全吗【秋招·主批】vector 扩容机制哪些操作会使迭代器失效【秋招·主批】内存对齐为什么重要#pragma pack 做什么【秋招·主批】TCP 为什么 TIME_WAIT 是 2MSL太多怎么办【秋招·主批】epoll 的 ET 和 LT 区别ET 下 accept 为何可能丢连接③ 高难层并发、手撕、设计【提前批·高难】手写线程安全单例C11 之后的最优写法。【秋招·主批】手撕 LRU Cacheget/put 都 O(1)。【提前批·高难】TopK 怎么求海量数据内存放不下怎么办【提前批·高难】std::move 到底做了什么右值引用、完美转发是什么【秋招·主批】手写一个简易线程池。二、腾讯难度 ★★★★底层深挖最狠风格「基础扎实 深度挖 项目真实落地」。追问不是「会不会用」而是「底层怎么实现、能不能画图」。后台/游戏/音视频方向对 C 对象模型、内存、网络、并发挖到源码级。① 基础层【四季通用·基础】C 程序的内存布局text/rodata/data/bss/heap/stack各自存什么【秋招·主批】构造函数/析构函数能是虚函数吗为什么【秋招·主批】new/delete 与 malloc/free 的 11 层差异说核心几条。【春招·实习】深拷贝 vs 浅拷贝何时必须自己写拷贝构造② 进阶层【秋招·主批】虚函数表内存布局画出来Base{foo();int x} : Derived{bar();int y} 的对象长什么样【秋招·主批】final 关键字两个作用【秋招·主批】智能指针三重陷阱循环引用怎么破unique_ptr 所有权转移底层怎么实现【秋招·主批】死锁四个必要条件怎么预防【秋招·主批】互斥锁、自旋锁、读写锁、条件变量各自适用场景③ 高难层【提前批·高难】设计一个简易日志库 / 定时器 / 限流器选一。【提前批·高难】内存屏障memory barrier是什么为什么需要【秋招·主批】手写 vector 简易版含扩容、拷贝、移动。【秋招·主批】select/poll/epoll 区别为什么 epoll 高并发下更快【提前批·高难】常见的设计模式单例、工厂、观察者在你们项目怎么用的三、阿里巴巴难度 ★★★★重 JVM 之外的 C 基础 系统设计风格阿里 C 岗如钉钉、淘天、云智能基础软件偏「基础 系统设计 业务场景」。一面基础扎实二面开始怼项目架构和扩展性对 STL 源码、并发、网络要求不比腾讯低但手撕强度略低于字节。① 基础层【四季通用·基础】引用和指针的区别已对比阿里常让你当面说全【秋招·主批】const 成员函数void f() const有什么用【春招·实习】函数重载和重写的区别【秋招·主批】什么是 RAII举一个项目里用的例子。② 进阶层【秋招·主批】unordered_map 哈希冲突怎么处理最坏情况是什么【秋招·主批】什么是移动语义为什么它能提升性能【秋招·主批】C11/14/17/20 你最常用哪些新特性【秋招·主批】什么是内存泄漏C 里怎么系统化避免③ 高难层【提前批·高难】设计一个高并发计数器 / 限流中间件阿里爱问设计。【提前批·高难】std::atomic 能保证什么memory_order 有哪几种【秋招·主批】手撕合并两个有序链表 / 反转链表白板。【秋招·主批】你的项目里怎么处理高并发下的数据共享四、美团难度 ★★★☆偏业务落地 工程细节风格美团到店/外卖/配送的后台 C 岗重「工程能力 业务场景 基础」。手撕中等偏上对 STL、网络、数据库结合问得多喜欢「给你个业务场景怎么设计」。① 基础层【四季通用·基础】sizeof 和 strlen 区别【春招·实习】数组名和指针区别【秋招·主批】宏定义和 inline 函数区别② 进阶层【秋招·主批】vector 和 list 区别已对比什么场景用 deque【秋招·主批】遍历容器时正确删除元素怎么写【秋招·主批】进程间通信有哪些方式【秋招·主批】TCP 拥塞控制知道吗慢启动/拥塞避免/快重传③ 高难层【提前批·高难】设计一个短链系统 / 外卖配送路径缓存业务场景题。【秋招·主批】手撕二叉树层序遍历 / 最近公共祖先LCA。【秋招·主批】MySQL 索引为什么用 B 树和红黑树/哈希比五、百度难度 ★★★重算法 搜索/基础架构风格百度 C 岗搜索、凤巢、基础架构算法占比高、对数据结构与 STL 要求扎实底层追问比腾讯温和但广度不低春招实习相对友好。① 基础层【四季通用·基础】指针数组和数组指针区别【春招·实习】什么是野指针怎么避免【秋招·主批】struct 内存大小怎么算含对齐与位域② 进阶层【秋招·主批】哈希表unordered_map和红黑树map在百度搜索场景怎么选【秋招·主批】什么是迭代器失效vector/map 各举一个例子。【秋招·主批】C 的拷贝优化RVO/NRVO是什么③ 高难层【提前批·高难】海量日志里找出现频率最高的 TopK 个 URL百度经典。【秋招·主批】手写快排 / 堆排并分析稳定性与复杂度。【秋招·主批】手撕无重复字符的最长子串 / 三数之和。六、华为 / 华为 OD难度 ★★☆重基础广度 机试风格华为正式批偏「基础全面 手撕机试多为 LeetCode 简单~中等」对双非相对友好华为 OD外包转全机试占比大3 道编程题面试问得比一线大厂浅但范围广、不深挖。注意华为 OD 简历筛选和机试分数线是硬门槛。① 基础层【四季通用·基础】C 三大特性是什么【春招·实习】new/delete 和 malloc/free 区别华为必问基础【秋招·主批】引用和指针区别华为基础题高频【四季通用·基础】纯虚函数和虚函数区别② 进阶层【秋招·主批】多态怎么实现底层【秋招·主批】shared_ptr 和 unique_ptr 怎么选【秋招·主批】vector 和 list 区别华为常考容器对比【四季通用】const 的常见用法③ 高难层华为偏少OD 机试为主【待验证】OD 机试常见题型字符串处理、哈希计数、模拟、DFS/BFS 简单图。【秋招·主批】怎么避免内存泄漏七、京东难度 ★★★偏后台业务 基础风格京东零售/物流后台 C 岗基础和字节类似但手撕难度略低重视 STL、网络、数据库结合业务对「工程规范、代码可读性」有要求。① 基础层【春招·实习】extern C 是干什么的【四季通用·基础】头文件为什么要加 include guard / #pragma once【秋招·主批】左值、右值、左值引用、右值引用② 进阶层【秋招·主批】string 的 SSO短字符串优化是什么【秋招·主批】map 和 unordered_map 区别已对比【秋招·主批】什么是缓存一致性MESI 了解吗③ 高难层【提前批·高难】设计一个购物车/库存扣减的高并发方案。【秋招·主批】手撕环形链表检测 / 相交链表。【秋招·主批】手撕实现 strStr / 最长回文子串。八、网易难度 ★★★游戏/后台双线风格网易 C 岗分两路游戏雷火/互娱重 C 底层、内存、渲染相关和后台严选/云音乐偏网络/并发。整体基础扎实 一定手撕游戏线对 C 功力要求更高。① 基础层【春招·实习】什么是多态编译期多态和运行期多态分别指什么【四季通用·基础】inline 函数会不会一定被展开【秋招·主批】什么是未定义行为UB举三个例子。② 进阶层【秋招·主批】虚继承解决什么问题代价是什么【秋招·主批】智能指针的引用计数线程安全怎么理解已讲网易游戏线深挖【秋招·主批】std::thread 和 pthread 区别detach 和 join 区别③ 高难层【提前批·高难】游戏里大量小对象子弹/粒子怎么管理内存【秋招·主批】手撕实现一个定长内存池 / 简单的对象池。【秋招·主批】手撕对称的二叉树 / 二叉树的镜像。九、拼多多难度 ★★★★重算法 高并发 抗压风格拼多多 C 岗电商/支付/风控后台以「算法硬 手撕多 问得深」著称面试轮次多、节奏快对 STL 底层、并发、海量数据题要求高是除字节外手撕最狠的厂之一。① 基础层【四季通用·基础】侯捷说的「C 对象模型」你了解多少【秋招·主批】volatile 关键字到底保证什么、不保证什么【春招·实习】什么是 trivial / non-trivial 类型② 进阶层【秋招·主批】shared_ptr 的循环引用具体代码怎么写、怎么破已讲【秋招·主批】vector 扩容时迭代器/指针/引用全失效为什么【秋招·主批】epoll 为什么比 select 适合十万级连接已讲拼多多高并发必问③ 高难层【提前批·高难】10 亿整数找中位数内存限制 1G海量数据去重【秋招·主批】手撕接雨水 / 最大矩形单调栈编辑距离DP【秋招·主批】手撕实现一个线程安全的阻塞队列。【提前批·高难】高并发下如何设计一个秒杀系统拼多多核心业务十、快手难度 ★★★☆短视频后台 算法风格快手 C 岗短视频/推荐/基础设施基础和算法并重手撕中等偏上对网络、存储、分布式概念有要求整体接近美团/百度的难度区间。① 基础层【四季通用·基础】前置 和后置 的区别运算符重载角度【春招·实习】this 指针是什么为什么有时会为空也能调用成员函数② 进阶层【秋招·主批】模板特化和偏特化是什么【秋招·主批】完美转发forward为什么需要引用折叠【秋招·主批】shared_ptr 的 enable_shared_from_this 是干嘛的③ 高难层【提前批·高难】设计一个推荐系统的特征缓存层快手业务。【秋招·主批】手撕最长递增子序列LIS/ 编辑距离。【秋招·主批】手撕K 个一组翻转链表。十一、小米难度 ★★★偏嵌入式/手机系统 后台风格小米 C 岗分手机系统/嵌入式MIUI、澎湃、IoT和互联网后台两路。系统/嵌入式线重 C 底层内存、驱动、跨平台后台线接近京东难度。整体比一线大厂温和对双非友好度较高。① 基础层【春招·实习】C 和 C 在嵌入式里怎么选extern C 在混合编程里干嘛已讲【四季通用·基础】大端小端是什么怎么判断本机字节序② 进阶层【秋招·主批】volatile 在嵌入式里的真实用途【秋招·主批】malloc 在嵌入式里的问题为什么常用内存池③ 高难层【待验证】小米系统线可能问内存碎片怎么排查栈溢出怎么防【秋招·主批】手撕二分查找含边界变体/ 两个有序数组的中位数。十二、滴滴难度 ★★★☆出行后台 算法 地图风格滴滴 C 岗出行/地图/调度后台基础和算法并重地图/空间相关题有特色对 STL、网络、并发要求扎实难度介于美团和字节之间。① 基础层【四季通用·基础】constexpr 和 const 在编译期的区别已讲【春招·实习】什么是命名空间namespaceusing namespace std 为什么不推荐写在头文件② 进阶层【秋招·主批】unordered_map 的 reserve 有什么用rehash 代价【秋招·主批】条件变量为什么必须和互斥锁一起用、且用 while 而非 if 判断③ 高难层【提前批·高难】设计一个司机就近派单的匹配模块滴滴业务。【秋招·主批】手撕滑动窗口最大值单调队列/ 柱状图最大矩形单调栈。【秋招·主批】手撕岛屿数量DFS/BFS/ 朋友圈并查集。十三、各大厂面试特点横向对比大厂整体难度风格标签偏爱考点手撕强度对双非态度字节跳动★★★☆算法为王算法STLOS网络白板写对极高较友好看能力腾讯★★★★底层深挖对象模型/虚表、内存布局、epoll、死锁高偏重基础深度阿里巴巴★★★★基础设计STL 源码、并发、系统设计、业务场景中高看项目落地美团★★★☆业务落地STL、网络、MySQL、业务场景设计中中等友好百度★★★算法广度数据结构、STL、海量数据题高较友好华为/OD★★☆基础机试三大特性、基础容器、机试编程中OD 机试双非最友好京东★★★后台业务STL、网络、高并发业务设计中中等网易★★★游戏/后台双线虚继承、对象池、内存管理中中等拼多多★★★★算法高并发海量数据、并发、STL 底层、秒杀极高看硬实力快手★★★☆算法存储DP/单调栈、模板、shared_from_this中高中等小米★★★嵌入式/后台C 底层、字节序、内存池中双非友好滴滴★★★☆出行地图单调栈/队列、并查集、并发中高中等13.1 横向规律值得记住的 5 条底层是分水岭腾讯/拼多多/阿里把「虚表布局、智能指针计数、vector 扩容、epoll」挖到实现级只会背定义一定被挂字节/百度更看「写对 讲清复杂度」。手撕是硬门槛字节、拼多多手撕最狠中等偏难、当场写对腾讯/阿里手撕中等但会让你「边写边讲为什么」华为 OD 机试是分数门槛。季节差异真实存在提前批7–8 月最难、常考设计/源码秋招主批8–11 月题量最大、底层追问最多春招/实习3–5 月偏基础项目中等手撕是双非性价比最高的窗口。STL 底层是共同高频十二家里十一家都问 vector/map/unordered_map 的底层与复杂度这是性价比最高的复习板块。双非突围靠「深度项目」华为/小米/美团/百度对双非相对友好但都需要你能把某一块讲到比科班生深、且项目能经得起追问。十四、在校生与应届生分阶段备考路线无论你是刚入门的大一大二在校生还是即将秋招的应届生时间窗口都还在。按「先夯实、再深挖、后冲刺」三阶段排14.1 大一/大二上把基础焊死现在–明年啃透 C 对象模型与 STL 源码读《C Primer》打底再读《STL 源码剖析》把 vector/map/unordered_map 底层画出来。数据结构与算法刷穿LeetCode 热题 100 剑指 Offer链表/树/DP/二分/滑窗/单调栈是面试重灾区白板写对是底线。Linux 继续深入掌握虚拟地址/ELF/管道之后下一步补「线程同步、死锁、epoll」正好对接本文并发章节。14.2 大二下/大三冲底层 做项目操作系统与网络系统学《操作系统概念》《TCP/IP 详解》把本文的 epoll/死锁/TCP 从「会答」练到「能画图讲」。这部分恰恰是拉开差距的关键。做一个能讲深的项目推荐自研「轻量线程池 / 网络库 / 简易 Redis」把 RAII、智能指针、epoll、锁都用上面试时经得起追问。开始投实习大二下暑期争取小厂/中厂实习大三上冲大厂暑期实习春招窗口难度低于秋招。14.3 大三下/大四秋招冲刺按厂刷面经提前批冲字节/拼多多拼算法秋招主批广投腾讯/阿里/美团/百度华为 OD/小米作为保底双非友好项。把本文当靶心每张表、每个易混点都能闭眼答 画图手撕题限时写对。本文覆盖的十二家考点就是你的复习地图。诚实定位双非不是死局但「只背八股、项目水」一定挂把某一两块讲到比科班深比泛泛铺广度有用。十五、结语本篇先把十二家的题目清单摆清楚让你一眼看清该复习什么。答案不在本篇——后续会按厂逐篇出详解含每个易混点的答案、手撕题的标准写法、面试官追问角度。具体题→季节的精确对应无法逐条溯源凡我推断处都打了【待验证】面经有幸存者偏差题目清单用于建立复习靶心不能替代系统啃书。如果觉得有用点赞收藏走一波。答案系列我会按厂从字节开始逐篇出评论区告诉我你想先看哪家的答案详解。