一二三面三天面完的
没录音,随便写一下印象比较深刻的吧
一面
socket用过吗,讲一下建立连接的过程
如果是用epoll的话,怎么优化(答的是改底层代码设置一个触发阈值),不改底层的话怎么优化
如果我设置了一个文件服务器,有多个进程同时打开了一个文件,会有什么问题
那如果一个进程打开一个文件后fork,又会有什么问题
还是文件服务器,如果我有一个大文件内存塞不下,该怎么办(回答了mmap,解释了下原因),如果我一定要用read读到内存里呢?(linux swap区)
如果数据量过大一个文件服务器的磁盘存不下该怎么办
如果将该服务器用于wx版本发布,该如何设计系统(部署多个逻辑服务器同步文件服务器数据提供服务)
如果wx要发布新版本,逻辑服务器和文件服务器要怎么做(逻辑服务器有几十秒延迟也没关系 保证最终一致性即可)
讲下gmp,为什么一定要p,m的数量为什么会变多
二面
手撕:大文件出现频率topk
二叉搜索树,平衡二叉树,红黑树区别
如何判断一个二叉树是平衡二叉树
进程线程协程区别
如果你的服务器即将要来一波高峰期,该怎么准备(扯了一堆)
接不接受转cpp
反问了下有几轮面试
(问的挺多的记不太清了,没有一面难)
三面
cdn实现原理,如何路由到最近的cdn服务器
k8s csi插件如何实现的不同node 卷支持挂载(iscsi)
使用iscsi的话要依赖网络,网络没有磁盘io快吧(只有同一可用区才支持)
如果是同一可用区的不同机房呢?(答的用光纤,回复是光纤也不够快,回去搜了一下发现光纤比磁盘io快得多。。)
usleep能否精确实现(一般不能,与硬件时钟中断频率有关)
中断频率是多少
无序双向链表能否快速转换为二叉搜索树
接水问题
快速判断30!和int64最大值的大小关系
tls握手过程
如何保证第三方证书一定正确
如何保证公钥传递不会被修改(提前存到浏览器)
快照怎么实现的
go的调度相关问题
协程的话除了信号和检测状态还有没有其他的方法进行切换
信号切换的话是谁发信号(sysmon)
内核态用户态访问权限检测怎么做的