在牛客网看了很多面经,收益良多,现将自己的经历回馈给社区。
背景
- 非科班211本硕(本科生物技术,硕士生物信息学)
- 无实习
- 两个秒杀项目:1、代理(python),2、TCP服务器(c++) 以及一个实验室相关的数据分析流程(python)
- 9月1号才开始投递,海投后只收到极少数的面试机会。
结果
目前收到了字节跳动people部门的意向书,虽然听说是个边缘部门,不过由于我太菜了,估计在哪个部门都能学到东西。
- 本人最喜爱的语言的是C++,可所有面试全程没遇到与C++相关的问题,体验十分差。
- 可能是看在我是非科班的原因且面试官都不用c++,大部分面试问题都是比较基础的计网,操作系统,数据库知识。题目也都是leetcode简单题。
字节people后端
- 可能是看在我是非科班的原因且面试官都不用c++,大部分面试问题都是比较基础的计网,操作系- 统,数据库知识。题目也都是leetcode简单题。
整体而言十分效率,面试后当天不久HR就会通知预约下次一次面试时间,如果中途我没延迟预约的话估计一周就可结束。
一面(9.16)
- 如何实现http
- 无锁队列是怎么实现的(知道是使用了CAS,但实现是直接copy paste的)
- 时间轮实现
- 如何将客户端连接派发到线程池中
- 为什么不直接在event_fd里面写入客户端的fd,而要通过一个任务队列进行封装(面试官没用过...)
- scoket函数调用中哪些函数会阻塞(我们俩都忘了。。。ps: connect/accept/send/recv)
- 反问:在哪些方面欠缺,如何学习,答:看书
二面(9.20)
后面知道面试官也是非科班,估计才放的我
- (题)最长无重复子串,台阶。(第一题竟然没写出来)
- netty对于reactor模型的改进(不知道)
- 数据库隔离级别
- 如何解决幻读
- 设计模式,观察者模式(第一次写,竟然蒙对了)
- 排查cpu100% 程序
- TCP握手挥手状态,HTTP状态码
- 如何排查mysql慢查询,explain里面有什么字段(只知道该命令)
- Mysql不同的复制模式(不知道,ps:异步,半同步,全同步)
- 反问:在哪些方面欠缺,如何学习 答:基础很重要,让我找计算机专业的学生的培养计划,补下目前我没学过的课程,最后让加好友(看的出来有在认真的教导我)。
三面(9.24)
网络贼差加之我答的慢,搞的面试官心情贼不好,被我搞的有点不耐烦了,总是叫我快点快点,有很多地方也答错了,最后竟然没挂我。。。
- (题)有序无重复单链表设计和合并
- ctrl + c和 kill对TCP客户端和服务端的影响(答错了)
- (思路题)给登录下线日志,求每个时间点的在线用户数,复杂度(我认为是挺简单的题,不知为啥解释了那么多,还不如直接给我编程题)
- (思路题)for循环里用fork,https://stackoverflow.com/questions/26793402/visually-what-happens-to-fork-in-a-for-loop (知道大致过程,但过程太乱了,答错了)
- 反问:在哪些方面欠缺,如何学习,对我本次面试有什么建议。答:有很多欠缺,无可告知,只能问技术栈。反问2:那日常工作是什么,什么技术栈?答:用GO,各种中间件,一下子讲不清,做什么等你有机会来亲自实操了才知道。
- 结束后片刻HR电话通知三面已过,offer在审批中。考虑到三面表现太差,估计意向书有点悬。
- 9.27 HR 通知审批已通过,让我发身份证!
- 9.29 邮箱收到意向书!
bilibili 视频云python后端 (三面挂)
整体偏慢,估计每一轮结束后都得比较,所以都是面试结束一两天后通知预约下一次面试时间。
一面(9.17)
拉清单在问,不过面试官会不时问一些偏一些的地方,对于不知道的地方会进行诱导,体验非常好!
二面(9.22)
面试官没开视频,有点大佬范,估计在同时面很多人,整个过程让我感觉自己贼菜(虽然是事实)。
- MVCC具体机制
- 为什么要使用redis而不是程序内的对象
- nodejs为什么那么快
- select和epoll的区别
- 协程原理,如何实现协程
- (题)给一HTML 标签,将其解析为字典对象
- 反问:我在那些方面有欠缺?答:基础还可以,欢迎你下次投递B站 (???,也可能是我听错了)
三面(9.28)
面试官网络十分差,中途因网断开连接N次后使用电话进行面试,结果对方语音还是有点卡。系统设计这块答不出来,估计要挂。
- python协程原理,对称和非对称协程(木有听说过,我只好说了下有栈无栈协程)
- select和epoll区别
- 惊群现象
- 如何设计购物车(系统设计,答的非常差,太大了,不知道要问什么)
- 项目相关:如何优化的算法,TCP服务器如何达到的高并发
- 为什么选择转行
- 反问:该岗位做什么的,技术栈 答:是视频中台,主要用C和Python
- 下午收到感谢信。感觉一开始就挂了,面试官在我做完自我介绍后第一句就是:你觉得的你相比其他人的优势是什么?
滴滴国际化测开(三面挂)
效率最高,本来一天就能结束一,二,三面的。
一面(9.20)
女面试官,终于有面试官问我最喜欢的一个项目(代理)了,她还在我说明完后帮我仔细的梳理了一遍大致流程
- 基础的网络,数据库知识
- (题)ip合法验证
- (题)sql找总分第5的学生
二面(9.20)
有点小帅的面试官,和同龄人交流对话一样,体验比较好
- (题)普通字符串处理
- (题)抓石头问最后谁赢。
- B站和抖音,优酷的区别
- 如何测试百度搜索
三面(9.27)
- 如何从用户的角度测试电梯
- 答的很差,只是将测例一条一条的罗列出来
- 应该先将测试分类,可以分为单用户,多用户,一楼,顶楼,外侧按钮,内侧按钮等类别
- 花小猪打车和滴滴的区别
- 反问:测试开发是做什么的
- 答:分为三种,均需要对业务有了解
- 1:与业务相关,位于流水线中
- 2:开发各个部门系统中通用的公共组件
- 3:类似构架,对出现的问题进行复盘,确保以后不会发生
- 虽然面试流程中我们俩有说有笑的,但由于他问的问题基本上答不出来,且中途他说了我有点懵,适合做开发,结束后查询一看果然为已挂。
深信服C++
一面(9.30)
面试官非常nice,在我第一次没参加后主动打电话让我预约时间;此外还耐心解答我没答出来的的问题
- extern C的作用原因
- new 有什么办法判断判断分配失败? 1:异常,2:返回值
- (题)实现string拷贝构造函数
- (题) 字符串中单词反转
- TCP三次握手,四次挥手原因,状态转换
- 有几种进入TIME_WAIT的方式:
- 正常情况
- 双方同时主动关闭,进入FIN_WAIT1后同时接收到ACK直接进入TIME_WAIT
- 双方同时主动关闭,进入FIN_WAIT1后先接到FIN,进入CLOSING后接到ACK进入TIME_WAIT
- 1000万个整数如何排序
- 如果判断1000万个域名是否在某个集合中
- bloom filter原理,怎么计算冲突率
二面(10.14)
仍然十分nice。
- C语言反向拼接字符串(结果用malloc分配的内存存储)
- sizeof和strlen的区别
- include <> 和 #Include ""的区别
- printf变长参数原理
- c++如何调用C库函数
- new和malloc的区别
- c++如何禁止继承
- stl的容器,区别以及实现原理,set和map底层区别
- 4颗树如何种,使得两两之间距离相等
- 需要多少只老鼠测试哪个药瓶装的是毒药
- 反问:有什么建议 答:想要成为为技术人才需要去了解各种原理性的东西(比如printf的原理)
腾讯CSIG 后台开发 (一面挂)
一面(10.13)
电话面试,躺久了什么都记不得了,除c++外的好多知识都没答上来,当天晚上状态变灰。
- 项目相关
- select和epoll
- c++多态,虚机制
- 无锁队列
- 智能指针
- 智能锁(lock_guard)
- 栈,列表,哈希表适用场景
- TCP三次握手状态变化
- TCP滑动窗口
- TCP拥塞控制
- 数据库索引,联合索引
- 设计数据结构快速查找某个qq号是否在线
- 设计从海量数据中找出前100大的几个数
- 没给我反问机会,我主动的问了一个没答出来的问题的答案。
其他
- 快手(简历挂)
- 阿里(笔试挂)
- 猿辅导(笔试挂)
- 同花顺(笔试挂)
- 网易云音乐(笔试挂,除了选择题我感觉都答对了)
- 速游(第一次笔试挂,第二次笔试过了简历不匹配。是真的6,让我白白耽误几小时时间)
剩下的大部分都是毫无音讯,最近有几个面试邀请,考虑到这时候了,估计都没啥希望。
最后
- 感谢字节跳动以及其三个面试官对我的认可(虽然好多问题都答不上来)。整体给我的感觉是字节的面试官不太在乎是否是科班出身,是否有经验啥的,更在乎的是是否有一颗学习的心,发展的潜力等。
- 希望能为部分人做参考用。祝大家多多拿offer!
全部评论
(5) 回帖