4.12 腾讯云 后台开发 暑期实习二面(回忆版)

项目:

6.824

raft 选举流程

candidate如果没有收到来自大多数结点的投票会怎样

发动选举的timeout具体是怎么设置的

client能向follower发送读写请求吗

如果请求都是向Leader发的,那Leader并发压力会不会很大?怎么解决(Shard + Raft优化技术)

读请求是怎么处理的

持久化是怎么做的,储存的形式

快照是怎么做的

6.828

x86函数是怎样调用的,参数放哪,返回地址放哪?x64呢?arm呢?(x86从第n个参数到第一个参数依次push,然后执行call指令,等价于push当前eip作为返回地址,然后再jmp到目标函数地址。x64前六个参数会放在寄存器(rdi、rsi...)剩下的压栈。arm不会)

call能用push eip和jmp两个指令代替吗?有没有试过(答了应该可以,没试过。面完马上想起来好像不能直接push eip,面试官可能想问的应该是这个orz)

jmp指令有两种,长距离和短距离,区别是?(不会)

copy-on-write是怎么实现的(浅拷贝页表,码掉写权限,设置page fault handler)

fork在父进程的函数返回值是什么,在子进程又是什么。fork返回值怎么实现的(trapframe设置eax)

父进程有两个线程,fork完之后子进程几个线程?(答了JOS的)如果是linux呢(不会,让我猜,我猜一个,好像对了)

Linux 守护进程是怎么实现的?怎么编程让一个进程在后台运行,比如docker的-d参数(只答了调shell命令用 & )不用shell直接做可以吗?(不会)

Linux 的 /proc 目录是怎么实现的(kernel 内存中的 Process Table)

os的页机制是为了解决什么(vm、fs,方便连续读写)

.so等动态链接库在载入的时候,其地址的特点是什么(页对齐,16进制后三位为0)

GDB断点是怎么实现的(往内存写一个发送软中断的单字节指令,比如Int 0x3 => 0xcc)

断点能断.code上的任意一个地址吗(不行,如果打在了一个指令内部会导致parse指令异常)

单步调试是怎么做的(CPU有个eflags专门干这个的)

GDB为什么能attach其他进程?(答了因为对子进程有管理权限)追问GDB attach并不一定要子进程吧,那到底是怎么实现的(不会)

你实现的这个OS有图形界面吗?没有图形界面能运行shell吗?

qemu两种模式,kvm是什么(不会)

网络:

短链接和长链接的区别。现在哪个用的多

QUIC了解吗?已经有了tcp,为什么还要造QUIC这个可靠传输的轮子(没答出来)

在一个http链接中,如果发送请求没收到响应,还能再发送吗

TCP挥手time wait的目的

算法:

最长连续递增子数组

反问:

面试流程(3轮技术+1轮HR)

对实习生技术栈等方面的期望(不着急,可以先学go)

全部评论
项目是6.824和6.828吗
点赞 回复
分享
发布于 04-12 21:21 湖北
828问得比824细好多
点赞 回复
分享
发布于 04-13 20:28 广西
联想
校招火热招聘中
官网直投
操作系统这个项目真的很难hold住,可以问的细节太多了
点赞 回复
分享
发布于 04-19 10:13 河南

相关推荐

3 19 评论
分享
牛客网
牛客企业服务