面试复盘|好未来全部面试记录(感谢信)
一面(50min)
1、自我介绍(大概8分钟)
2、聊项目
3、linux下传统TCP/IP捕包流程
传统捕包会导致2次数据拷贝还有上下文切换导致的cache miss,浪费CPU资源,增加了时延
4、RDMA技术为什么低时延,高并发
内核旁路技术,还说了DPDK的内核旁路原理。
5、RDMA与DPDK技术的区别
协议栈上升到用户态与下沉到网卡的区别,以及灵活性这一块
6、三次握手与四次挥手以及具体的状态变化
八股文,一直说到面试官打断。
7、TCP、UDP区别
八股文,一直说,扯到沾包,拆包,被面试官打断。
8、设计可靠UDP传输
将TCP拥塞控制,流量控制,SYN同步,Ack机制、重传、校验,还要设计一个发送接收缓冲区。
算法题: 最大回文子串
二面35min 1、自我介绍(大概7分钟)
2、linux常用指令
3、linux对具体文件去重? 这个没有答出来
4、数据库:索引有哪几种? 不清楚
5、为什么要建索引? 直接扯了重建一个索引数据结构,减少查询需要遍历的条目。
6、列举下排序算法,并说出各自的时间复杂度与空间复杂度? 基本八股文,背了一遍,并讲了快排,堆排的时间复杂度怎么计算出来的。
7、哪些是稳定排序? 先讲结果,再从原理上说,只说了快排、冒泡,归并,就被面试官打断了。
8、什么是多态,怎么实现多态? 八股文,谈静态多态与动态多态,动态多态通过虚函数表,静态多态是通过编译器处理,将重载函数的生成的符号表进行修改,使得符号表都是唯一的。
9、什么函数不可以成为虚函数?静态函数、非类成员函数,
10、虚函数表存在哪? 基础八股文,根据虚表的特征分析不在在堆栈、代码段中
算法题:
1、快速排序
2、最大子数组和
hr面25min 1、自我介绍
2、在项目中怎么跟用户沟通需求
3、团队合作中,出现技术争执你是怎么处理的
4、团队合作中,技术讨论会上谁主导讨论
5、你为什么选择我们好未来
6、你为什么投递这个岗位,怎么考虑的
7、可以谈一下自己未来三到五年的职业规划吗?
8、可以提前来实习吗
9、你是如何看待双减政策对教育行业的冲击
反问:
1、你们的企业文化
2、部门的工作氛围
总结:
对于基础这块的面试,我的理解是先打出总体的脉络,再谈一些相关知识点,最后留几个技术点让面试可以接着往下问。然后自己对于Linux的基本操作,没有使用过的情况下,没法给与一个好的回答,导致直接社死。最后数据库是真的不擅长的地方,后续慢慢看吧。
回答的不好的问题:
1、linux对具体文件去重
2、看待双减,有什么好的回答吗?
3、索引有哪几种