我有个朋友之前在豆瓣负责过一段时间他们组的技术面试。
1. 他从来不问网上可获得的答案的问题, 只是问问面试者「在过去的工作中,遇到的Ta认为最有成就感的一件事情是什么」和「如果出现了一个google不到的问题,你会怎么解决」这样的问题。
2. 他从来不问操作系统等和Python无关的话题,首先是他不怎么问和工作太无关的话题,有些东西用不到很多就被会遗忘,挑起来这种问题其实挺无聊;其次他是非计算机专业毕业,问的东西说不定他自己都没有把握,那就不出来献丑了。他只关注面试者的学习能力和解决问题的方式,说白了,是不是就是看他是不是「聪明的人」。
3. 不问面试者的短处。他在自己被面试的时候有过这种精力,面试者问他擅长的内容,他不一定搞的定,如果反过来面试Ta,他也会灭掉Ta。所以他会尽力寻找面试者的优势和优点,尤其是对方已经明确承认。其实很多经验和能力,只是需要一个机会和环境,所以他不想放过任何一个合适的人。
4. 面试者不会Python也没有关系。面试者的主动性和学习能力觉得更重要,如果他在其他领域能证明做的不错或者能让他感觉到这个一个未来有潜质成为优秀工程师的人,不会Python没有关系。 嗯目前看来,他没有看错过。
5. 他从来不问Python语法这种看书和google就能学会的问题,他只想了解Ta是否愿意去学。举个例子,他会让面试者「讲讲日常开发中都用到了那些Python内置的模块」,基本上说完他就能评估出能力和风格,继而就是再问一些问题去验证他的评估是不是准确。
6. 最后,他一般都会和面试者细聊一个Ta认为在过去的工作或者自己开源的项目中最熟悉的一个,从项目设计、踩过的坑儿、开发周期以及如何安排、如何确定需求、如何和其他人协作等方面,最后评估下Ta是否能很容易的融入到他们现在的团队,大家是否可以接受Ta,对工作不负责的、没有用心工作的、没有团队意识的、沟通能力有缺陷的就放弃掉,对性格上容易发生冲突的、不适合团队合作他就得考虑下,未来也会如实反馈给HR。
最后,预祝你面试成功。