📡
首页
🏢
企业
📚
考试
📖
攻略
📰
日报
👤
我的
校招宝-应届生校园招聘情报站
聚合秋招/春招/实习/提前批
面试真题
技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
468 道
按赛道
技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分
全部赛道(2508)
技术岗(641)
非技术岗(1867)
按方向/形式
点选即筛,再点「全部」还原
全部(2508)
求职动机(1737)
数据库(114)
C++(85)
Go(82)
Java(69)
网络(65)
操作系统(54)
后端(39)
前端(37)
算法(31)
银行面试(31)
结构化面试(30)
HR面试(27)
运维(22)
其他(17)
行为面试(14)
AI算法(13)
半结构化面试(12)
情景应变(10)
大数据(6)
测试(4)
无领导小组讨论(3)
自我介绍(3)
产品(2)
Python(1)
按难度
简单(277)
中等(468)
困难(26)
按企业
点选查看该公司全部题目
百度(161)
腾讯(139)
通用(87)
阿里巴巴(62)
网易(55)
京东(49)
中国储备粮管理集团有限公司(43)
字节跳动(34)
大华股份(11)
美团(10)
Momenta(8)
小鹏汽车(8)
深信服(8)
Shopee(7)
小米(7)
拼多多(7)
滴滴(7)
虎牙(6)
读书郎(6)
金山(6)
小红书(5)
快手(5)
搜狐(5)
闪送(5)
难度:中等
468 道 · 点击进入查看参考答案
中等
C++
手撕LRUCache
结论:LRUCache由哈希表+双向链表组成,实现O(1)访问与淘汰。核心要点:1)unordered_map<int, list<pair<int,int>>::iterator>记录key到链表节点迭代器;2)lis…
🎤 字节跳动
中等
C++
手撕ringbuffer
结论:ringbuffer是环形缓冲区,用数组+读写指针高效缓冲字节流。核心要点:1)成员含char buf[N]、读r、写w指针;2)若容量为2幂可用位掩码&替代取模提升性能;3)写入时若剩余空间不足可选择覆盖或阻塞,…
🎤 微软
中等
C++
手撕string
结论:手撕string需实现动态字符数组管理,支持构造、拷贝、赋值、析构。核心要点:1)成员char* s、size_t len、cap;2)构造从C串深拷贝并分配cap;3)拷贝构造深拷贝避免浅拷贝悬垂;4)赋值用co…
🎤 腾讯
中等
C++
手撕weak_ptr
结论:weak_ptr是配合shared_ptr的弱引用智能指针,不增加强引用计数,用于解决循环引用。核心原理:内部持有指向控制块(含强、弱计数)的指针;构造从shared_ptr来,只增弱计数;析构减弱计数;lock(…
🎤 私募机构
中等
C++
为什么要内存对齐?
结论:内存对齐提升CPU访问效率并保证硬件兼容。要点:CPU按字长读取,对齐可单次取数据,未对齐需多次拼接且某些架构(ARM)报错;编译器按最大成员填充padding,如struct{char;int;}占8字节;对比不…
🎤 百度
中等
C++
虚函数表和虚函数表指针的创建时机
结论:虚函数表在编译时创建,虚函数表指针在对象构造时(运行时)设置。要点:虚函数表(vtable)由编译器在编译期为每个有虚函数的类生成静态表,存于只读数据段,存放虚函数地址;虚函数表指针(vptr)在对象实例化调用构造…
🎤 京东
中等
C++
智能指针常见问题
结论:智能指针常见问题有循环引用、线程安全、性能与误用。要点:1.shared_ptr循环引用导致控制块计数不归零内存泄漏,需用weak_ptr打破,如双向链表或父子节点;2.线程安全仅保证引用计数原子,对象本身读写需加…
🎤 百度
中等
C++
智能指针相关面试题,shared_ptr底层实现
结论:shared_ptr底层由一个原生指针和一个指向控制块的指针组成。原理:控制块含强引用计数、弱引用计数、删除器、分配器;对象构造时(或make_shared)分配控制块,强计数初1;拷贝shared_ptr时强计数…
🎤 西山居
中等
C++
atomic应用场景以及五种操作方法
结论:std::atomic提供多线程无锁原子操作,避免数据竞争;应用场景:1.并发计数器;2.线程间标志位(如退出标志);3.无锁栈/队列等结构;五种常用操作:1.store(val)原子写;2.load()原子读;3…
🎤 亚信安全
中等
C++
auto,auto&,auto&& 的作用和区别
结论:auto按值类型推导,auto&为左值引用,auto&&为转发引用(万能引用);核心要点:1.auto声明变量拷贝初始化,忽略顶层const和引用;2.auto&必须绑定左值,可修改原对象且零拷贝;3.auto&&…
🎤 阿里巴巴
中等
C++
C++多继承是什么?有什么问题?怎么解决的?
多继承指一个派生类同时继承多个基类,可组合多类能力。问题:菱形继承引发数据冗余与二义性,如B、C继承A,D继承B和C,D内含两份A成员,访问A成员时产生歧义。解决:采用虚继承(virtual public),使公共基类在…
🎤 字节跳动
中等
C++
C++多态相关
C++多态相关核心是实现机制:虚函数与虚表。基类声明virtual函数,派生类重写(签名一致);每个含虚函数的类有虚函数表(vtable)存函数指针,对象内含虚表指针(vptr)指向所属类vtable。调用虚函数时经vp…
🎤 字节跳动
中等
C++
C++什么时候生成默认的构造函数?
编译器在需要时合成默认构造函数(无参):1.类有虚函数(需初始化vptr);2.有虚继承(需设虚基类指针);3.基类无默认构造或默认不可访问;4.成员对象无默认构造。若用户已定义任意构造函数,编译器不再合成默认版(可用=…
🎤 百度
中等
C++
C++什么时候生成默认拷贝构造函数?
默认拷贝构造在用户未定义且被调用时由编译器合成,执行成员级浅拷贝。触发场景:同类型对象初始化(A a2=a1;)、函数按值传参、返回非引用对象。合成条件:类无用户拷贝构造;若类含虚函数,合成版会正确复制vptr指向同类型…
🎤 大疆
中等
C++
C++中const和static的使用
结论:const表示只读不可修改,static表示静态存储或类级共享,二者常结合。要点:const修饰变量只读,修饰指针分顶层/底层const,修饰成员函数保证不修改对象;static修饰局部变量延长生命周期至程序结束,…
🎤 网易
中等
C++
C++weak_ptr
结论:weak_ptr是弱引用智能指针,配合shared_ptr使用,不增加引用计数,解决循环引用和临时所有权。要点:1.由shared_ptr构造如auto wp=weak_ptr(sp); 2.不拥有对象,不影响生命…
🎤 字节跳动
中等
C++
const与static关键字的用法,与this指针的关系
结论:const修饰成员函数承诺不修改对象;static表示类级别共享,无this指针。要点:1.const用法:成员变量初始化后不可变;成员函数尾部加const,函数内不能改非static成员,此时this类型为con…
🎤 腾讯
中等
C++
extern的作用,为什么要用extern“C”,extern变量在哪个数据段?
结论:extern用于声明外部链接的变量或函数,表明其定义在其他编译单元;extern "C"指示C++编译器按C语言规则编译链接,避免名称修饰导致符号不匹配;extern全局变量根据是否初始化分别存于.data或.bs…
🎤 虎牙
中等
C++
lambda 表达式底层实现原理
结论:lambda底层被编译器翻译成重载operator()的匿名闭包类。核心要点:1. 编译器为每个lambda生成唯一类,捕获变量成为该类成员变量;2. 按值捕获通过拷贝构造存入,按引用捕获存引用;3. 无捕获lam…
🎤 虎牙
中等
C++
lambda和bind的区别
结论:lambda更现代、可读且易优化,bind用于旧式参数绑定。核心差异:1. 写法:lambda直接写代码块,bind需用std::placeholders重排;2. 捕获:lambda可显式捕获局部变量,bind需…
🎤 腾讯
‹ 上一页
第 2 / 24 页
下一页 ›
题目整理自公开面经,答案由校招宝自研生成,仅供参考
首页
企业
考试
攻略
日报
我的