进HR面啦 希望能早点实习~
广东工业大学的一枚菜鸡初次投递大厂

一面

一面面试官很耐心和蔼 爱了

1.讲一下IO多路复用
2.讲一下LT和ET
3.讲一下你项目的难点和怎么解决的
4.echo hello > a.txt这条Linux命令发生了什么 从操作系统分析
可以从进程的文件描述符表 内核的打开文件表 内核的i-node表展开分析
5.系统调用过程发生了什么
中断 eax寄存器传入系统调用号 内核态转换到用户态
6.内核态和用户态转换发生了什么
中断 用户栈切换到内核栈(ss寄存器、sp寄存器)、处理器指令集执行权限变更(改变状态字寄存器)…
7.虚拟地址是怎么转换的
8.讲一下MySQL的索引
9.MVCC
10.MySQL是怎么持久化的
11.select * from table where b = xx 和 select id from table where b = xx; b是索引 id是主键索引 除此之外还有其他字段
覆盖索引
12.HTTP是用什么协议实现的
13.TCP用什么机制实现可靠性
讲了Linux是怎么生成初始序列号的:基于时钟、每条连接的随机偏移、四元组的散列值,以及为什么初始序列号需要保证重启后上一连接的延迟报文段不能影响当前连接
拥塞控制、流量控制
14.剑指 Offer 34. 二叉树中和为某一值的路径

二面

二面说实话有点太顶了 印象深刻的压力面…

1.TCP是怎么实现可靠性传输的
2.快恢复和快重传中为什么不是认为他已经发生拥塞了,为什么不重新从1开始
3.TCP窗口糊涂综合症
其实就是nagle算法
4.TCP中有哪些定时器
5.TCP nagle算法 nagle会带来什么坏处
6.TCP粘包问题 怎么解决 都有什么好处和坏处 如果设置长度而当前没收到这么多怎么办
7.shell命令查询closewait有多少个
8.shell命令处理文本文件去除每行的前缀
9.close_wait比较多是什么原因 是接收方还是发送方的状态 有相关的Linux内核参数吗?(我引出的)
10.怎么快速回收TCP资源
可以发RST报文也就是重置报文 应该也可以四次挥手的时候直接发FIN节省一次挥手 面试官接着问还有吗 我被逼急了说Linux中一切皆文件 找到那个文件删掉…
11.shell中一个线程读写文件 另一个线程可以删除这个文件吗
i_count、i_link
12.文件描述符的分配 排列有什么规则吗
13.进程上下文切换开销 (一直问 还有吗 还有吗 还有吗)
14.你了解哪些寄存器
15.int Max(int a, int b)调用过程发生了什么
16.BP SP寄存器是什么
17.算法/设计题 设计文件描述符分配机制

三面

还是leader面的压力最大 主要还是那道改编的hard题

1.你的两个项目哪个比较熟悉,挑一个讲一下
2.讲一下ET和LT
3. HTTP状态码 301 302
4.HTTP有哪些请求方式
5.HTTPS
6.智力题 1000个球分成五堆一共有多少种分堆方式
7.找出大于k的不在数组中的最小正整数(Leetcode 41的改编 hard题😣)
想到要用原地哈希 在面试官的引导下终于还是搞出来了😣