面试真题

技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
7 道

按赛道技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分

按方向/形式点选即筛,再点「全部」还原

按难度

按企业点选查看该公司全部题目

分类:C++ · 难度:中等 · 企业:腾讯7 道 · 点击进入查看参考答案

中等C++
手撕有界环形队列
结论:用固定数组+头尾索引+计数实现有界环形队列,支持入队出队且满时拒绝。核心要点:1)成员含数组buf、容量cap、头head、尾tail、大小sz;2)入队若sz<cap则buf[tail]=x, tail=(tai…
🎤 腾讯
中等C++
手撕string
结论:手撕string需实现动态字符数组管理,支持构造、拷贝、赋值、析构。核心要点:1)成员char* s、size_t len、cap;2)构造从C串深拷贝并分配cap;3)拷贝构造深拷贝避免浅拷贝悬垂;4)赋值用co…
🎤 腾讯
中等C++
const与static关键字的用法,与this指针的关系
结论:const修饰成员函数承诺不修改对象;static表示类级别共享,无this指针。要点:1.const用法:成员变量初始化后不可变;成员函数尾部加const,函数内不能改非static成员,此时this类型为con…
🎤 腾讯
中等C++
lambda和bind的区别
结论:lambda更现代、可读且易优化,bind用于旧式参数绑定。核心差异:1. 写法:lambda直接写代码块,bind需用std::placeholders重排;2. 捕获:lambda可显式捕获局部变量,bind需…
🎤 腾讯
中等C++
lambda引用捕获的风险
结论:引用捕获不延长变量生命周期,易导致悬空引用和未定义行为。核心风险:1. 返回含引用捕获的lambda,局部变量销毁后调用即悬空;2. 多线程/异步中,原作用域提前结束;3. 循环中用引用捕获循环变量,所有lambd…
🎤 腾讯
中等C++
malloc底层实现以及线程安全
结论:malloc底层常用ptmalloc(glibc),向内核brk/mmap申请堆/匿名映射,分割为内存块管理;线程安全靠arena锁与线程本地tcache。原理:分配器维护fast/small/large bins…
🎤 腾讯
中等C++
malloc是如何分配内存的,free怎么知道该释放多少内存?
结论:malloc从系统申请大块内存池(brk堆或mmap映射)后自行切割;free通过块头部元数据知大小。原理:实际分配时多划出头部(如8字节存size和标志),返回用户指针指向数据区;free将指针前移获头部读siz…
🎤 腾讯
题目整理自公开面经,答案由校招宝自研生成,仅供参考