记一次面试
下午排了一个面试,面了大概一个小时吧,主要是根据对方的简历,还有一些我们这边的要求综合去问的,下面整理一下当时面试题的问题。
自我介绍(基本是固定流程了)
简历上的项目介绍
VMM(虚拟机监视器)如何在安全世界和非安全世界之间切换?(自我介绍中有提过 hyper-v)
简要介绍一下 Linux 内核的启动过程
简要介绍一下硬件从上电到 os 启动的过程。
TLB 的作用和原理是什么
MMU 完成什么功能?
两个独立的进程 A 和 B,为什么 A 不会在无意间破坏 B 的内存数据?
操作系统启动前期为什么不会被中断干扰?
TCP 三次握手的过程。
有一个 web 服务器,浏览器访问的时候状态一直处于 pendding,所以怀疑 server 有死锁或者是死循环,简述一下排查方式。
ping 命令工作在哪一层?
gdb 的一些常用命令,如何查看某线程调用链信息?
常用的设计模式
假设有两个模块,一个模块负责日志,另一个模块负责告警。日志会产生磁盘空间不足的告警,告警模块也会使用日志来记录告警信息。对于这种相互依赖的模块如何设计降低模块间耦合性?
介绍一下二叉树的中序遍历
对于一棵二叉查找树,使用中序遍历得到的节点还是有序的吗?
快速排序的时间复杂度
网络 io 的同步和异步有什么区别?
poll 返回-1,一定是 fd 出错了吗?
Linux 进程间通信方式有哪些?
前面提到了进程地址空间隔离,那么共享内存是如何打破这种隔离状态的?
TCP 和 UDP 的优缺点
简单介绍一下 TLS 的用途及使用方法
docker 容器化的过程中使用了两项很重要的技术,一项用于资源隔离,另一项用于资源配额,简单介绍一下这两项技术
k8s 了解过吗?
Linux 系统中有一些模块可以与内核编译在一起,还可以编译成 ko 动态加载,简述一下两种方式的优缺点。
简单介绍一下在 linux x86_64 下 c 语言函数的调用过程,栈空间是如何变化的?
操作系统使用系统调用的方式向应用程序开放内核功能,这样做有什么好处?
简单介绍一下信号处理流程
协程是否了解过?
进程和线程的区别
一个多线程程序中,如果主线程退出了,进程是否有可能继续存活下去?
Fork 出来的子进程能否直接使用父进程中的 fd?
对于一个多线程的程序,在其中一个线程进行 fork,子进程的线程数量和父进程中是否相同?
想从上家公司离职的原因是什么?能否接受我司的加班情况?在本地定居了吗?在以前公司的定级是多少?目前是在职还是离职状态?如果我司给你发了 offer 需要多久可以入职?
关于我司的情况,你有什么想要了解的吗?
版权声明: 本文为 InfoQ 作者【SkyFire】的原创文章。
原文链接:【http://xie.infoq.cn/article/103a098b79371e0f177df2b38】。文章转载请联系作者。
评论