📡
首页
🏢
企业
📚
考试
📖
攻略
📰
日报
👤
我的
校招宝-应届生校园招聘情报站
聚合秋招/春招/实习/提前批
面试真题
技术面 + 非技术面高频问题 · 企业真题标题 + 校招宝自研参考答案
面试真题
2508 道
技术岗
641 道
非技术岗
1867 道
当前筛选
19 道
按赛道
技术岗以技术方向细分;非技术岗按「结构化 / 半结构化 / 无领导 / HR / 职能」细分
全部赛道(2508)
技术岗(641)
非技术岗(1867)
按方向/形式
点选即筛,再点「全部」还原
全部(641)
数据库(114)
C++(85)
Go(82)
Java(69)
网络(65)
操作系统(54)
后端(39)
前端(37)
算法(31)
运维(22)
其他(17)
AI算法(13)
大数据(6)
测试(4)
产品(2)
Python(1)
按难度
简单(265)
中等(357)
困难(19)
按企业
点选查看该公司全部题目
百度(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)
技术岗 · 难度:困难
19 道 · 点击进入查看参考答案
困难
AI算法
GEMM(矩阵乘法)优化
结论:GEMM优化核心在提升缓存命中与并行度,常用分块、向量化、多线程。核心要点:1)分块(tiling)将矩阵分小块适配L1/L2缓存,减少访存;2)循环重排与向量化(SIMD)利用CPU向量指令;3)多线程(Open…
🎤 百度
困难
AI算法
GPU算子优化方法
结论:GPU算子优化核心在于隐藏延迟、提高并行度和带宽利用率。关键方法:1. 内存优化:用共享内存缓存频繁数据,合并全局内存访问(连续线程访问连续地址)减少事务;2. 计算优化:循环展开、向量化指令或Tensor Cor…
🎤 百度
困难
AI算法
DPO 和 PPO 的原理与异同?
结论:PPO是基于强化学习的策略优化算法,需奖励模型;DPO是直接偏好优化,绕过奖励模型直接用偏好数据训练。原理与异同:1.PPO:在RLHF中,训练奖励模型拟合人类偏好,Actor生成回答,Critic评估,用clip…
🎤 京东
困难
C++
菱形继承的内存模型,虚拟继承后会怎么样
结论:菱形继承(如B、C继承A,D继承B和C)导致A子对象在D中有两份,引发二义性和空间浪费;虚拟继承使A成为虚基类,D中仅一份A实例。要点:1)非虚拟内存:D对象含B子对象(含A)和C子对象(含A),A成员重复;2)虚…
🎤 网易
困难
C++
内存对齐相关面试题,DPDK无锁队列为例阐述,内存对齐的作用?
结论:内存对齐指变量地址按其对齐系数(如4/8/64字节)存放;DPDK无锁队列中通过对齐缓存行消除伪共享,提升多核性能。作用:1. 硬件约束:部分架构访问未对齐地址触发异常;2. 性能:对齐后单次总线读取,避免拆分成两…
🎤 美团
困难
C++
手撕shared_ptr
结论:shared_ptr通过引用计数实现共享所有权智能指针。核心要点:1)类内含T* ptr和int* cnt(或atomic<int>*);2)构造时cnt=new int(1);3)拷贝构造复制ptr和cnt并(*…
🎤 字节跳动
困难
C++
STL 空间配置器实现原理,malloc中维护了一个内存池,为什么需要基于内存池的空间配置器?
结论:STL空间配置器分两级,一级直接malloc,二级对<128B小块用内存池+自由链表。原理:malloc虽内部有池,但通用分配带元数据开销(如size头、对齐碎片),频繁小分配易碎且慢;二级配置器将小块按8倍数划1…
🎤 拼多多
困难
Go
golang gc 三色标记法
结论:三色标记法是Go并发GC的核心,用黑灰白三色追踪对象可达性。核心要点:1.初始对象全白,根对象(栈、全局)置灰;2.标记过程:取灰对象,其引用子对象变灰,自身变黑,直至无灰;剩余白对象不可达被回收;3.并发标记需写…
🎤 百度
困难
Java
ConcurrentHashMap 源码分析
结论:JDK1.8 ConcurrentHashMap采用数组+链表+红黑树,以CAS+synchronized实现线程安全,取代1.7分段锁。要点:1.结构:table数组,冲突链表转红黑树(阈值8/64)。2.put…
🎤 阿里巴巴
困难
Java
JNI 效率优化怎么做?
结论:JNI效率优化核心在于减少跨语言调用开销、降低数据拷贝、缓存元数据。要点:1) 批量传递数据,合并多次小调用为数组/结构体单次调用;2) 缓存jclass、jfieldID、jmethodID,避免每次JNI调用查…
🎤 阿里巴巴
困难
其他
Bank Conflict优化
结论:Bank Conflict指GPU共享内存多个线程同时访问同一bank导致串行化,降低带宽。优化:1.调整数据布局,如结构体数组转数组结构体;2.添加Padding:在数组行间插无用元素使相邻线程访问不同bank;…
🎤 百度
困难
后端
抖音消息推送架构设计讨论
结论:消息推送架构需支持海量用户实时分发,核心为长连接网关+消息队列解耦。设计要点:1.客户端与接入层维持TCP/WebSocket长连接,心跳保活;2.业务侧产生消息写入Kafka,按用户ID哈希分片;3.推送服务消费…
🎤 百度
困难
后端
介绍一下raft协议
结论:Raft是分布式共识算法,用于多节点间复制日志并保持一致,角色分Leader、Follower、Candidate。原理:1)选举:节点随机超时变为候选者,获多数票成Leader,任期term递增;2)日志复制:L…
🎤 百度
困难
后端
开放性问题,设计微信的海量数据存储系统
结论:微信海量数据存储需分层设计,核心包括消息、关系链、朋友圈、用户资料等,采用分布式存储与缓存结合。 要点: - 消息存储:按用户ID哈希分库分表,采用KV存储(如HBase)或自研,冷热分离; - 关系链:图数据库或…
🎤 腾讯
困难
后端
手撕多线程 Reactor
结论:Reactor模式采用事件驱动,主线程监听新连接并分发给多线程工作池;核心包括EventLoop、Channel、Poller(如epoll)。原理:基于I/O多路复用,主Reactor用epoll_wait获取连…
🎤 腾讯
困难
大数据
4 亿行数据怎么去重?
结论:分治+排序/哈希,或借助分布式框架。核心要点:若内存小,按去重键哈希分片到多个文件,每文件加载进内存用Set去重;或外部排序(多路归并)使相同键相邻后去重;分布式用Spark SQL SELECT DISTINCT…
🎤 阿里巴巴
困难
大数据
如果让你从0到1设计一个数仓全栈,你会怎么设计?
结论:数仓全栈需分层建模、离实时一体与数据治理。思路:1.数据源:业务库Binlog、前端埋点;2.采集:DataX/Sqoop离线,Flink CDC实时;3.存储:HDFS+Hive数仓,Kafka缓冲流;4.计算:…
🎤 阿里巴巴
困难
数据库
跳表怎么做并发的?以RocksDB为例阐述
结论:跳表并发多采用无锁或细粒度锁,RocksDB跳表读无锁、写用原子操作+内存屏障,允许并发读和单写或有限并发写。原理:RocksDB MemTable跳表实现中,查询完全无锁遍历;插入时,从底向上插入,使用std::…
🎤 腾讯
困难
数据库
Redis 和 MySQL 如何保证一致性?
常用Cache Aside Pattern(旁路缓存)保证最终一致:读先缓存未命中读库回写;写先更新MySQL再删Redis缓存(而非更新缓存,避免脏数据)。问题:删缓存失败或并发读写不一致。解决:1.延迟双删(更新库-…
🎤 腾讯
题目整理自公开面经,答案由校招宝自研生成,仅供参考
首页
企业
考试
攻略
日报
我的