字节跳动 后端 实习 12.10 一二面 面经(已 oc)

字节 后端 实习 面经

背景

一面 12.10.16-05 约 60 mins

原本约的四点面试,面试官迟到五分钟开始。

  1. 自我介绍,聊到转专业,课程上学了计网、数据库等,数据结构正在学所以学的一般。然后开始提问。
  2. (项目出现异步)异步是什么?:我说,那我扯远点从协程开始说起吧...然后讲了一遍协程线程进程三者区别和特点和应用的场景(协程用在 I/O 频繁 balabala)。
  3. 然后问我学过计网吧,开始问 TCP 三握四挥:然后答了一遍。
  4. 细问 time_wait 在哪个阶段:我说第三次挥手客户端。
  5. 为什么需要三次握手,两次行不行?:不行,两次的话服务器无法知道自己的发能力是否正常,也不知道客户端收的能力是否正常,没办法信任客户端所以不行。
  6. 说一下 TCP 和 UDP 区别:一个一对一,一个一对多;一个面向连接,一个不是;一个需要三握四挥可靠一个不可靠;【这里漏了两点:一个面向报文,一个面向字节流;一个首部 8 字节,一个首部 20~60 字节】。然后因为辛辛苦苦背了好多 QUIC 的知识,于是在这里由提了 QUIC 相比于 TCP 和 UDP 协议的改进。
  7. 然后开始问 TCP 拥塞控制的方法:【这里寄了,只想起一个滑动窗口协议(并不对),然后说记不清了】。
  8. 然后问慢启动的细节:寄了,忘了。
  9. 计网问到这里,开始问操作系统。你知道多进程和多线程的特点和区别吗?:进程要分配 PCB 和一大堆资源,比较慢,线程依托于进程的资源,无需分配太多资源,线程切换开销小,且其为 CPU 调度的基本单位,所以理论上多进程没有多线程快。
  10. 说到进程,你知道哪些进程调度算法?:常用时间片轮转;还有 FIFO 什么的,记不清了。
  11. 时间片轮转有啥缺点:需要频繁中断进程重新调度,切换开销大,会吃掉一大批系统资源。
  12. 学过数据库是吧?写到 SQL 题 【从一个表中筛选出所有 name 字段出现两次以上的数据】:寄了,不会,说写后端用 ORM 比较多,没怎么手写过 SQL...
  13. OK,那你知道 mysql 三个引擎是什么吗?:默认 myIASM,不支持事务,只支持表级锁;MEMORY,在内存,除了快没啥优点;Innodb,最常用的,支持 ACID,支持事务,支持行级锁。
  14. mysql CHAR VARCHAR 有啥区别:CHAR 定长,即便小于也会填充为这个长度,VARCHAR 不定长,会按最大预分配内存空间并且有一个字节存长度。
  15. 写题:
    给一个数组,以及一个数:如 [1, 3, 4, 3, 9, 1], k = 12, 返回其中最短的大于等于 k 的子数组。若无满足条件则返回 0
    Input: 
    [1, 3, 4, 3, 9, 1]
    12
    Output:
    2 // 因为最短的是 [3, 9] 长度 2

很怪的写出来,之后有空说下思路。

结束。

面试官人很好,面试体验很好。我 滑动窗口 没说出来,SQL 没写出来,写题花了小半个小时...

结束后感觉终于解放啦!正准备出去吃饭出去浪结果接到 HR 电话:很高兴通知您一面通过啦,刚好二面面试官有时间,请问有时间继续面吗?

那就继续面吧...

二面 12.10.16-20 约 60 mins

  1. 问项目,看到有开源项目于是问了一下社区有几个核心开发者(200+ 吧),项目有几个维护者(主要是我,还有我 mentor)
  2. 你说你是转专业的,那你是怎么抽时间做这些竞赛开源的?:转专业后就不重视绩点了,非专业相关课也不怎么听了,然后大二选了一堆课,所以大三有很多时间做这些。
  3. 那你一般花多少时间做开源:假期的一般,开学后的话周末抽一天。
  4. 问另一个后端项目,是全程跟进对吧,说一下做了哪些工作(结合项目说了说),有哪些挑战(一个是需求方理不清需求,然后花了很多时间帮他们理需求,一个是后期用消息队列折腾了半天 docker 和 redis【本来背了好久 redis 结果两次面试一点没提...】)
  5. 写题:Leetcode 160. 相交链表 【上来就起手式造测试样例了,面试官:??你先跟我讲一下思路,我:啊好...就是遍历两棵树用 hashmap 确定重复的然后输出...】 面试官努力引导我去优化空间,但是恕我愚钝属实没啥优化思路...反正是写出来了...(辛苦面试官了 ORZ
  6. 输入一个 url 会发生啥:从浏览器解析到缓存到 DNS 到 TCP 到 TLS(因为背了半天一直没问很绝望所以甚至把 CA 怎么认证发数字证书都讲了一遍) 到 DOM 数渲染...然后 TCP 挥手结束。
  7. 稍微问了一下 TSL 为什么后面用对称加密:因为对称加密性能好。
  8. GET / POST 区别:长度(只有 IE 有限制);一个快(发一个 TCP)一个慢(发俩 TCP)【这里漏掉了 get 仅支持 ascii 码字符集,post 支持 iso-xxx 字符集】
  9. 智力题:9 颗糖分给 10 个不同的人,有集中分法:除了暴力求没想到别的方法,面试官努力引导我失败...
  10. 最近看过哪些技术书:因为投的仓促,最近准备面试,本来想看《编码》没看成。然后问对你影响最大的技术文章/书,我说最近最震撼的好像是 Linux 源码...然后是蚂蚁一篇关于 QUIC 落地实践的文章和美团技术团队的一篇关于 CSRF 攻击的文章。

时间到,面试结束,最后面试官:最近两三天 HR 会联系你【大概是过了吧】

总结

两面都没有反问,本来准备了几个问题都没机会问...

从两个星期前的周五忽然被内推开始准备,整整肝了俩星期面经+lc...本来以为寄了没想到🐶到了二面...感谢面试官!

坐等三面.jpg

12.14 Update: HR 联系,二面通过,约了三面【技术面】在周五,预备写三面凉经了。上周五面完后太颓废,啥也没干

#字节跳动实习##面试题目##字节跳动#
全部评论
校友好,请问你一周去实习几天呀
2 回复 分享
发布于 2021-12-11 11:10
三面一般系统设计题比较多,好好准备,加油大佬
2 回复 分享
发布于 2021-12-14 21:41
这就是大佬吗 楼主开源项目有什么渠道吗
1 回复 分享
发布于 2021-12-11 08:09
多进程和多线程比较应该是多进程进行切换的时候会分配资源+快表失效,主要是因为快表失效了,所以重新建立快表会浪费时间,所以计算量大的时候一般会选择多线程,一些个人理解😂TSL后面使用加密是因为对称比非对称更快,而且加密密钥是只有双方持有的安全性很高,没必要用非对称了
1 回复 分享
发布于 2021-12-15 17:33
借个楼,大家可以看看我的最新两篇帖子哦,有秋招总结贴(高频知识点)和各企业笔试真题哦!!
1 回复 分享
发布于 2022-02-08 15:46
滑动窗口主要是流量控制的😉
1 回复 分享
发布于 2022-02-15 07:25
m
点赞 回复 分享
发布于 2021-12-10 23:30
好强
点赞 回复 分享
发布于 2021-12-11 01:12
好强,想看看你的开源项目可以贴一下吗
点赞 回复 分享
发布于 2021-12-11 01:38
tql
点赞 回复 分享
发布于 2021-12-11 01:47
学弟牛逼
点赞 回复 分享
发布于 2021-12-11 18:36
请问简历投递多久收到面试call的
点赞 回复 分享
发布于 2021-12-11 23:55
一看github,刷到同为秦老师学生的大佬了😂
点赞 回复 分享
发布于 2021-12-15 10:14

相关推荐

评论
32
191
分享
牛客网
牛客企业服务