补面经,快手C++基础架构

4月底面的,第一次面试,没想到能过(牛客许愿太灵了),还好当初鼓起勇气投了简历,不然一定会后悔。

非科班渣硕,没项目,所以面试问题大多都是基础问题,面试体验很好,效率很高。

一面 1hour

  • 自我介绍
  • TCP三次握手,2次可以吗,4次可以吗
  • TCP四次挥手
  • 析构函数为什么一般都是虚函数
  • 如果可以确定一个类没有子类,这个类的析构函数还有必要是虚函数吗
  • 宏和inline
  • 所有的函数都写成inline可以吗
  • 构造函数内部可以调用虚函数吗
  • 为什么构造函数内部的虚函数不表现为多态
  • 跳表,红黑树,哈希表,B树介绍一下,查找时间复杂度
  • map unordered_map,底层实现,查找时间复杂度,插入时间复杂度
  • 大数据top100
  • 十亿字符串中查找一个字符串是否存在,bitmap、布隆过滤器,失误率,如何降低
  • redis一致性哈希
  • 集群伸缩

两道编程题,比较简单,秒了。

  1. 实现memmove, void *memmove(void *dest, const void *src, unsigned int count);
  2. 根据前序和中序序列构建二叉树 LeetCode105

面试官说可以,一会有人联系你。
几分钟就约了二面,当时已经十二点多了,还以为要下午,没想到直接继续刚。。。

二面 1hour

二面面试官像是在家里面的我,网络不稳定,把视频关了,但是语音也听不太清,有点崩溃。
不过面试官人很好,不会的会积极引导。

  • 自我介绍
  • STL用过吗?vector底层,扩容机制,VS中1.5倍,gun中2倍
  • VS中为什么选择1.5倍?
  • 扩容的均摊复杂度,口述推导一下。
  • 迭代器说一下,迭代器失效了解吗?
  • 什么情况下会出现迭代器失效?
  • TCP3次握手
  • TCP的半连接
  • SYN攻击,半连接队列(这个没答上来,和上一个问题是有关联性的),如何预防?
    。。。
    还有一些问题记不清了。。。

编程题:lintcode859.最大栈
时间复杂度尽可能低,list+map。
刚开始想用最小栈的套路,但是面试官提示可以不使用栈,迭代器失效啥的,想了半天。。。

碎碎念

问题都比较基础,可能因为我没啥相关的项目,再加上非科班吧,还好之前准备的凑活(感谢牛油们提供的面经),感谢面试官手下留情。

三月份的时候都不敢投简历,很多公司都错过了,三月底不知哪来的勇气,一通乱投,没有几家给机会,大多石沉大海,有的笔试完就没消息了,还是太菜。

继续加油吧!

另:有一起的小伙伴吗,求交流~ ~ ~
喜欢阅读源码的小伙伴也可以一起交流呀~ ~ ~

#快手实习offer##快手##C++工程师##实习##面经#
全部评论
请问楼主二面完之后就通知offer了吗~二面完等了几天呀
点赞
送花
回复
分享
发布于 2020-05-13 14:33
实习吗
点赞
送花
回复
分享
发布于 2020-05-15 21:46
滴滴
校招火热招聘中
官网直投
楼主,带带我
点赞
送花
回复
分享
发布于 2020-06-24 23:07

相关推荐

头像
不愿透露姓名的神秘牛友
04-16 15:33
美团 后端 21k * 15.5 硕士海归
点赞 评论 收藏
转发
4 41 评论
分享
牛客网
牛客企业服务