📡
首页
🏢
企业
📚
考试
📖
攻略
📰
日报
👤
我的
校招宝-应届生校园招聘情报站
聚合秋招/春招/实习/提前批
面试真题
技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
161 道
按赛道
技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / 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)
按难度
简单(69)
中等(86)
困难(6)
按企业
点选查看该公司全部题目
百度(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)
企业:百度
161 道 · 点击进入查看参考答案
中等
C++
double 转 int64 用 `reinterpret_cast` 和 `static_cast` 区别
结论:static_cast做数值类型转换(截断小数),reinterpret_cast仅重新解释比特模式不做数值转换。区别:1.static_cast<int64_t>(d)将double值3.14转为int64_t的…
🎤 百度
中等
Go
切片不断append是如何给它分配内存的,具体扩容规则是怎样的
结论:append在容量不足时触发扩容,向系统申请新内存并拷贝原数据。具体规则:当原切片容量oldCap<1024时,新容量newCap翻倍(oldCap*2);当oldCap>=1024时,newCap按1.25倍增长…
🎤 百度
中等
Go
Channel的底层结构与数据的收发流程
结论:Go channel底层是hchan结构体,收发流程依赖缓冲区和等待队列。核心结构:hchan含buf环形队列(dataqsiz大小)、sendx/recvx索引、recvq/sendq等待队列(sudog链表)、…
🎤 百度
中等
Go
channel的用途和使用上要注意的4个点以及底层结构
结论:channel用于goroutine通信与同步;使用注意4点:1.向已关闭channel写会panic;2.从关闭channel读立即返回零值且ok=false;3.nil channel读写永久阻塞,常用于sel…
🎤 百度
中等
Go
Go 泛型
结论:Go自1.18起支持泛型,通过类型参数实现编译期多态。核心要点:使用[type T Constraint]语法定义类型参数;约束由接口描述,如comparable或自定义接口;泛型函数/结构体可安全操作多种类型,避…
🎤 百度
中等
Go
Go 最新特性
结论:近年Go重要特性包括泛型(1.18)、模糊测试(1.18)、工作区(1.18)、loopvar每轮新变量(1.22)、内置clear/min/max(1.21)、结构化日志slog(1.21)等。核心要点:泛型提升…
🎤 百度
中等
Go
Go channel
结论:channel是Go并发通信原语,基于CSP模型,用于goroutine间安全传递数据。核心要点:hchan结构体含缓冲队列、互斥锁、等待队列;无缓冲channel要求收发双方就绪(同步),有缓冲则异步直到满/空;…
🎤 百度
中等
Go
Go context
结论:context用于跨goroutine传递取消信号、超时和请求域键值,管理生命周期。核心要点:Context接口含Done()<-chan struct{}、Err()、Deadline()、Value(key);…
🎤 百度
中等
Go
Go select
结论:select用于监听多个channel的读写,实现多路复用。核心要点:每个case对应一个通信操作;随机选择可运行case;无default且均阻塞时等待;可配合time.After超时。原理:编译器将select…
🎤 百度
中等
Go
go的并发编程如何避免死锁?
结论:避免死锁需确保channel操作有配对、加锁顺序一致、select超时、避免协程泄露。核心要点:1)无缓冲channel读写需另一协程接应;2)多锁按固定顺序获取;3)select加default或time.Aft…
🎤 百度
中等
Go
go怎样在并发编程下等待多个协程的结束,Add和wait的底层实现是怎样的
结论:用sync.WaitGroup等待多协程结束,Add增计数,Done减一,Wait阻塞至零。核心要点:内部noCopy、state1含counter、waiter、信号量;Add原子增counter;Done调Ad…
🎤 百度
中等
Go
golang GMP模型 Work Stealing偷多少?
结论:GMP模型中,当P本地队列空时,会从其他随机P偷取约一半的G。核心要点:1.GMP:G协程、M内核线程、P逻辑处理器,每个P有本地运行队列(数组最大256);2.工作窃取:P本地无G时,先查全局队列,再随机选其他P…
🎤 百度
中等
Go
golang程序启动时发生什么
结论:Go程序启动历经汇编引导、运行时初始化、调度器启动,最终执行main函数。核心要点:1.入口为runtime.rt0_go汇编,设置栈、解析参数;2.调用runtime.osinit获取CPU数等,runtime.…
🎤 百度
中等
Go
Map并发安全吗,如果是sync.map,它是如何保证并发安全?
结论:原生map非并发安全,并发读写会panic;sync.Map通过读写分离+原子操作保证安全。核心要点:1.原生map检测并发写冲突直接fatal error; 2.sync.Map结构含read(atomic.Va…
🎤 百度
中等
Go
map手动加锁与Sync.Map的区别
结论:手动加锁(map+Mutex)通用但读写均需锁;Sync.Map专为读多写少优化,读无锁。核心差异:1.锁粒度:手动锁全局互斥,Sync.Map用原子读+脏锁;2.适用场景:手动锁适合写频繁或需复合操作,Sync.…
🎤 百度
中等
Go
map在什么时候触发扩容
结论:Go map在负载因子超过6.5或溢出桶数量过多时触发扩容。核心要点:1.负载因子=元素数/桶数,插入后count > 6.5*桶数则翻倍扩容;2.溢出桶过多(如溢出桶数>=桶数且达阈值)触发等量扩容(整理碎片);…
🎤 百度
中等
Go
用Golang的channel实现并发控制,两个goroutine交替打印奇偶数
结论:用两个channel实现信号同步,使两goroutine交替打印。核心:创建ch1,ch2,goroutine A收ch1打印奇数后向ch2发信号,B收ch2打印偶数后向ch1发信号,主协程先触发ch1。示例:ch…
🎤 百度
中等
Java
@Transactional` 注解的原理?
结论:@Transactional基于Spring AOP和代理机制实现声明式事务。要点:1.原理:Spring容器扫描该注解,为Bean创建代理(JDK动态代理或CGLIB),在方法调用前通过TransactionIn…
🎤 百度
中等
Java
手撕定时器实现
结论:基于优先队列(最小堆)和单线程轮询实现简单定时器。核心要点:1. 定义任务类包含执行时间戳和执行体Runnable;2. 用PriorityQueue按执行时间升序排序;3. 工作线程循环:取堆顶,若队列空则wai…
🎤 百度
中等
Java
hashmap底层原理,有哪些线程安全的map
结论:HashMap底层为数组+链表+红黑树,线程安全Map有Hashtable、Collections.synchronizedMap、ConcurrentHashMap。原理:HashMap对key的hashCode…
🎤 百度
‹ 上一页
第 5 / 9 页
下一页 ›
查看「百度」全部在招岗位与笔面经 ›
题目整理自公开面经,答案由校招宝自研生成,仅供参考
首页
企业
考试
攻略
日报
我的