1. 用英文介绍一下自己;
2. 介绍一下自己最近做过的项目以及在其中承担的角色;
3. 看你一直都是做的Linux,而且多半是在用户态的开发,请说一下用户态和内核态的区别,为什么要有这两种模式?
4. 说说Linux对于地址空间是怎么管理的,虚拟内存是怎么映射到物理内存的?
5. 你提到了页表,还能多谈一些么,你谈到了分页和分段,Linux有段的概念么?
6. 介绍一下自己做过的多线程相关的项目,哪里用到了多线程?多线程中的死锁问题是怎么产生的,如何解决死锁问题?银行家算法?能否介绍一下细节?
7. C++相关的问题:智能指针,强制类型转换;
8. C相关问题:已知一个地址,如何取地址中的值?已知一个地址,如何从该地址开始执行?(函数指针)
9. 说说select和epoll的区别;
10. 一个函数调用,需要入栈出栈,请问哪些东西需要入栈?(参数,局部变量,函数返回地址)
11. 一个函数的返回值从哪里取?(寄存器)
12. C语言中malloc/free用来申请和释放内存,free是如何做到准确的将malloc的内存释放掉的?(不需要指定参数多少字节)
13. tcp 连接的建立过程:socket->bind->listen->recv
14. 既然你做的是云相关的项目,请问你们的项目和云之间有什么接口么?是怎么通讯的?你们是否和 AWS, Azure,Aliyun这些系统有接口?(回答说我们的项目和公有云没有关系,没有接口)
15. 算法题:如何从一亿个数中找出重复次数最多的数?hash是可行的,但是可能有hash冲突的问题,提示用树的方式来做,性能上如何优化?
...查看更多