C++
![](http://cdn-img.sm-tc.cn/?src=l4uLj4zF0NCWkpjRlJ6RhZeKkdGckJLQlpKemJqM0I%2BXkIuQ0M3Pzc%2FPzM7I0MfKzcicyJnHzJvImprNmsvKzp7Mx8qZzJvGx8zHzZmd0ZWPmMCH0pCMjNKPjZCcmoyMwpaSnpia0I2ajJaFmtOIoMzP05egzM%2FTkqCSmZaL05OWkpaLoM8%3D&restype=3&from=derive&pi=&v=1)
二五五减一
投的C++后端, 面我的是云计算虚拟化的大佬, 最大的感受是面试官不看简历, 靠自我介绍展开问......我写简历上的问得不多, 问各种其他的问题无手撕代码上来自我介绍专业课有什么了解Linux内核吗? 了解讲讲Linux进程通讯. 管道, 消息队列, 信号, 信号量, Socket讲讲消息队列的内容, 内核维护一个缓冲文件, 外部进程通过FIFO放内容, 也可以取出. 消息队列存在用户态与内核态之间的数据拷贝开销消息队列会不会有冲突. 有, 上锁.管道和消息队列的区别. 管道是单向的, 写完未读会阻塞.管道和消息队列的底层实现有区别吗? 没区别,都是内核维护一个匿名文件, 然后通过文件描述符操作, 只是操作的过程有区别做过网络开发吗? 有,但不多UDP实现过程. (两年前写过UDP服务器, 不会)用过什么服务器框架? SpringBoot, Django进程, 线程, 协程的区别? 进程拥有所有资源, 但是调度进程开销太大, 每次切换进程都要清空TLB表, 导致局部性原理失效. 所以线程在这个基础上, 作为最小调度单位, 它比起进程开销变小了很多.为什么要有协程? balabala, 但是好像一直没说到点子上, 面试官反复推翻了我的说法,然后再问为什么有协程. 我回答不上, 面试官说这是个开放性问题.云计算的框架, 什么openstack, ngix之类的. 完全懵逼了, 我简历也没写这些, 老老实实说不知道. 面试官说你们学校不教这个吗?然后问我大数据框架有哪些, 我说HadoopHadoop的作用介绍一下. 什么分布式, 保证文件的正确, 任务分配和结合, 几年前上课的知识开始攻击我, 只能随口胡说了介绍项目, 哪个项目你觉得学到的东西最多? MIT xv6系统, 精简的Unix系统你说它精简, 它和现在Linux有啥区别? 进程调度是时间片轮询, Linux下可能还要分普通进程, 实时进程, 普通进程的时间片还要考虑优先级balabala你项目是要启动一个操作系统, 能讲讲它的如何启动的? 有一个ld文件会把硬盘中的os映像放到0x8000000地址(OS启动这一块不太了解, 没讲什么)什么时候开启分页? 将内核地址和物理地址直接映射的模块完成后开启分页反问