腾讯C++秋招面试精华:技术全面梳理
版权申诉
28 浏览量
更新于2024-09-07
收藏 301KB PDF 举报
在2019年的腾讯秋招C++面试经历分享中,面试者详尽地回顾了他们在腾讯一面中的表现。面试内容涉及了广泛的C++技术及系统知识,包括但不限于:
1. **自我介绍**:这是每个面试的开场,展示个人背景、技能和项目经验。
2. **项目展示**:面试者分享了具体的项目经验和优化细节,强调了他们的项目中运用的有限状态机。
3. **服务器架构**:考察了应聘者的系统设计能力,包括GET与POST方法的区别,以及网络通信故障排查方法,如使用Fiddler和tcpdump进行诊断。
4. **I/O多路复用**:通过讨论select与epoll的区别,以及ET模式(Event Trampoline)与LT模式(Level Triggered)的应用场景,展示了对非阻塞IO的理解,以及EPOLLONESHOT的工作原理。
5. **TCP基础知识**:面试者深入讲解了TCP报头、拥塞控制、紧急指针、四次挥手过程(TIME_WAIT状态和CLOSE_WAIT状态)以及解决TIME_WAIT问题的方法。
6. **系统调优**:涉及CPU、I/O和内存调优,以及内存管理中的内部碎片、外部碎片的概念及其解决方案。
7. **进程与线程**:对比了进程间通信的不同方式,如ftok函数,以及进程调度和线程安全的概念,包括各种锁类型(互斥锁、读写锁、自旋锁、递归锁、乐观锁、悲观锁)的使用。
8. **数据结构**:vector与list的区别,以及map与unordered_map的用途和场景,展示了对C++标准库STL的理解。
9. **C++语言特性**:讨论了重载、重写和隐藏的概念,以及这些概念在编程中的应用。
10. **算法与数据结构**:通过图形化的方式解释了深度优先遍历和广度优先遍历,以及分布式文件同步和全局变量初始化顺序的问题。
11. **系统工具**:strace指令的使用,以及strcpy和memcpy的原子性问题。
在腾讯二面中,面试内容更偏向于系统架构和技术理解:
1. **服务器理解**:应聘者被问及对服务器模式(reactor和proactor)的理解。
2. **STL**:对STL内存分配和空间配置器的讨论,以及STL与面向对象编程的联系。
3. **面向对象**:讨论面向对象的优点和引入的原因,以及进程地址空间分布和管理的相关问题。
4. **数据库索引**:分析了B树作为数据库索引结构的选择原因。
5. **面试反馈**:应聘者询问了腾讯的面试流程和部门,了解到自己是COG部门,专注于支付平台的工作。
这次面试全面而深入,涵盖了C++技术、系统架构、并发编程、内存管理和数据库等多方面,充分展示了应聘者的技术实力和对行业知识的掌握程度。
2021-08-30 上传
2021-08-30 上传
2021-08-30 上传
2021-08-30 上传
2021-08-30 上传
2021-04-08 上传
HD2022
- 粉丝: 5
- 资源: 15万+
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍