头条Rust/C++面试

一面(约30分钟)

面试过程非常愉快,和聊天一样,基础知识有几个不会的说了一下后面试官也表示理解。
1、讲一下进程与线程
2、讲一下线程间通信
3、讲一下进程间通讯
4、知到初始管道么(好像是这么问的,记不太清了)
5、STL(map/unordered_map,应用,区别,原理等)
6、了解过虚函数么(是什么,原理)
7、如果让你自己实现虚函数表你会怎么实现
8、c++模板用过么
9、了解过智能指针么,讲一下
10、智能指针shared_ptr计数器你认为应该放在堆里还是栈里,为什么
11、看你参加ACM竞赛算法应该很牛吧,二分图最大匹配你讲一下
12、开放题,给定一个字符串数组(假如是人名),给你一个人名的缩写,找到匹配的字符串(讲实现的思路和原因等)
13、判断链表是否有环

二面(约50分钟)

1、讲一讲 c++ 里的 const(翻车,,想成了static)
2、讲一讲 c++ 里的 static(突然意识到自己翻车了)
3、虚函数的了解
4、虚函数和纯虚函数的区别
5、虚函数和纯虚函数的作用
6、什么函数可以用虚函数
7、虚函数实现原理
8、const可以修饰虚函数么,static呢
9、虚函数能重载么
10、虚函数表是每个对象一个还是怎么样
11、虚函数表是什么时候创建的
12、除了构造还有什么别的函数可以用虚函数?(虚函数十连,十分绝望)
13、讲一下三次握手的过程
14、为什么需要服务器向客户端也发送一个SYN为1的报文
15、为什么要第二次握手需要将 ACK 标记为1
16、讲一下四次挥手的过程
17、为什么握手三次挥手需要四次
18、讲一下拥塞控制
19、讲一下拥塞控制算法(以开始没理解是什么意思,后来讲了一下慢启动快速重传这些)
20、讲一下进程的状态
21、讲一下进程调度算法
22、时间片轮转适用于什么情况
23、进程调度算法中进程有优先级么
24、讲一下进程同步
25、讲一下死锁
26、讲一下select、poll、epoll
27、这三种IO复用分别适用于什么场景
28、讲一下Git与SVN的区别
29、git pull解释一下(还提了一个没听说过的忘记了)
30、pull后会发生什么
31、如果发生冲突你会怎么做
32、讲一下git checkout
33、讲一下git reset(还提了一个没听说过的忘记了)
34、编程题,给一个数组,找到它的中位数,时间复杂度O(n)
首先想到了类似快排的那种,但当时觉得是nlog的复杂度,跟面试官说了一下面试官说嗯那On复杂度的呢?我又想了个桶排但是复杂度也不对,然后面试官又跟我确认了一下那个类似快排的思路复杂度是多少,当时想都没想就说了nlog,后来面试官说就想到这里吧下一题,结束后搜了一下第一个思路就是On的emmm
35、编程题,给一个数组,要求出每一个元素除了它自己外其他所有元素的累乘,不能使用除法,时间复杂度O(n)
36、平时在学校时间都是怎么分配的
37、平时都是怎么学习的?
38、你最近觉得最有收获的一篇博客是什么?(慌张,最近看的都是面经的博客啊,根本记不住啊)
39、你来讲一下这篇博客你都学到了什么?(完蛋,没说出来)
40、行那就面试到这里吧,再见。(!!!都不问我还有什么问题了,完蛋了)

HR面(15分钟)

1、你为什么不在线(我没想到是连着面啊
…………

1 thought on “头条Rust/C++面试”

发表评论

电子邮件地址不会被公开。 必填项已用*标注