快手 C++ 二面面经

概述:一面后很快发了二面,10月14日面试,二面问了实习和八股,很基础,但是问到了具体的api细节,可能是考察有没有实践过。面完之后一直泡着,过了很久没挂也没发三面,可能是面的比较一般。

面试流程:

1.自我介绍

2.实习相关,做了哪些工作,最终效果对比,怎么部署

3.C++ 有哪些新特性(智能指针、右值引用和lambda表达式)

4.什么情况下用lambda表达式(只讲了用来封装回调函数,没讲清楚)

5.char s[10*1024*1024];有问题吗(栈上分配10M内存,栈溢出)

6.栈一般多大?可以修改吗?如何修改(8MB,ulimit设置)

7.map怎么判断key是否存在?用下标判断可以吗?

8.为什么map使用下标会初始化(猜测是防止误操作)

9.tcp可以两次握手吗?会造成什么问题

10.tcp发送数据是有序的吗(答得是有序,实际是发送是可以无序的,接收保证有序)

11.无序怎么保证最后的数据有序(答成应答机制和重传机制了)

12.重传是保证可靠性,有序应该用什么保证(滑动窗口)

13.滑动窗口除了保证有序,还有其他作用吗(大体上讲了下流量控制和拥塞控制)

14.详细讲下拥塞控制的过程

15.recv的返回值是什么(读取的数据大小)

16.-1和0的时候呢(-1是出错;0是超时,答错了,实际上是对方断开连接)

17.用过什么linux命令

18.查询io使用率的命令(top,不够详细,后来查了下可能是iostat和iotop)

19.怎么创建子进程(fork)

20.怎么区分子进程和父进程(返回值,父进程返回子进程的pid,子进程返回0)

21.进程间的通信方式,用过其中哪些

22.手撕:最长无重复字符子串

23.反问

#软件开发笔面经##快手求职进展汇总#
全部评论

相关推荐

3 8 评论
分享
牛客网
牛客企业服务