今天分享一位同学的腾讯天美面经,对的就是那个王者荣耀部门的天美,问的问题很细节,会追着基础问题一直深问,直到你不会,才会换话题,主要注重计算机基础,操作系统这方面了。PYn28资讯网——每日最新资讯28at.com
- 说一下操作系统中虚拟内存的实现和为什么要使用虚拟内存
PYn28资讯网——每日最新资讯28at.com
实现:操作系统给进程提供虚拟内存的地址,进程要访问的时候由操作系统将虚拟地址转换成实际的物理地址读取数据,实现方法有页式、段式、段页式PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
好处:将有限的物理内存映射成了无限的虚拟内存,可以满足更多进程的需要;避免进程直接操作物理内存引发的安全问题PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
说一下进程,线程,协程PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
进程是系统分配资源的最小单位,线程作为进程的子一级,是分配cpu的最小单位,而协程算是用户态的线程,切换时不需要进入内核态。PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
追问:你这里提到了线程的上下文切换,上下文指什么,怎么存储?PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
上下文指线程当前执行到那一步以及一些运算结果,线程有自己私有的虚拟机栈和程序计数器PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
再追问:线程运行过程中申请到的东西在切换时是否全部要保存,比如线程中有个循环,或者声明了很多对象,这些是否都要保存,也存在线程私有区吗PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
(这个有些懵了)都要存,有些会存在公用的堆中(然后面试官说跳过)PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
说一下同步和异步PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
同步是指需要等待响应后继续后面的操作,异步是不需要等待响应,可以直接继续后面操作。这里我举了个读写例子:A发出读写请求,同步的话他要等读写完成后才继续后续;异步的话发出请求后就可以继续,等到读写完成后通知A或者直接将内容发给APYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
追问:那谁来通知A,或者谁来检查读写完了没PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
由操作系统或者是对应的服务方PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
再追问:但是你A怎么确定是否读完,就算B告诉读取完了,A也需要回过头来检查一次。(这一套问题没大懂)PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
再追问:epoll有了解吗PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
了解过,说明不清楚....(然后面试官说跳过)PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
再再追问:****硬中断、软中断有了解过吗PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
我:硬中断:中断发生后立即处理中断内容,软中断:中断发生后可以稍缓再处理(完蛋)PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
查到的软硬中断是触发源不一样,硬中断是硬件触发,软中断是软件模拟触发PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
更新:软硬中断是根据中断的实现机制来进行区分,硬中断指由CPU硬件实现的中断(Intel CPU中中断、异常、INT指令都是),软中断是指由软件实现的,常见如linux系统中守护进程来实现PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
软中断是为了解决中断处理时间过长和中断丢失的问题。常见用来延迟处理硬中断未完成的工作PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
说一下TCP和UDP的区别PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
TCP是有链接的可靠交付,UDP是无连接的尽最大努力交付PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
追问:说明下有无链接的体现PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
TCP在通信时需要通过三次招收建立链接,通信完成后需要通过四次挥手断开链接;而UDP是直接将报文发出PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
数据竞争有了解过吗PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
(没有)猜的是多线程数据读写导致的问题,如多个线程执行i++PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
栈帧是什么,如何计算长度,汇编语言中sp寄存器、bp寄存器还记得吗PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
像函数调用或递归的时候,会将原本的数据压入栈中,就是一个栈帧。(感觉这个也说的很混乱,后面的长度计算和寄存器都不知道了)PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
说一下你了解的排序算法,稳定性,什么时候选择稳定的排序PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
选择、冒泡,归并,基数排序,快排,稳定性是指排序之后先前在前面的元素还是在前面,(开始诌)选择稳定的排序算法是元素的起始顺序对后面的操作有意义,不能随意打乱。PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
手撕,合并区间问题,输入若干开始结束时间段,将有重叠的覆盖在一起PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
先说思路,按开始时间对二元组们进行排序,之后就遍历合并PYn28资讯网——每日最新资讯28at.com
算法写完了,但是本地ide卡输入输出了,调试过程中面试官指出了一个问题。然后这时已经一个小时了,就没继续让跑了PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
说一下你近期遇到的困难PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
30所项目问题,对方在验收后又提出了很多原本设计上没有考虑的需求,最后经过协商和其他系统合作勉强达到了要求PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
说一下你的未来2-3年的规划****(我问具体指什么规划,面试官说什么都行,工作,生活都行)PYn28资讯网——每日最新资讯28at.com
PYn28资讯网——每日最新资讯28at.com
提升自己技术,见识和学习更多主流和前言的技术PYn28资讯网——每日最新资讯28at.com
生活上更加规律PYn28资讯网——每日最新资讯28at.com