首页 > 字节跳动深圳后端开发实习生面经(四面+hr面 已offer)
头像
venus3221
发布于 2021-08-31 15:47
+ 关注

字节跳动深圳后端开发实习生面经(四面+hr面 已offer)

本人大四,打算保研,准备大四找个实习,就投了个实习试试。
先投的北京的,三面挂了,然后被深圳捞,面了四轮技术面(可能是第二轮技术面表现不好,又加了一面)
前前后后面试了这么多次,花了一个多月,今天终于offer了,哭了😭

一面(45min)

  1. 自我介绍,项目问题

  2. 联合索引是什么,叶子节点存储的是什么,索引下推

  3. 数据库ACID是什么,原子性如何实现,undo log是什么

  4. CAS操作,底层原理是什么

  5. 数据库持久性如何实现,redo log的写入机制

  6. 平衡二叉树和红黑树的区别

  7. redis的五种数据类型

  8. 跳表的结构,一个值在跳表中存几次

  9. 写一个SQL语句,group by的

  10. 最长回文子串

  11. 分析题:连续抛掷硬币,直到最近三次硬币抛掷结果是“正反反”或者“反反正”。如果是前者A获胜;如果是后者B获胜。这个游戏公平吗?

二面(1h)

  1. 自我介绍

  2. TCP建立后,影响传输速率的因素

  3. syn flood

  4. TCP/IP四层结构 传输层为什么需要端口号

  5. 拥塞控制

  6. 传输层使用UDP协议,应用层不同长度的报文到传输层会怎样

  7. Nagle算法

  8. redis数据持久化 RDB和AOF的区别

  9. redis的kv对是如何删除的

  10. 场景题:统计当前活跃的用户数量 bitmap

  11. 算法题:Leetcode567

三面(50min)

  1. 自我介绍

  2. 数据库四种隔离级别,如何查看隔离级别

  3. 悲观锁和乐观锁

  4. undo log和redo log的区别

  5. 进程和线程的区别 结合linux

  6. 如何顺序访问磁盘,如何实现

  7. WAL, LSM TREE了解吗(不知道)

  8. HashMap和HashTable的区别 线程安全

  9. HashMap的底层实现

  10. synchronize的原理

  11. volatile的原理

  12. 指令重排序,happens-before原则,volatile如何防止指令重排序(了解到不深,面试官没有深入问了)

  13. 堆排序的实现,建堆的时间复杂度

  14. 树的遍历方式,层序遍历

  15. Leetcode279 完全平方数

  16. 给定数据表T,字段,id, name, sex,age,city,查询:男性平均年龄最大的前三个城市,和该城市的平均年龄

四面(1h)

  1. 自我介绍,项目问题 restful风格接口 密码加盐

  2. 场景题:两台机器,需要传输大批量的小文件,在网络状况不好的情况下如何设计 从底层谈谈如何建立连接

  3. 如果使用UDP协议,如何保证可靠

  4. fork()函数相关:子进程会复制什么数据 子进程和父进程需要写同一个文件怎么办 子进程会复制父进程的文件描述符吗(这几个问题答的不好)

  5. 智力题:两人轮流取石头,一次性只能拿一个或者拿两个,拿到最后一个石头即可获胜。先手什么情况下能赢(石头数不为3的倍数则先手赢)

  6. 整数开平方,精确到四位小数

  7. 建堆的时间复杂度(上次答错了,这次详细讲了一下)

  8. 算法题:锯齿遍历二叉树

  9. 算法题(说思路):

    1. mxn矩阵,没有障碍,从左上角到右下角的方法数

    2. mxn矩阵,可能有障碍,从左上角到右下角的方法数

    3. mxn矩阵,玩家有一个初始血量,每个格子可能加一滴血或者减一滴血或者不掉血,问是否可以从左上角走到右下角


更多模拟面试

全部评论

(4) 回帖
加载中...
话题 回帖

近期热帖

近期精华帖

热门推荐