我的面试心得:面试官视角
buyun
8年前
<p>工作十年整,面过的人加起来也得有一个加强营的阵容,其中应届生居多,也有几个十年工作经验的老鸟。面试中,有人谈笑风生,有人惴惴不安,人生百态不过匆匆一瞥。今天我就当一回老司机,以C++面试为例,和大家分享一下自己的心得。</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/21d129a68e4774fdd2809624f08529de.jpg"></p> <p style="text-align: center;">面试者想象的面试场景</p> <p>“出门左转富士康”,这样的预约方式过于粗放,措辞还是要精简得体,毕竟是双方的第一印象兼顾公司形象。一定要留下你的联系方式和称呼,否则人家到公司前台一脸懵逼不知找谁,也增大了其他团队劫胡的风险。另外,我个人会强调准时,我对准时的定义是[+5,-1],单位分钟。如果早到30min,out,迟到且不提前通知,out,迟到但找到一个理由,斩候决。</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/dd89fad51885d34e7c7ea220a30fe8f4.jpg"></p> <p>某团队的校招方式</p> <p>如果简历写的牛逼,我会花一小时准备,了解一下我不懂他很懂且我很感兴趣的部分,目的是保证交流效率。这里说明一下,面试官多少也有心理障碍,怕丢面子之类的。我是这样克服的: 面试的目的不是问别人不会的,而是找到别人擅长的 。就当参加一场讲座,你是主持人兼提问者,人家还是上门服务,放下姿态,权当不耻下问了。</p> <p>作为开场白,简介一下面试官情况,目的有两个,让他对我们有个了解,面试时有的放矢,其次是暖场。然后开始自我介绍,这时我会扫一下简历:个人信息,技能和项目经历,兴趣爱好和英语水平,做标记。</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/7e6348a4f99b696a3406ac2bd7ad2fb0.jpg"></p> <p style="text-align: center;">面试猿看颜值的正确姿势</p> <p>自我介绍中,有一些人支支吾吾连话都说不清,无怪乎紧张和二逼两类。前一种你就得随和一点,让他聊一些最近面试的遭遇,家庭和故乡等内容,缓解情绪,毕竟人都来了。后一种情况也分牛逼或傻逼两类,只能拼操作,是友是敌一看便知。多数人的自我介绍都较为普通,我会留意和简历内容是否一致,如果简历中你感兴趣的部分他却没有讲,则适当提醒。还有一类很会讲故事的人,太会带节奏了,我表示压力很大。一见如故,相见恨晚的感觉有没有,这时候一定要用凉水洗把脸,看看简历里面标记的地方,他的回答是否可行,编程是一门手艺,眼高手低要不得。</p> <p>技术环节是我最关注的部分, 基本功是顿悟不出来的,最能体现一个人严于律己的学习态度 。针对C++,我最爱的两个问题是字节大小和快捷键。“char/int/float/double各占几个字节?”这问题不能再简单吧,你可知道,这个问题至多20%的人能全部回答正确。如果回答不满意,我会再详细问一下编码常用的快捷键,间接了解他的编码量。有一次,一个工作将近十年的C++开发人员,类型大小说错了大半,快捷键也说不上来一两个,我就问他,你现在主要是带团队,负责技术预研和提供思路呢,还是自己亲自写代码。大哥听完我的问题差点发飙,直接扔给我一句”当然自己写了“。</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/d579798083f939f555c1a40f55563708.jpg"></p> <p style="text-align: center;">技术岗位,我们强调的是动手能力</p> <p>字节大小只是序曲,最近几年涌现出一些培训班出来的机器人,问题还没讲完 ,他那儿就开始Rap:32位,64位,指针,字节对齐,大小端,float和double的精度,我看着他,目光所到之处已是满屏的666,可咱又不能怪人家知道的太多,那就刷一波鱼丸呗?这时候你要记住, 机器和人的差别是机器不会出错 。你问问他犯过类似的错吗,为什么字节要对齐,为什么字节对齐会提高性能,浮点型为什么会有精度损失。这些都是C++的基本功,相比答案,回答的过程更能体现他的理解深度。</p> <p>如果回答都很满意,则可以基于这个话题深入了解。微观来看,指针&内存,数据结构,如果他对STL有研究,内存管理,性能优化,二叉树,哈希表,或许会扯到具体的算法,术业有专攻;宏观来看,引用,临时变量,生命周期,NRV优化,静态库和动态库,用过哪些开源库,也是各有所长。这个时候,C++已经不是他的短板了。另外,他回答不上来的问题,我一般会以关键点的形式快速告诉他找到答案的方法。如果他讲到的技术我不懂,我会让他详细讲,并复述一遍我对此的理解和关键点,看是否正确,如果有必要,会让他推荐一些书籍。 我只问自己知道答案的问题,如果他提到的内容我不明白的,我会问到满意为止 。</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/7f759b8a5649cb94851bc9af588d8ef5.jpg"></p> <p style="text-align: center;">回答“面向对象”时正确的高度</p> <p>“谈谈你对面向对象的认识?”通常,99%的人都会讲封装继承多态,或者再说一说虚函数,虚函数表这些语法层面的理解,个人觉得语法只是思想的外在规范,但真要从思想上体会到这些抽象设计的缘由,并不好表达。好比 张无忌学太极,张三丰不是问记住了多少,而是问他忘记了多少 。后来我就不再问这类问题了,你不问不代表队友不问。有一天的早上,我看到《C++沉思录》才如梦初醒,总结了几个我自己满意的答案:模块化,基于状态的管理和分而治之。大道至简。</p> <p>项目和产品经历,这个环节我就松懈了,听听别人的问题查缺补漏,看看他能否把一个项目流程说清楚,把握技术关键点,在团队中承担的角色,遇到问题的解决思路。 我会问他使用的浏览器和搜索引擎,我的最佳答案是Chrome+Google 。</p> <p style="text-align: center;"><img src="https://simg.open-open.com/show/c1176262d661911ad4cf991f2abb287f.jpg"></p> <p>一个出色的程序员往往精通好几门语言</p> <p>反之,我更关心他的个人规划,兴趣,学习能力,特别是英语水平。最近看了哪些书,给我推荐一本。还有一个问题,我从来没有问过,如果下次遇到合适的人,我会问“ 有什么观点是大多数人认同的,而你持相反意见的 ?”这是彼得·蒂尔的问题,不知道你会怎么回答?</p> <p>最后环节是回答他的问题,通常也就3min以内。有些人会问待遇,加班,产品,团队,入职后是否有人来指导,让你对他们的学习给出一些建议和推荐的书籍,有问题总比没有问题好。当然,有一次那人的问题实在太多了,一个接一个,我只好说这是最后一个问题。</p> <p>文章的最后谈一下想法, 个人并不认可面试这种一锤子买卖的行为 ,特别是应届生,如果他基本功不扎实,但学习能力很强,这种人很难通过面试鉴定出来,而这部分是面试中的主力。所以,放松条件,让大四的学生来实习,宽进严出,双方都有利可图。</p> <p> </p> <p>来自:http://www.cnblogs.com/fuckgiser/p/6232756.html</p> <p> </p>