腾讯一面

腾讯一面 2022.3.16 45分钟

1.协程项目20-30min (什么是协程、协程调度器的实现、有栈协程和无栈协程、协程调度汇编代码的实现、协程和线程的区别、对称协程和非对称协程)

然后面试官根据我说的协程切换汇编代码,发现了我项目存在的问题(信号和浮点数没能被处理)

2.在讲协程和线程的区别之后,又问进程和线程的区别,然后就开始给面试官讲进程和线程创建的源码流程.

然后他又问我线程共享进程的哪些资源,我就给他讲了copy_process里面分配资源的流程,包括像files_struct、fs_struct、sighand_struct、sigpend、mm_struct等等它们里面的内容和作用.然后还有vm_area_struct结构体以及mmap的底层实现.然后又被他抓住了我的一些错误....

3.项目中定时器的实现(我把定时器的各个实现方案都给说了出来,然后分析的各自的优缺点).

3.select poll和epoll之间的区别(我巴拉巴拉的一大堆,最后他直接说最本质的区别,然后在他的提示下我把poll和epoll之间的区别说出来了,但是select和poll之间最本质的区别是真不知道,我猜了也没对).

4.进程调度的过程,context_switch函数的实现,抢占式调度的原理、调度点等等,还有进程在切换的时候,如何防止TLB失效.

这里我记得内核开中断的时候是会进行检测的呀,他说一定不会,我说我看的源码中明明会呀.然后经过一番争论之后,我还是屈服了(虽然我到现在依然认为我是对的,但没办法,面试的时候得唯唯诺诺呀)

反问环节

对我的评价 ---挺好的,实习生够用了.

部门使用的技术栈是go还是C++ --搞linux内核开发,写汇编的 (是我班门弄斧了....)

一共有几面 --不清楚

全部评论
啥部门搞linux内核的呀
点赞 回复 分享
发布于 2023-03-17 11:05 日本
老哥,你操作系统看的啥书?我内核对软中断那部分学的不是很清晰,有推荐的书吗?
点赞 回复 分享
发布于 2023-03-17 12:00 辽宁
大哥你是社招实习吗
点赞 回复 分享
发布于 2023-03-17 12:43 江苏
select的监听每次有就绪都要遍历一遍所有的socket找出就绪的那个,epoll是直接把就绪的挂在就绪队列上了
点赞 回复 分享
发布于 2023-03-17 12:43 四川
这是社招还是校招
点赞 回复 分享
发布于 2023-03-17 12:47 广东
老哥什么部门啊
点赞 回复 分享
发布于 2023-03-17 12:49 香港
select 是以事件为单位组织文件描述符,poll/epoll是以文件描述符为单位来组织事件。。。面试官可能想让你答这个。
点赞 回复 分享
发布于 2023-03-21 13:05 江苏
老哥你投的是什么方向呀
点赞 回复 分享
发布于 2023-03-21 21:26 广东
腾讯哪个部门 想起来去年面微信部门 因为协程一个问题跟面试官吵起来了哈哈哈🤣
点赞 回复 分享
发布于 2023-03-22 22:00 陕西
老哥是tinyrpc项目吗,看着像
点赞 回复 分享
发布于 2023-03-23 07:18 河南

相关推荐

01-08 09:40
中南大学 Java
苏苏加油努力:你的女神不回你消息,并且给别的男生发消息 be like
点赞 评论 收藏
分享
2024-12-26 20:46
复旦大学 C++
国棉17厂丶小王:拿了offer的那个周末晚上去网吧通宵,去网吧不知道玩什么刷了lc的每日一题,然后试着第一次打开了三角洲行动,从此少了一个已经刷了700道题的lc用户,但是烽火地带多了一只🐭🐭
点赞 评论 收藏
分享
评论
8
49
分享

创作者周榜

更多
牛客网
牛客企业服务