【2022秋招】字节跳动后端面经
号外!号外!!字节跳动春招+暑期实习开始啦!!!
快点击我的内推链接,看看有没有你心仪的部门/岗位吧~
内推岗位 👉 https://jobs.toutiao.com/s/L37K3Yr
ps: 也可自行官网投递,输入内推码即可进入内推通道~ 内推码:NQGNF27
pps: 国际化电商业务目前正处于高速发展期,前端/后端等各种岗位均有大量需求,机会多,流程快!期待在这里与你相遇~
更多面经详见:39场面试,我的秋招面经汇总
【商业化技术】一面 (2021.7.21)
- 自我介绍
- 实习多长时间
- 介绍下百度项目
- 消息推送的优化点
- 千万商品库,如何实现小时级更新热销商品top10排行
- 如何处理历史订单,相关大数据处理框架有了解吗
- 基于商品hive表如何处理实现
- 如何理解有边界数据和无边界数据
- 介绍下索引优化case
- 聚簇索引和普通索引的区别
- 没有定义pk的表的聚簇索引是什么
- 可以使用覆盖索引优化的其他场景
- 数据库默认隔离级别
- 可重复读如何实现
- 没有提交redolog会落磁盘吗
- redis基本结构
- zset基本数据结构
- 数量较小时,zset如何查询
- 跳表的理解
- 熟悉的网络I/O模型
- redis的多路复用
- 网络通信中使用的方法
- I/O多路复用涉及的方法
- select/epoll的时间复杂度
- java线程池的基本参数
- 线程池队列为什么选择阻塞队列
- 使用非阻塞队列会有什么问题
- io密集型与cpu密集型线程池如何配置
- 【算法题】最长回文子串
- 反问环节
备注:面试未通过
【data edu】一面(2021.8.9)
- 自我介绍
- 为什么字节没有直接转正
- 未来打算去哪家,留哪里
- 数据库的事务隔离级别
- 如何解决幻读
- 聚簇索引与非聚簇索引区别
- innodb为何使用B+树
- 为何不用跳表
- zset为何使用跳表
- redis持久化有哪些方式
- 两种持久化方式优缺点
- kafka的零拷贝技术原理
- kafka如何做到语义上的exactly once
- 如何保证消息不丢失
- 【算法题】三数之和
- 反问环节
【data edu】二面(2021.8.11)
- 自我介绍
- 聊项目
- go定时器用过吗
- channel如何实现
- 如何理解goroutine
- 如何设置M的数量
- P默认数量是多少
- https的TLS握手过程
- 对称加密的密钥有几组,分别用在什么地方
- http2有哪些改进
- http2的头部压缩原理
- 【算法题】(描述思路)对随机数字进行压缩,压缩目标:
- 无损压缩
- 可在文档中复制
- 压缩比:60个数字压缩到35个左右
- 【算法题】阿拉伯数字转中文
- 反问环节
【data edu】三面(2021.8.18)
- 自我介绍
- 介绍下实习项目
- 有什么想介绍的技术点
- 【设计题】即时聊天工具数据表设计,支持加好友,好友一对一聊天,聊天列表查看,支持群聊
- 【算法题】寻找长度为10的不含重复字符的子串
- 综合评价自己的优势和不足
备注:当晚收到oc,后期因为base地原因拒了
【抖音音乐】终面(2021.10.8)
(通过内推人投递了新部门,对方了解情况后安排了一轮终面)
- 自我介绍
- 【项目】介绍下缓存数据多副本的实现,如何解决一致性问题
- 【项目】分布式锁怎么实现的
- 实现分布式锁的完整命令是什么
- 【项目】介绍下使用zset优化商品展示
- zset怎么实现的
- 跳表是什么原理
- 为什么不用B+树呢
- 【项目】本地缓存是怎么更新的
- etcd怎么保证读到的数据是最新的
- etcd读leader的时候做了什么
- 说下依赖倒置是什么意思
- 知道设计模式其他的原则吗
- 【项目】介绍下字节实习项目中比较有技术含量的部分
- 字节和百度实习有什么异同
- 你觉得在沟通协作过程中有什么要注意的点
- 你怎么看字节的快节奏
- 现在有哪家offer
- 【算法题】给一个数,如何移除一个数字使得剩下的数最小(讲思路即可,类似 leetcode 402. 移掉 K 位数字)
- 【概率题】两个人轮流扔硬币,先扔到正面者赢,先扔的人赢的概率有多大
- 【算法题】leetcode 47. 全排列 II
- 反问环节
【国际化电商】一面(2021.10.26)
(抖音音乐未通过,联系hr换到国际化电商)
- 自我介绍
- 【项目】百度实习过程中做了哪些事情
- 【项目】有遇到过技术上的问题吗,怎么解决的
- 【项目】讲下多副本降低热键访问压力
- 降低热key压力还有其他方法吗
- 【项目】本地缓存机制要解决什么问题呢
- 实习期间遇到过最大的技术挑战是什么
- 讲下常见的排序算法以及时间空间复杂度
- 快排最差的时间复杂度多少,什么场景下会出现
- 堆排序的排序过程能将下吗
- 【算法题】堆的调整过程
- 哈希表的实现原理
- 哈希表里put很多元素,如何优化性能瓶颈
- 常见的进程调度算法有哪些,分别介绍下
- Linux使用CFS的目的是什么呢
- 有了解其他操作系统的调度算法吗
- 怎么衡量进程调度算法的优劣
- 讲下操作系统管理物理内存的机制
- 讲下编译和链接过程中做了什么事
- 【算法题】leetcode 15. 三数之和
- 反问环节
【国际化电商】二面(2021.10.28)
自我介绍
【项目】展开讲一下实习项目中比较有亮点的工作
【项目】了解种植、商品数据,好友互动相关功能
【项目】在字节实习期间主要做了什么工作
讲下对MySQL的了解,比如索引、底层实现机制等
B+树和B树相比有什么区别呢
平时有没有主动考虑过索引的创建
说下redis基础的数据类型
有没有遇到过大key问题
介绍下平时常用过的设计模式
单例模式主要为了解决什么问题
【算法题】给定一组用户的进入/离开直播间的时间元组,计算直播间内的最大同时直播人数,可先给出O(N^2)解法,再优化到O(N)
【国际化电商】三面(2021.11.2)
自我介绍
去百度实习的考虑是什么
能说下什么是restful接口吗
http几种方法对应的语义是什么样的
put和post有什么区别
说下对幂等的理解
什么时候会出现不幂等,举几个例子
为什么往往希望接口是幂等的
讲下对分布式系统cap理论的理解
结合自己使用的redis、kafka讲下它们体现的cap理论
【项目】介绍下配置本地缓存机制、多副本降低热key访问压力
【项目】如何确定副本数量
设计一个方案,自动发现热key并实现多副本访问
如何解决突发的热key
百度和字节实习中在个人使用的技术上有什么不同
对个人职业规划的方向
你怎么理解技术挑战
【设计题】设计实现微信朋友圈的功能,朋友圈发布、查看、点赞、评论等
【设计题】打开算法题页面后,又问了下如何设计实现类似的代码协同编辑的后端系统
【算法题】有一批隔板,其高度用数组表示,相邻两隔板之间距离均为1,隔板本身不占体积,问下了足够多的雨之后,隔板中最多能蓄多少水?
输入:[3,2,5,4,6,2]
输出:18
图示:
| |# #| |#|#| |# #|#|#| |#|#|#|#|#| |#|#|#|#|#|
面试官改了下题目,要求使用内置print输出上述图示(12分钟内完成)
反问环节