面经 | 字节跳动 后端 (提前批)

2022-04-11 19:04:20 浏览数 (1)

投稿者投的字节的提前批,base上海,因为是内推的,所以没有笔试。三面都是一下午搞定的,之间间隔十几分钟。

一面(50min)

  1. 自我介绍
  2. 数据库隔离级别以及可能出现的问题
  3. MVCC了解过吗 讲了undolog
  4. 数据库常见索引的数据结构
  5. 为什么用B 树而不是B树或者其他
  6. 缓存淘汰算法有哪些? lru,lfu,随机等等
  7. 让你用redis中的数据结构实现lru,你会选择哪种数据结构?
  8. 你写了熟悉多线程,讲一下CountDownLatch
  9. 你刚刚讲了AQS,说说原理
  10. 写一个SQL 两张表,一张Score表,有学生id和分数 另一张表,有学生id,学生名字,学生性别 选出所有女生的成绩,降序排列
  11. 你刚刚写SQL用到了join,讲一下inner join,out join,left join,right join的区别
  12. 手撕代码,给出一个包含记录id,登录时间,登出时间点的日志,类似: { {0,0,5}, {1,0,6}, {2,1,3} } ,求出所有时间点的在线人数,要求时间复杂度O(n)
  13. 你项目里面有一个秒杀项目,分析一下

二面(60min)

  1. 自我介绍
  2. 你项目里面有一个仿写的今日头条,讲一下用户登录如何密码安全 加salt,md5,https
  3. 讲一下https的原理(我居然把这个忘了,当时想抽自己)
  4. 讲一下JVM的垃圾回收算法
  5. 新生代,老年代,是怎么划分的
  6. 数据库的MVCC了解吗 又说到了undo段
  7. 覆盖索引了解吗
  8. 乐观锁和悲观锁的区别
  9. 乐观锁与MVCC区别是什么?
  10. 手撕代码:给一个字符串算式,例如“1 2-3*4”,求出结果,要求能够处理非法字符串
  11. 为刚刚的算法设计一些测试用例
  12. 你的项目用到了zookeeper,介绍一下Zookeeper
  13. 分布式系统的CAP理论了解过吗 一致性,高可用,分区容错性
  14. 这里的一致性和数据库里面的一致性有什么区别?
  15. 你有什么问题?

三面(30min)

面试官应该是个leader大佬

  1. 自我介绍
  2. 你项目有个RPC框架,自己写的还是哪里的项目
  3. 为什么要选择写一个RPC框架?
  4. 讲一下RPC框架有那些组件吧
  5. 现在要给你的RPC添加一个功能,传输文件,可以做到吗?
  6. 如果是一个很大的文件呢? 我说很大的文件可能不适合用RPC来传,单独用文件服务器...
  7. zookeeper应用场景 配置管理啥的
  8. 配置管理为什么用zookeeper,redis也可以呀
  9. 你有一个仿写今日头条网站的项目,说一下如果我要发布一个新闻,经历了哪些步骤,净量详细
  10. 智力题,岛上的人,有红帽子白帽子,各自都不知道自己帽子颜色,知道才能离开,他们知道至少有一个红帽子,问岛上人离开的情况

总结:不知为什么我三面只有30min,没有手撕代码(面试官可能觉得我太菜了,不想多说),还有就是可能因为字节go语言用得比较多,所以java相关的题目比较少,数据库问了很多,面试体验极佳。

0 人点赞