春招CSIG腾讯云一面
1、虚函数继承原理、线程进程区别、进程调度算法
2、进程内存空间分布
[参考](https://blog.csdn.net/Miracle_ps/article/details/132221089)
3、网卡接收到数据然后发送的具体过程
[参考](https://www.cnblogs.com/zwj-199306231519/articles/17816668.html)
4、TCP 保证可靠性
5、nginx 了解多少,多进程和多线程比较,多线程一定好吗
6、IO 复用,select/poll/epoll,**epoll_wait 等待的时候会释放 CPU 吗**
7、最长上升子序列的长度、词频统计 TOPk、有环链表、二叉树遍历
#软件开发2024笔面经##腾讯云#
2、进程内存空间分布
[参考](https://blog.csdn.net/Miracle_ps/article/details/132221089)
3、网卡接收到数据然后发送的具体过程
[参考](https://www.cnblogs.com/zwj-199306231519/articles/17816668.html)
4、TCP 保证可靠性
5、nginx 了解多少,多进程和多线程比较,多线程一定好吗
6、IO 复用,select/poll/epoll,**epoll_wait 等待的时候会释放 CPU 吗**
7、最长上升子序列的长度、词频统计 TOPk、有环链表、二叉树遍历
#软件开发2024笔面经##腾讯云#
全部评论
在IO多路复用中使用epoll_wait等待IO事件的时候,进程会释放CPU。在Linux中,进程状态将会变成"S"(可中断睡眠状态)或"D"(不可中断睡眠状态,通常等待IO)。两个状态下,进程都不会占用CPU资源,因为它们都是不同形式的睡眠状态,CPU会切换到其他进程或线程继续工作。
"S"状态是可中断的睡眠状态,表示进程正在等待某个条件的满足或某个事件的发生。这种状态下的等待是可以被信号打断的,例如,系统调用如read()在没有数据可读时会使进程进入"S"状态,但接收到信号后,进程可以从系统调用中返回,处理信号。
"D"状态则是不可中断的睡眠状态,进程在这种状态下一般是正在等待某个硬件级别的IO操作完成,例如,等待磁盘IO或网络IO。这种状态的进程不能被信号打断,因为它们通常涉及到一些必须完成的硬件操作。
当你调用epoll_wait时,如果当前没有IO事件,进程会进入"S"状态。如果系统调用涉及到硬件级别的不可中断IO操作,进程可以进入"D"状态。这样设计是为了在IO操作期间不消耗CPU资源,同时允许其他进程或线程使用CPU。
所以,使用epoll_wait时,进程会进入睡眠状态直到事件发生,从而释放CPU。
来自 gpt4 的回答
佬看看得物春招呀
欢迎投递
这么手撕?裂开
相关推荐
10-29 19:45
吉林大学 Java
从零开始数:自我评价没有必要写,但是看起来你应该是学了csdiy的一些课程,可以在专业技能里面写上自己比较熟悉操作系统和计网,但如果你是找Java的话,把第一个项目换了吧,现在看起来有点四不像。
无论是黑马点评或者说做个轮子项目,刷题和八股也搞起来吧,而且也没必要等到寒假,最近就可以开始找,找到就偷偷实习呗,别被逮到就行了。 点赞 评论 收藏
分享
苦也:佬投的是日常实习吗,是在官网投的吗,我也想找段实习沉淀一下,投了根本没消息
点赞 评论 收藏
分享
查看12道真题和解析