字节跳动后端开发一面、二面、三面

一面(大概50min,忘记录音了)

  • 基础知识有点多记得不太清楚了。
  • 介绍一下你的第一个内存池项目。
  • 面试官说他也知道这个内存池,这块儿谈的比较久。
  • 项目是自己完成的吗?为什么要做这个项目?
  • 这个内存池为什么比 malloc 快?malloc底层原理了解吗?
  • 算法题:实现一个链表的插入排序。
  • 最后夸了一下我写的博客,然后反问(大概就是这些了,记不太清楚了,顺便蹭个访问量:https://blog.csdn.net/Adenson 手动微笑)

二面(47min)

  1. 让我对自己的一面进行一个评价。
  2. 你比较熟悉的语言是C++吗,感觉自己掌握的怎么样?
  3. 给了一段代码,问能否编译通过。如果对指针进行++ 操作主要是看什么?
  4. 给了一个结构体,计算它的大小。
  5. 知道为什么要进行内存对齐吗?那你了解禁止左对齐吗?
  6. 你知道二维数组按行逐行访问快还是按列逐列访问快呢?我大概讲了一下然后说你要不再考虑一下?
  7. 你对哪些数据结构和STL容器比较熟悉?
  8. 你了解 vector 的扩容吗?vector 的随机访问的时间复杂度是多少呢?
  9. 说一下STL中的迭代器吧。
  10. 看你的内存池项目还不错,那你介绍一下 你为什么要完成这个项目?
  11. 在高并发中应该涉及到加锁吧?互斥锁说一下吧。
  12. 互斥锁的初值是啥呢?在对锁进行++和–是一个什么样子的呢?它的底层的指令是哪些?底层是如何保证是原子操作的呢?
  13. 你项目中用到了HTTP协议是吧,为什么用到了HTTP协议?
  14. 那为什么传输层要用TCP协议呢?能不能不用HTTP协议而直接用TCP协议进行数据传输?
  15. 你了解什么是信号量吗?在哪里可以用到信号量?
  16. 信号量用于线程间还是进程间?
  17. 说一下进程和线程的区别?task_struct是啥?每个线程都有一个PCB吗?
  18. 如何查找一个目录下的指定文件?如果这个目录下还是有多层级目录如何查找这个文件?
  19. 你说一下***用正则表达式是什么样子的?(这个没听太清楚)你平常没有用过正则表达式吗?
  20. 一个大文件里面有比较多的ip地址?如何统计前k个ip出现的次数?你这样做的时间复杂度是多少?
  21. map的底层的数据结构是什么?时间复杂度是多少?为什么是O(logN)?
  22. 如过那个文件中有10亿个ip地址,并且不能加载到内存当中,那么对上面那个题目进行优化呢?还可以怎么做?
  23. 如果一个小文件里面ip还是出现的次数比较多,仍然不能加载到内存当中应该怎么做呢?
  24. 算法题:打印二叉树的所有路径。
  25. 反问

三面(36min)

  1. 自我介绍。
  2. 看你做了两个项目,这两个项目都是在学校做的吗?
  3. 第一个内存池项目,你是如何解决申请内存的效率问题。是通过什么方案实现的?
  4. 你对C++ 比较熟悉是吗?为什么感兴趣?是因为是学校的课程吗?
  5. 后续你想做哪些方向,是想做底层应用,平台业务还是后台开发?
  6. 算法题①:
    岛屿数量
    给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛。我们只考虑上下左右为相邻。
    岛屿: 相邻陆地可以组成一个岛屿(相邻:上下左右) 判断岛屿个数。
    示例1
    输入
    [[1,1,0,0,0],[0,1,0,1,1],[0,0,0,1,1],[0,0,0,0,0],[0,0,1,1,1]]
    输出
    3
  7. 你知道操作系统中的进程和线程有什么区别吗?
  8. 进程间通信有哪些方法?
  9. 算法题②:实现一个快排。
  10. 那你 说一下快排的思路吧。
  11. HTTP有哪些状态码你知道吗?404你知道吗?
  12. get和post的区别是啥?安全性哪个比较好一点?
  13. 你有用过什么数据库吗?
  14. MySQL有哪些索引你知道吗?
  15. 我看你其实是只想做后端是吗?(我不就是投递的是后端开发吗?一脸懵逼,以为迷路了)
  16. 反问,然后给我介绍一下他的部门是干嘛的。
  17. 我们这里服务端开发主要是以go为主,语言和C++还是比较相似的,你上手的话还可以,服务端的技术栈你下去再了解一下,看你语言还可以。(直到这里我才知道原来我面试的是服务端岗位,可是我投递的是后端,面试链接显示的也是后端,Hr给我打电话来说也是后端。刚开始问我的时候我还一个劲儿的说我喜欢后端,没了没了)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值