我的面试心得:面试官视角

工作十年整,面过的人加起来也得有一个加强营的阵容,其中应届生居多,也有几个十年工作经验的老鸟。面试中,有人谈笑风生,有人惴惴不安,人生百态不过匆匆一瞥。今天我就当一回老司机,以C++面试为例,和大家分享一下自己的心得。

面试者想象的面试场景

“出门左转富士康”,这样的预约方式过于粗放,措辞还是要精简得体,毕竟是双方的第一印象兼顾公司形象。一定要留下你的联系方式和称呼,否则人家到公司前台一脸懵逼不知找谁,也增大了其他团队劫胡的风险。另外,我个人会强调准时,我对准时的定义是[+5,-1],单位分钟。如果早到30min,out,迟到且不提前通知,out,迟到但找到一个理由,斩候决。

某团队的校招方式

如果简历写的牛逼,我会花一小时准备,了解一下我不懂他很懂且我很感兴趣的部分,目的是保证交流效率。这里说明一下,面试官多少也有心理障碍,怕丢面子之类的。我是这样克服的:面试的目的不是问别人不会的,而是找到别人擅长的。就当参加一场讲座,你是主持人兼提问者,人家还是上门服务,放下姿态,权当不耻下问了。

作为开场白,简介一下面试官情况,目的有两个,让他对我们有个了解,面试时有的放矢,其次是暖场。然后开始自我介绍,这时我会扫一下简历:个人信息,技能和项目经历,兴趣爱好和英语水平,做标记。

面试猿看颜值的正确姿势

自我介绍中,有一些人支支吾吾连话都说不清,无怪乎紧张和二逼两类。前一种你就得随和一点,让他聊一些最近面试的遭遇,家庭和故乡等内容,缓解情绪,毕竟人都来了。后一种情况也分牛逼或傻逼两类,只能拼操作,是友是敌一看便知。多数人的自我介绍都较为普通,我会留意和简历内容是否一致,如果简历中你感兴趣的部分他却没有讲,则适当提醒。还有一类很会讲故事的人,太会带节奏了,我表示压力很大。一见如故,相见恨晚的感觉有没有,这时候一定要用凉水洗把脸,看看简历里面标记的地方,他的回答是否可行,编程是一门手艺,眼高手低要不得。

技术环节是我最关注的部分,基本功是顿悟不出来的,最能体现了一个人严于律己的学习态度。针对C++,我最爱的两个问题是字节大小和快捷键。“char/int/float/double各占几个字节?”这问题不能再简单吧,你可知道,这个问题至多20%的人能全部回答正确。如果回答不满意,我会再详细问一下编码常用的快捷键,间接了解他的编码量。有一次,一个工作将近十年的C++开发人员,类型大小说错了大半,快捷键也说不上来一两个,我就问他,你现在主要是带团队,负责技术预研和提供思路呢,还是自己亲自写代码。大哥听完我的问题差点发飙,直接扔给我一句”当然自己写了“。

技术岗位,我们强调的是动手能力

字节大小只是序曲,最近几年涌现出一些培训班出来的机器人,问题还没讲完 ,他那儿就开始Rap:32位,64位,指针,字节对齐,大小端,float和double的精度,我看着他,目光所到之处已是满屏的666,可咱又不能怪人家知道的太多,那就刷一波鱼丸呗?这时候你要记住,机器和人的差别是机器不会出错。你问问他犯过类似的错吗,为什么字节要对齐,为什么字节对齐会提高性能,浮点型为什么会有精度损失。这些都是C++的基本功,相比答案,回答的过程更能体现他的理解深度。

如果回答都很满意,则可以基于这个话题深入了解。微观来看,指针&内存,数据结构,如果他对STL有研究,内存管理,性能优化,二叉树,哈希表,或许会扯到具体的算法,术业有专攻;宏观来看,引用,临时变量,生命周期,NRV优化,静态库和动态库,用过哪些开源库,也是各有所长。这个时候,C++已经不是他的短板了。另外,他回答不上来的问题,我一般会以关键点的形式快速高速他找到答案的方法。如果他讲到的技术我不懂,我会让他详细讲,并复述一遍我对此的理解和关键点,看是否正确,如果有必要,会让他推荐一些书籍。我只问自己知道答案的问题,如果他提到的内容我不明白的,我会问到满意为止。

回答“面向对象”时正确的高度

“谈谈你对面向对象的认识?”通常,99%的人都会讲封装继承多态,或者再说一说虚函数,虚函数表这些语法层面的理解,个人觉得语法只是思想的外在规范,但真要从思想上体会到这些抽象设计的缘由,并不太表达。好比张无忌学太极,张三丰不是问记住了多少,而是问他忘记了多少。后来我就不再问这类问题了,你不问不代表队友不问。有一天的早上,我看到《C++沉思录》才如梦初醒,总结了几个我自己满意的答案:模块化,基于状态的管理和分而治之。大道至简。

项目和产品经历,这个环节我就松懈了,听听别人的问题查缺补漏,看看他能否把一个项目流程说清楚,把握技术关键点,在团队中承担的角色,遇到问题的解决思路。我会问他使用的浏览器和搜索引擎,我的最佳答案是Chrome+Google。

一个出色的程序员往往精通好几门语言

反之,我更关心他的个人规划,兴趣,学习能力,特别是英语水平。最近看了哪些书,给我推荐一本。还有一个问题,我从来没有问过,如果下次遇到合适的人,我会问“有什么观点是大多数人认同的,而你持相反意见的?”这是彼得·蒂尔的问题,不知道你会怎么回答?

最后环节是回答他的问题,通常也就3min以内。有些人会问待遇,加班,产品,团队,入职后是否有人来指导,让你对他们的学习给出一些建议和推荐的书籍,有问题总比没有问题好。当然,有一次那人的问题实在太多了,一个接一个,我只好说这是最后一个问题。

文章的最后谈一下想法,个人并不认可面试这种一锤子买卖的行为,特别是应届生,如果他基本功不扎实,但学习能力很强,这种人很难通过面试鉴定出来,而这部分是面试中的主力。所以,放松条件,让大四的学生来实习,宽进严出,双方都有利可图。

以上是个人面试的一个不客观体会,纯属虚构,如有雷同,欢迎追究法律责任。

原文发布于微信公众号 - LET(LET0-0)

原文发表时间:2016-12-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏battcn

为学习优化

“一分耕耘、一分收获”。你在学习上付出的越多,你的回报就越多,虽然不成正比,但也差不多。

834
来自专栏前端儿

2015腾讯暑期实习生 Web前端开发 面试经历

试题上一般都会涉及:操作系统、数据库、计算机网络、C/C++、编译原理、概率论、算法、更甚的还出现js、ios ...

1371
来自专栏ACM算法日常

如何应对“智力型”的算法面试题?

“给你a、b两个文件,他们各存放50亿条URL,其中每条URL各占用64字节,内存限制是4G,请你编写代码找出a、b文件中相同的URL”。这是某家大公司在201...

1822
来自专栏张善友的专栏

十年学会程序设计

这里分享一篇 Peter Norvig的 《十年学会程序设计》 (Peter Norvig  系Google研究院主任、美国计算机协会(ACM)资深会员(Fel...

2065
来自专栏Java学习网

Java初学人员的注意事项

初学者如何学好Java 1、适合自己的图书才是最好的,最好的书并不一定适合你,看自己的情况。(如果你是一个Java初学者一上手就捧一本Thinking in ...

2235
来自专栏顶级程序员

不是技术牛人,如何拿到国内IT巨头的Offer

byvoid 面阿里星计划的面试结果截图泄漏,引起无数IT屌丝的羡慕敬仰。看看这些牛人,NOI金牌,开源社区名人,三年级开始写Basic…在跪拜之余我们不禁要...

3384
来自专栏杨建荣的学习笔记

大话UML中类之间的关系 (r4笔记第83天)

关于uml的内容在大学的时候学习过,感觉是花拳绣腿的一些知识,想用但是限于自己的认知和经验,实在是很难运用,到了工作的时候,感觉不需要这些工作也照样能做得很出色...

3338
来自专栏老九学堂

【必读】每位程序员职业生涯必读书单

很多小伙伴都在问,要成为一个更好的开发人员,我应该读哪些书?我真的需要读书吗? 这是一个很值得探讨的问题,而且很多人推荐的是不同主题的不同书籍。 他们推荐的书在...

3514
来自专栏企鹅号快讯

什么是好的程序员?

C语言杂谈 什么是好的c/c++程序员? c/c++程序员就应该有c/c++程序员修养 ? 什么是好的c/c++程序员?是不是懂得很多技术细节?还是懂底层编程?...

18610
来自专栏java一日一条

不拼颜值的编程世界你靠什么上位?

随着功能需求的逐步升级,编程语言的更新换代也变得越来越频繁,近年来编程语言的种类更是已经突破了600大关。在前浪不断被拍在沙滩上的编程语言世界里,斑斑却发现每一...

681

扫码关注云+社区