📡
首页
🏢
企业
📚
考试
📖
攻略
📰
日报
👤
我的
校招宝-应届生校园招聘情报站
聚合秋招/春招/实习/提前批
面试真题
技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
771 道
按赛道
技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / 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)
全部题目
771 道 · 点击进入查看参考答案
简单
C++
enum和enum class的区别?
结论:enum class是C++11强类型枚举,比传统enum更安全。核心区别:1.作用域:传统enum枚举量在外层作用域,易冲突;enum class枚举量在类作用域内,需用Enum::Val访问。2.隐式转换:传统…
🎤 字节跳动
简单
C++
explicit` 的作用?
结论:explicit修饰C++构造函数,禁止隐式类型转换。原理:1.单参数构造函数默认允许隐式转换如A a=10;调用构造。2.加explicit后只能显式A a(10);阻止意外转换。3.提升类型安全,避免如bool…
🎤 百度
简单
C++
if/switch中的初始化器
结论:C++17起支持if/switch初始化器,允许在条件前声明并初始化变量,其作用域仅限控制结构内部。原理:语法扩展为if (init; cond)和switch (init; cond),编译器先执行init再判断…
🎤 阿里巴巴
简单
C++
map和unordered_map相关
结论:二者均为关联式键值容器,禁止重复key(multimap允许),主要差异在底层与有序性。核心要点:map以红黑树实现,迭代器遍历得到升序序列,查找稳定O(log n);unordered_map以哈希桶实现,遍历顺…
🎤 腾讯
简单
C++
map可以寻址吗?
结论:map不支持像数组那样的常数时间随机寻址(按整数下标访问),但提供按键查找的operator[]。原理:map底层红黑树节点分散在堆上,内存不连续,仅提供双向迭代器而非随机访问迭代器,因此不能通过索引直接跳转;op…
🎤 Momenta
简单
C++
new和malloc的区别?
结论:new是C++运算符,malloc是C标准库函数,二者在类型、构造、失败处理等方面不同。要点:1.new自动计算所需内存大小并返回对应类型指针,malloc需显式传入字节数且返回void*需强转;2.new分配内存…
🎤 美团
简单
C++
std::sort 使用了哪种排序算法?
结论:std::sort通常实现为内省排序(introsort),混合快速排序、堆排序和插入排序。原理:1. 先以快排递归分区;2. 当递归深度超过2*log2(N)时改用堆排,避免快排最坏O(N^2);3. 数据量小(…
🎤 金山
简单
C++
关键字override,final的作用
结论:C++中override显式标记函数重写基类虚函数,编译器强制检查签名匹配;final修饰类阻止继承,修饰虚函数阻止进一步重写。原理:override是上下文关键字,用于编译期多态检查,若未真正重写则报错;fina…
🎤 腾讯
简单
C++
C++ 编译过程(四个阶段)
结论:C++编译分为预处理、编译、汇编、链接四个阶段。核心要点:预处理处理#指令,展开宏、包含头文件、条件编译,生成.i文件;编译将预处理代码进行词法、语法、语义分析及优化,翻译成汇编代码生成.s文件;汇编把汇编指令逐条…
🎤 百度
简单
C++
vector和array的区别
结论:array是编译期固定大小的栈数组封装,vector是运行时动态大小的堆数组。核心要点:1. 大小:array<T,N>大小N编译确定不可变;vector可动态resize;2. 内存:array通常在栈(或全局区…
🎤 Momenta
简单
Go
1000个 goroutine 进行 IO 处理会发生什么?
结论:Go运行时可高效调度1000个goroutine进行IO,不会阻塞OS线程,资源占用低。核心要点:goroutine轻量(初始栈2KB),创建和切换成本低;网络IO时,goroutine阻塞触发runtime.ne…
🎤 网易
简单
Go
发给10个协程,如何打出升序的数字
结论:通过channel控制协程结果按序输出,避免并发乱序。核心要点:1.启动10个协程并发执行,各自生成数字但完成顺序不确定;2.主协程预建10个channel,协程i向ch[i]发送数字i;主协程按索引0~9依次接收…
🎤 滴滴
简单
Go
讲讲defer关键字
结论:Go中defer用于延迟函数调用,在所在函数返回前按后进先出执行。原理:defer注册函数并拷贝参数压栈,函数return或panic时弹出。场景:资源释放(关文件、解锁)、错误日志;示例:f,_:=os.Open…
🎤 百度
简单
Go
结构体中的tag有什么作用
结论:结构体tag是字段的元信息字符串,主要用于反射场景下的序列化、校验、ORM映射等。原理:以Go为例,tag用反引号附在字段后如`json:"name"`;encoding/json等包通过反射读取tag,决定编码键…
🎤 大华股份
简单
Go
开辟多个写协程向一个channel中写数据 是有序吗?
结论:多个写协程并发向同一个channel写数据,写入顺序不保证有序;channel本身不提供跨协程的写入顺序保证。 要点: - Go channel的发送操作是原子且互斥的,但哪个协程先获得发送机会由调度器决定; - …
🎤 京东
简单
Go
切片的复制过程
结论:切片复制分两种,切片表达式仅复制元数据(浅拷贝),copy函数复制元素值(表层拷贝)。过程:使用copy(dst,src)时,系统取min(len(dst),len(src))个元素,将src对应索引处的元素逐个赋…
🎤 大华股份
简单
Go
切片和数组的区别
结论:数组是固定长度的值类型,切片是动态长度的引用类型。区别:1. 数组长度编译期确定且属于类型([2]int与[3]int不同),赋值传参时整体拷贝;切片长度运行时可变,赋值时仅拷贝切片头。2. 数组在内存中直接连续存…
🎤 百度
简单
Go
如何判断一个结构是否实现了某个接口?
结论:Go接口为隐式实现,判断结构体是否实现接口可用编译期断言或运行时类型断言。核心:1. 编译期检查:在包中声明 var _ MyInterface = (*MyStruct)(nil),若未实现则编译报错;2. 运行…
🎤 大华股份
简单
Go
channel在项目中的4种典型应用
结论:channel典型应用有4种:1.数据传递:主协程与子协程通过chan传值,如go func(){ch<-res}();2.工作池:用任务chan分发,多个worker消费,控制并发,jobs:=make(chan…
🎤 百度
简单
Go
defer的应用场景与defer的执行顺序
结论:defer用于延迟执行,常用于资源释放、异常恢复和退出前操作;执行顺序为后进先出(LIFO)。应用场景:1.关闭文件句柄;2.解锁互斥锁;3.recover捕获panic;4.记录函数耗时。执行顺序:函数内多个de…
🎤 百度
‹ 上一页
第 2 / 39 页
下一页 ›
题目整理自公开面经,答案由校招宝自研生成,仅供参考
首页
企业
考试
攻略
日报
我的