回馈牛客,写面经积攒人品。听说牛客许愿很灵,希望offer审批顺利,意向书快点到碗里来(●'◡'●)。
投递的是飞书iOS客户端日常实习,base杭州。
一面
自我介绍
- Django是多线程还是多进程(答错了/(ㄒoㄒ)/~~……面试官没继续问了
C++相关
- 面向对象的优点
- 为什么要有继承
- struct与class的区别
操作系统
- 进程与线程的区别,切换开销
- 进程通信方式(管道、共享内存、信号量、socket)
- 说说共享内存的原理
- 进程同步
- 死锁以及如何避免死锁
计网
- 打开网页的过程(提到了DNS
- 说说DNS的过程(提到了本地缓存
- DNS缓存存在哪?有效期多少?可以设置吗?
- 说说HTTPS
算法题
- Leetcode 165 比较版本号
二面
自我介绍
- 主要是讲讲项目
操作系统
- 进程与线程的区别
- 为什么要有线程(这里我说可以处理多个请求……
- (面试官:哦?)有了解过Node.js的单线程事件处理模型吗?(没有,是我太菜了……
- 进程调度算法
- 操作系统的内存管理 分页分段段页式
- 页一般多大?
- 堆与栈的区别
- 什么情况下会stackoverflow
- 知道哪些锁?(说了自旋锁和互斥锁) 说说它们的区别
- 读者-写者问题
计网
- TCP与UDP的区别
- 再一次问了DNS缓存(应该是看了一面的面评,一面这里答得有点不清楚,还好结束后查了一下
- TCP的拥塞控制 慢开始
- 为什么需要快重传和快恢复,什么场景下使用
算法题
- 电梯从一层往上走时,我们只允许电梯停在其中的某一层。所有乘客从一楼上电梯,到达某层后,电梯停下来,所有乘客再从这里爬楼梯到自己的目的层。在一楼的时候,每个乘客选择自己的目的层,电梯则计算出应停的楼层。
问:电梯停在哪一层楼,能够保证这次乘坐电梯的所有乘客爬楼梯的层数之和最少?
(直觉是中位数,不过没想出来严谨的证明,换了种写法,前缀和后缀和搞了一下,面试官期望的应该是DP,不过面试官表示认同我的解法。
HR面
随便聊聊自由发挥就可以啦~
总结
总体上还是很顺利的,面试官也很nice,不会的地方一直在说没事没事,没有为难我。自己本身是想积累面试经验的,不过如果能有offer就更好啦。
字节的面试之间有一定的联系,所以遇到不会的问题面试结束要赶紧查资料,很可能下一面还会问到。面试中不会的地方也可以引导面试官,让面试官多问你会的方面。算法题可以多和面试官交流思路。
自己基础知识方面不会的地方还有很多,接下来还是要好好学习,多多读书。
希望大家都能拿到满意的offer!
全部评论
(4) 回帖