字节跳动后端实习生面经

补一下内推码,有意愿自取
字节跳动校招内推码: WHPWRFB
投递链接: https://job.toutiao.com/campus/

社招:
https://job.toutiao.com/s/oHLNAv

------以下是原答案
来还愿了,希望大家都有满意的 offer

一面&二面(3-24,2h)

因为一二面连续面,问题可能会交叉。这些问题是我提取出来的关键词,可能面试官不是直接这么问,你需要理解他想要了解的是什么。

  1. 事务是什么?
  2. 隔离机制,MVCC,又引出了 undo log,幻读
  3. 行锁是如何实现的
  4. I/O 多路复用
  5. 段页式机制
  6. JMM 内存模型
  7. 介绍 Java 中的锁,说了 synchronized 和 Reentrantlock 内部实现和区别
  8. 介绍项目
  9. 算法题:过期键值对的 LRU cache(写的不理想,然后时间差不多了,给了我一次机会)
    图片说明
    大约十分钟后二面

1. TCP、UDP 的区别
2. awk 的用法(问我如何读取日志中的某一行,因为我简历说了会写简单的 shell 脚本)
3. 线程与进程的区别,顺便问了他们各自的通信方式
4. 介绍大数据量数据库应该如何维护(算是个场景题吧?我有点忘了我是怎么回答的了)
5. 数据库查询一行数据的整个内部过程
6. 树的层次遍历,DFS、BFS 的使用场景与区别
7. 项目中是如何重构大查询的
8. 介绍论文做了什么工作(水)
9. 算法题:合并区间

图片说明

三面(原定于 3-30,面试官改为 3-31,50 min)

1. 自己实现一个 hashmap 的思路(说了 Java 的)
2. TCP 三次握手、四次挥手,listen 函数的参数意义(没答出来)
3. 用什么 shell,Linux 一些常用命令
4. redis 为什么这么快
5. GC 算法
6. 一个系统调用的全过程(说了一些皮毛)
7. 在学校实验室干什么(就是一个技术社团),对 C/C++ 了解吗?(写过垃圾贪吃蛇)
8. 幻读,mysql 是如何解决幻读的?
9. git 的使用
10. 单元测试写过吗?(说了一下 SpringBoot 里面的单元测试,但感觉没有回答到他想问的)
11. 项目和数据库知识,哪个比较重要(鬼扯)
12. select、poll、epoll 的区别
13. 数据是如何从己端传输到对端(说了一下 SendFile,四次拷贝,两次系统调用等内容,但是记不太清楚了)
14. 了解 go 的多线程知识吗?(不了解,只知道 go 开发速度等方面具有优势)了解 MongoDB 吗?(不了解,就知道是非关系型数据库)
15. 了解分布式的知识吗?(说了分布式锁,然后他就知道我不了解相关的内容了(确实))
16. 算法题:最大连续子数组和。在调试过程中,面试官一直问我如何调试错误的。可能这一方面能力也很重要,写出了前缀子和的实现方式,又让我简单写了一下 dp 的解法(dp 没有跑数据)
图片说明

四面(4-8 那边说四面面试官调不开时间,推的比较靠后 33min)

我的情况比较特殊,四面还是技术面,来自一个实习生的迷惑,为什么我有四轮技术面?后话是我 4-12 直接就收到 oc 那天晚上收到邮件,所以跳过了 hr 面?emmmm,有点迷。

1. 对什么数据库比较了解?mysql 的事务隔离级别(每一个好像都要问问)
2. 内部的实现方式?后来具体到 InnoDB 内部如何处理,处理流程(把服务端和存储引擎层说了说,说了一下 2pc)
3. 哪些知识掌握比较好?(数据库和网络)
4. 数据库学了那些东西?
5. 网络机制 RDMA 了解吗?(没听过这个名词。。。。)问我了解哪些东西
6. 说一下网络的拥塞控制
7. 操作系统了解吗?
8. 为什么来字节跳动实习?
9. 做了什么准备?刷题了吗?(太真实了,刷题是不可能不刷的,这辈子不可能不刷的)什么感觉?
10. 准备过程中除了压力和心态外,遇到的最大问题
11. 最大的优点和缺点
12. 对工作内容有什么诉求吗?有倾向吗?
13. 算法题:求二叉树的最小公共祖先节点,时间复杂度(指数倍的树高),空间复杂度
14. 如何优化我的这个时间复杂度?(没打开思路,转问我一个场景题)海量节点树的查询(十亿个节点)遍历然后分治,最后用空间优化时间,我说当成满二叉树,利用数学关系来查找。
15. 算法题:Top K(回答堆或快排)让我实现了堆的,最小十个数
16. 有什么想问我的?
17. 实习完之后的计划?

oc(4-12 下午offer call,晚上邮件offer)

问了一下入职时间,说了一下福利等信息,几分钟解决。

总结

我自我介绍说了一下数据库了解多一些,可能问我这方面多一些,四面的 leader 问我的比较宏观,没问什么比较细的,算法题也没让我跑数据。关于字节的面试,有以下几点可以说一下:

1. 我面了几家公司,字节比较看中基础,关于 Java 方面的知识基本没怎么问我
2. 面试官都比较亲切,不会强人所难,不过尽量要会,因为不会很扣分
3. 字节的面试效率和方式我都觉得比较好,所以我觉得体验还不错,就一二面特别紧张,三四面就好很多了
4. 最好有一项拿得出手的,不怕他夺命连环问,另外不会了,也可以往自己擅长地方靠
5. 算法题很重要,我算法准备不怎么充分,做了的几题都有点印象,算是运气了

可以在 hexo 博客简单看看

#字节跳动##实习#
全部评论
楼主研究生吗?
1 回复 分享
发布于 2020-04-24 00:10
请问是哪个部门呀
点赞 回复 分享
发布于 2020-04-23 22:04
楼主这么优秀的吗,阿里云正在招聘暑期实习生,有兴趣吗?https://www.nowcoder.com/discuss/415318 ,有问题欢迎随时交流哈
点赞 回复 分享
发布于 2020-04-24 09:18
好强啊
点赞 回复 分享
发布于 2020-04-24 10:24
请问楼主,关于操作系统的算法题,您之前有没有练习过呢?我大三上OS只学过LRU算法,看到您放的面试里考实现“过期键值对的LRU cache”,我完全没见过😭,然后也不知道怎么补操作系统系列相关的知识。
点赞 回复 分享
发布于 2020-04-27 20:37

相关推荐

12 123 评论
分享
牛客网
牛客企业服务