面试真题

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

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

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

按难度

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

企业:字节跳动34 道 · 点击进入查看参考答案

中等Go
panic与匿名函数的异常捕获和处理
结论:Go中panic触发运行时错误导致程序终止,可通过在defer中调用recover结合匿名函数捕获处理。原理:panic会中断当前函数执行,沿调用栈向上抛出,执行延迟调用(defer);若在defer函数(常写为匿…
🎤 字节跳动
中等后端
如何设计一个朋友圈
核心要点:1.功能包括发布动态、好友Feed流、点赞评论;2.采用推拉结合Feed模型;3.存储分层与缓存加速。结构化方案:关系链服务维护好友列表(MySQL关系表);动态服务处理发布,写动态至数据库(MySQL分表或M…
🎤 字节跳动
中等操作系统
读写锁是怎么实现的
结论:读写锁采用状态拆分与等待队列实现读共享、写独占。核心要点:1. 用一个原子变量记录状态,如高位存读线程数、低位存写锁标志;2. 读锁获取时若无写者则CAS增加读计数,可重入;3. 写锁获取时CAS抢占写标志并自旋等…
🎤 字节跳动
中等数据库
10万条数据分页查询优化方案
结论:避免LIMIT大偏移,改用索引覆盖和游标分页。核心要点:原SQL SELECT * FROM t LIMIT 100000,10会扫描10万行再丢,慢;优化1:子查询定位主键 SELECT * FROM t WHE…
🎤 字节跳动
中等数据库
Redis自旋锁如何实现?
结论:利用Redis单线程原子命令SET key value NX PX timeout加锁,获取锁失败则循环重试(自旋),并设置过期时间防死锁。原理:加锁使用SET lock:resource uuid NX PX 3…
🎤 字节跳动
中等数据库
Redis如何实现分布式锁?除了setnx还有其他方法吗?
结论:Redis分布式锁常用SETNX,但有其他更优方法;除SETNX外,推荐SET key value NX PX milliseconds原子命令(Redis 2.6+)避免非原子加过期导致死锁;Redlock算法基…
🎤 字节跳动
中等求职动机通用
你为什么选择字节跳动?
【面试官真正在听什么】不是「你了解我们」,而是「你和我有什么关系」。这道题必须出现**你自己的经历**,公司信息只是用来证明你做过功课。 【字节跳动 侧可引用的客观信息(请用自己的话改写,不要照读官网/简介)】 · 字节…
🎤 字节跳动
中等算法
算法 给前序遍历和中序遍历还原二叉树
结论:给定前序遍历(根左右)和中序遍历(左根右),可唯一还原二叉树。核心要点:前序首元素为根节点;在中序中找到根位置,左侧为左子树中序,右侧为右子树中序;根据左子树节点数在前序中划分左右子树前序;递归构建左右子树。优化:…
🎤 字节跳动
中等算法
算法 求字符串位置
结论:求字符串位置通常指子串查找(如实现strStr),返回模式串在主串中首次出现的起始索引,无则返回-1;推荐KMP算法。核心要点:暴力匹配O(n*m)易超时;KMP通过预处理模式串得到next数组(最长公共前后缀长度…
🎤 字节跳动
中等算法
算法 求最长回文子串
结论:最长回文子串可用中心扩展法(O(n^2))或Manacher算法(O(n))。核心要点:中心扩展以每个字符及两字符间隙为中心,向左右扩直至不匹配,记录最大长度及起点;需分别处理奇数(中心1字符)和偶数(中心2相同字…
🎤 字节跳动
中等算法
算法 蛇形遍历二叉树
结论:使用BFS按层遍历二叉树,根据层数奇偶决定该层节点值的收集顺序实现蛇形(之字形)输出。核心要点:1) 用队列进行广度优先搜索,每层先记录队列大小size;2) 将当前层节点值取出放入临时列表,若当前层数为奇数(根层…
🎤 字节跳动
中等算法
算法 最长公共序列
结论:最长公共序列(LCS)用动态规划求解,状态转移依据字符是否相等。核心要点:定义dp[i][j]为串A前i个与串B前j个字符的LCS长度;若A[i-1]==B[j-1]则dp[i][j]=dp[i-1][j-1]+1…
🎤 字节跳动
中等网络
48小时内完成一个基于TCP实现一个简单的网络协议
结论:定义长度前缀协议,用socket编程实现收发与并发,解决粘包。核心要点:协议设计:魔数(4B)+长度(4B)+payload,或简单LEN:data;步骤:1.确定功能(如echo);2.选语言(Go/Python…
🎤 字节跳动
困难C++
手撕shared_ptr
结论:shared_ptr通过引用计数实现共享所有权智能指针。核心要点:1)类内含T* ptr和int* cnt(或atomic<int>*);2)构造时cnt=new int(1);3)拷贝构造复制ptr和cnt并(*…
🎤 字节跳动
‹ 上一页第 2 / 2 页
题目整理自公开面经,答案由校招宝自研生成,仅供参考