我最喜欢的三个技术面试问题

我最喜欢的三个技术面试问题

  • 一台关闭的个人电脑,从按下电源键到显示桌面之间发生了什么,请尽可能详细地描述

  • 在个人电脑桌面,从双击chrome浏览器图标到显示浏览器默认页之间发生了什么,请尽可能详细地描述

  • 在浏览器地址栏敲下baidu.com,从按下回车到看到百度首页之间发生了什么,请尽可能详细地描述

第一个问题可以考察候选人对计算机体系结构理解,从硬件到操作系统,所有类型的工程师都适用。

第二个问题可以考察候选人对操作系统工作原理以及应用软件的理解,客户端开发工程师必问,对于移动端开发者还可以进一步替换成具体的Android或者iOS手机

第三个问题可以考察候选人对网络协议,后端服务,以及浏览器工作原理的理解,对于后端工程师可以进一步深挖对服务端的理解,对前端工程师可以进一步深挖对浏览器的理解

具体考察过程中,我会记下他回答中使用的技术概念,然后就他提出的技术概念继续深挖他对这个技术概念的理解,在他的回答中再记下他提到的新的技术概念,然后再深挖。用一种类似深度优先遍历的顺序让他遍历他的知识面。最终他能够正确解释的概念数量基本上就可以代表他的计算机基础知识水平

这几个问题的好处是能够比较量化地度量工程师的水平,大部分工程师基本都能说出一些大的过程步骤,但是真正基础扎实的工程师,能够更加深入解释各种技术细节。

我也会隔一段时间,问自己这些问题,看看我能解释的深入程度是否比上次更加深入了,以此检验我的知识是否有增长。这些问题就像七龙珠里外星人使用的战斗力侦测AR眼镜,让战斗力这种模糊概念可以做量化度量了。

坦白说,我觉得自己对计算机仍然知之甚少,要学的东西太多了。