好未来 8.20 服务端开发工程师(已收到意向)
一面(30min)
- 自我介绍
- 手撕(1-n)整数中1的个数
- 手撕最小覆盖子串(滑动窗口),没撕出来,讲了讲思路
- 问了问项目里面遇到的难题以及如何解决
二面(30min)
- 自我介绍
- 问那个项目对自己提升最大,学到了那些
- 问TCP三次握手交换了那些信息(只答了序列号,应该还有MSS,窗口大小)
- 介绍操作系统中的锁,讲了讲(自旋锁、互斥锁、信号量实现以及应用场景)
- 场景题,A B一个客户端一个服务端,问服务端如何感知socket断开,
1)A调close关掉连接(应该立即发FIN)
2)A客户端崩了 (客户端内核发FIN,正常四次挥手)
3)拔掉网线(服务器有数据重传,直到重传次数超过阈值,连接关闭,无数据开启keepalive,无响应关闭) - C++ static关键字作用
- golang中的协程(讲了讲golang协程调度的原理)
- 问mysql,两个字段都是唯一索引,什么情况下会导致相同
- 问有没有用过redis,答了redis基本原理
- C++ golang两种语言本质上有啥不同以及应用场景。
- 手撕字符串中的字符串的反转
HR面(20min)
1.自我介绍
2.问项目
3.问学校