1.4
一面(一小时)
能做几个月?每周几天?
问简历上实验室项目一(比较了多种实现的性能,问了比较久,似乎他们也使用了SPDK这个技术)
问简历上实验室项目二
善于使用什么语言(C语言)
说一下在函数中定义一个很长的定长数组有什么问题(堆栈)
volatile什么意思
进程和线程的区别(Linux中有什么区别?)
进程间通信方式有哪些?(pipe, shared memory……我忘记signal了……)
在线编程:LeetCode 25 链表中逆序每k个元素(链表逆序我很熟练,但这题时间太短了只有十分钟,提交了一次,超时,正准备debug被告知时间到了)
二面(一小时)
立刻开始二面,我还沉浸在笔试题做不出的痛苦中……
问简历上实验室项目一(问了很久……)
因为我项目提到了用户态驱动和虚拟化,问了:
UIO和VFIO的含义和区别?
Huge Page有哪些大小?(我竟然不知道,2M或1G)
huge page有什么好处?
virtio和vhost-user的原理?
RDMA编程模型?
RDMA为什么绑定内存?
进程切换怎么换页表?
怎么找到页表?(cr3)
你还知道哪些类似的寄存器(cr4)?
给了一个代码:C实现的单例,多线程跑有什么问题?(用CAS做)
malloc失败了怎样返回段错误的?
怎么判断地址非法?(vma)
判断地址非法在用户态还是内核态?怎么切换到内核态(缺页)
内核怎样抛异常?
malloc和free的实现?时间开销?
知道不用锁使用malloc的方法吗(thread local)
文件系统怎么组织?(inode)
怎样从文件名遍历到inode?(讲了ext4实现)
然后告知我后面可能还有面试,让我等消息……
还是太菜了,CSAPP要好好补一下了,都是本科学过的课,都忘记了……针对不住老师……
1.6
收到hr面的邮件了,咋回事两面就完了?
全部评论
(3) 回帖