首页 > 笔经面经 > 字节跳动后端开发-四轮面试-校招面经

字节跳动后端开发-四轮面试-校招面经

头像
牛客193686334号
编辑于 2020-07-02 04:37:45 APP内打开
赞 23 | 收藏 131 | 回复10 | 浏览5613

前三轮是暑期实习的面试,连着三天完成。后来加了一轮技术面,进入了秋招提前批,面完第四轮的第二天收到通过的通知。时间隔得有点远,问题可能有遗漏。

一面

  • 自我介绍。

  • 大四的课程多不多?能来实习吗?

  • 介绍项目。

  • TCP 和 UDP 的区别。

  • TIME_WAIT 是什么?

  • TCP 流量控制和拥塞控制。

  • HTTP 包结构。

  • 你提到了 If-Modified-Since,它的作用是什么?这个字段的值如何确定?

  • 知道 Cookie 吗?

  • HTTP 请求方法。

  • 列举 HTTP 状态码。

  • 进程和线程有什么区别?线程共享哪些东西?

  • 进程通信的方式有哪些?

  • 你提到了 Unix Domain Socket,那 Unix Domain Socket 和绑定 localhost 的 Socket 有什么区别?哪个性能更高?

  • C++ 多态的实现。

  • std::shared_ptr 怎么实现?

  • 用过什么数据库?

  • 各个数据库的应用场景。

  • InnoDB 和 MyISAM 的区别。

  • MySQL 索引的作用和实现。

  • 对于 SELECT id, age FROM user WHERE status = 0 and age > 12; 这条语句,怎样建立索引比较好?

  • 编程题:给定一个升序数组 1,元素有重复,对每个元素算一下平方后得到新的数组 2,问数组 2 中不相同的元素共有多少个?给出算法和空间复杂度,要求尽量优化。

    追问:

    1: 是否一定要平方?

    2: 对于 [-13, -13, -13, 17, 17, 17] 这个输入数组,你的解法有什么问题?

二面

  • 自我介绍。

  • 大四的安排。

  • 在你做的项目中,选一个最难的项目进行介绍。(我说没有难的项目,面试官就没有追问。)

  • 对于进程管理这一块,你有什么可以说的?如果一个进程占用了过多时间,怎么办?

  • 对于内存管理这一块,你有什么可以说的?虚拟内存怎么优化?

  • Socket 编程用了哪些系统调用?

  • TCP 的包怎么保证有序性?

  • 用过哪些 MySQL 引擎?

  • InnoDB 和 MyISAM 的区别。

  • MySQL 索引的实现。

  • 在 MySQL 中,怎么知道一条语句是否使用了索引?

  • 如果一条语句的查询关键字包含了索引中的关键字,但是 MySQL 引擎还是没有使用索引,有可能是什么原因?

  • 编程题:给定 m 个不重复字符(如:[a, b, c]),以及一个长度为 n 的字符串 (如:tbbacbctsafsg),问能否在这个字符串中找到一个长度为 m 的连续子串。要求子串由给定的 m 个字符组成,顺序不要求(如:bac)。

    • 我先说了暴力解法,然后想到了一个 O(N) 的解法,但是需要额外的空间。面试官问能不能把空间复杂度降为 O(1),我没想出来,面试官提示说可以用 bitset 代替集合结构。
  • 反问。

三面(HR 面)

  • 入职时间。

  • 实习时长。

  • 对字节跳动的了解。

  • 为什么想加入字节跳动?

  • 对加班的看法。

  • 优点/缺点。

  • 职业规划。

  • 反问。

四面

  • 自我介绍。

  • 主要用什么语言?

  • C++ 虚表是什么?

  • TCP 三次握手和四次挥手。

  • TIME_WAIT 为什么是 2MSL 而不是 1MSL 或者 3MSL?(不知道。)

  • HTTPS 密钥交换的过程。(我只知道 RSA 密钥算法,大概讲了一下过程。)

  • 用过什么数据库?

  • 聚集索引和非聚集索引的区别。

  • MySQL 隔离级别。

  • 脏读和幻读的概念。

  • MySQL 用什么方法解决幻读问题?

  • 用过缓存系统吗?

  • 你的项目有什么亮点吗?(没亮点。)

  • 编程题:现有两个表示正整数的字符串,写一个函数求的两个整数相加的结果对应的字符串。见 LeetCode 415。(我以为这是道热身题,没想到写完这题就结束了。)

  • 反问。

更多模拟面试

10条回帖

回帖
加载中...
话题 回帖

相关热帖

笔经面经近期热帖

热门推荐