0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样准备软件工程师的面试

工程师人生 来源:工程师吴畏 2019-07-03 17:24 次阅读

六月份的时候,我曾经在黑板报上介绍过“如何写一份好的工程师简历”, 今天想跟大家来谈谈如何准备软件工程师的面试?假设,现在您的杀手简历 (killer resume)已经吸引了某大公司的注意并约你面试。那么接下来该如何准备呢?

我 在 Google(以前是微软)工作期间面试了不下 300人,其中某些应聘者确实表现非凡,但有些却显得准备不足。当然许多面试准备不足的人最后依然获得了录用通知,因为他们本身确实才华出众。但如果应聘 者能提前准备妥当,那么面试过程将更为保险和轻松。以下所列出的就是我根据多年经验总结得出的建议:

1.使用相同的工具(如铅笔和纸张)和时间限制(例如半个小时)模拟面试训练

Google 和微软都会让应聘者在白板上手工解答编程问题,但通常大部分的应聘者都是习惯于在电脑上利用编程工具系统编写程序。因此面试的时候,某些应聘者离开了熟悉 的电脑光标,站在白板前感觉手足无措不知该如何起行。又或者他们不习惯在编程之时旁边有人观看,这会让他们感到紧张而无法正常思考。

在现实生活中,如果你想要横渡英吉利海峡,自然不能总是在室内游泳池练习。你必须投身于大海在波涛之中训练,在准备面试的时候也是如此。:)

在 面试开始之前你最好向招聘单位询问面试形式和面试问题。如果招聘单位让你在某个房间考试且仅提供没有汇编程序的编辑器,那么就应该在家中按照这种情景进行 练习。如果招聘公司单位让你在白板上回答问题并会安排考官在旁监督,那么你就要找一位软件工程师来扮演考官配合你练习。即使找来的考官经验不如你也没有关 系,他们依然能帮助你消除在他人面前出错所带来的紧张感,这样可以让你适应有人在旁边盯着看的面试氛围。

如果你恰巧认识我并希望由我来帮你联系,那我的条件就是必须请我吃饭:如果你已经工作了就吃日本寿司大餐;如果你还是学生,那么吃比萨饼也可以。:)

2.在面试过程中不要对细小错误耿耿于怀

我 曾不止一次的在面试过程中碰到这种情况:当应聘者知道编程问题后,他马上就想到了最佳的方案、确定了边界条件,然后开始编写程序。但在编写过程中,应聘者 犯了诸如首先检查是不是操作顺序错误或忘记设定某变量等无关大局的小错误,当我指出其错误之后,应聘者立刻变得十分紧张,这种焦虑情绪影响了他在后面环节 的正常发挥。

其实这种恐惧心理完全不必要。一名优秀的程序员在编程过程中出现错误也是很正常的,就像是小提琴手在演奏高难度的巴赫交响乐时也会偶尔失误。音乐会的听众可能会觉察到这些错误,但是听众绝对不会因为这种细小失误就把出色的小提琴手看作是门外汉。

即便应聘者彻底搞砸了某个编程问题,面试考官也可能会提出不同的问题并会容忍应聘者在某个问题上的失误。再退一步说,就算某次面试彻底失败,你也有机会在其它面试上补救。

我 的一位同事(一个项目的技术负责人)最近面试了一个人,在开始面试时他觉得面试者的交流方式存在问题,因此开始表现的相当不友好。但经过了整个面试过程 后,面试者证明了自身的能力,而我的那位同事也成了那位面试者最坚定的支持者。在过去的一年中,我从未见过这位同事如此强烈的支持哪位面试者。

所以,因此就算面试进展不顺,也务必坚持到底不要放弃。

3.在面试过程中不要失礼

这似乎是不用说的问题,但在面试过程中我确实碰到过影响很不好的失礼行为。曾有一位前来应聘软件工程师的人看到我就说:“哇,我真不敢相信你这么年轻!你看上去好小!!我觉得你才 18 岁!”

面试者的这种言行实在要不得。

面试者也要注意不要说出诸如此类的话:“哇,你真的就是考官吗?你看上去好老!”“哇,你真的是来面试我的,你看上去好胖!”(相信应该不会有人说这样的话)。

在 我的另外一次面试中,应聘者的手机在面试开始 15 分钟之后就响了,她没有理会,手机连续响了 20 秒,这样不免会对面试造成影响。5 分钟之后,她的手机又响了,她依然没有理会;5分钟之后,手机第三次响起。最后她终于抓过手提包在里面翻出了手机。我想:“是时候关掉手机了,她在进来之 前就应该把手机关掉。”但是她在手提包中拿出手机之后却旁若无人的打起电话来,而且就在面试过程中间!

这种情况唯一可接受的理由就是他有什么非常紧急的事,但是即便情况如此,那么他也应该在面试开始之时就讲清楚,让面试官有所准备。

4.不要在面试中喧宾夺主

我曾经面试过几个应聘者,他们好像铁了心肠一定要告诉我他们最近的“超级项目”。当我开始发话他们就立刻打断:“我想让你了解我们近期处理的超级项目,10年之前当这个项目开始之时还默默无闻……”,然后接下来的5分钟时间都在那里滔滔不绝唾沫横飞。

有时应聘者好像打定主意要给每个考官详细描述其引以为豪的项目,然后一整天都在那里翻来覆去的说这个项目。

记住:面试官在面试过程中有具体的问题需要询问。但是如果应聘者喧宾夺主,那么考官就可能无法获得充分的信息来做出判断,同时这种行为也会让考官觉得应聘者很难共事。

如果你确实想谈论自己的项目,那么就应询问面试官:“我觉得最近的某某项目能充分体现我的能力,我能不能用 10分钟的时间来描述一下具体情况?”这样就会给面试官空间来调整面试过程,由此也避免毫无征兆就让面试离题万里。

5.在回答需要具体答案的问题之时,记得首先要有总括性的发言

有 时我会问一个答案可以很简练的问题,例如:“在你的那个成功项目中总共有多少人参与?”但应聘者往往会就此打开话匣:“恩,张三参与了这个项目,他负责 UI部分,当然我也会给他一些指导。李四也在项目中,她在宾州远程工作,负责后端服务器。两年之后我们又有新人王五加入……”

在应聘者滔滔不绝的讲了三分钟之后,我还是不知道这个项目到底有多少人参与。

因此首先要简练的回答问题,然后再展开描述:“在我接手项目时有三个人,但当我离开项目时人数已经增加到12人。”

当然如果能简练的回答问题,然后征询意见之后再展开论述那就更好了:“在我接手项目时有三个人,但当我离开项目时人数已经增加到 12 人。我可以讲一下各人在项目中的具体分工吗?”

6.(不是特别重要)在面试中要衣着得体,舒适的商务便装是最佳的选择

人们有时候会为衣着犯愁。但是最重要的是要让自己感觉舒适。如果需要具体的建议,那么我建议穿衬衫甚至T恤衫。对于某些公司(例如 Google),西装革履显然是太隆重了。

这 条建议不必太看中,因为面试官不会管应聘者穿什么。最好应该询问人事招聘部门穿什么合适,因为不同国家有不同习俗,就算美国东海岸和西海岸的公司着装文化 也会有差别。像 Google 这样的公司在着装方面更加随意,因此如果你穿着“三件套”的经典西服去 Google 面试,考官可能会有异样的感觉。因此如果你真的具备软件工程的本领,穿什么其实并不重要。某个应聘者曾经穿着皱巴巴脏兮兮的T恤就跑来面试,他的T恤衫上 还有着许多破洞。但最后他还是拿到了录取通知(当然我绝不建议如此穿着)。

最后的一个小故事

最后我想讲一场极为尴尬的面试。在看完之后,我希望你能这样想:无论你的面试如何糟糕,你至少要比这位应聘者幸运。

以前我还在微软的时候,我们通常会为应聘者准备一些饮料,某位暂称其为 Jeff 的应聘者要了一听百事可乐。我们走进面试房间后,他就在桌前坐下了。接下来我们简要的谈了谈他的工作经历,然后他开始在白板上解答编程问题,此时他还没有打开他的可乐。

我们俩站在白板前,然后杰夫开始在上面写程序。在写程序之时他沉浸在对整体构架的思考中,下意识的退了一步来查看整个白板。在后退时他不小心碰到了桌子,放在桌上的百事可乐掉到了地上。

因为可乐还没有打开,因此当可乐罐落地的时候,可乐罐炸开了。

可乐罐在地上打转,泡沫喷的到处都是。你可以想象当时的场景,可乐喷到了墙上、书架还有我电脑的键盘上。我俩楞在那里,手都半伸着(根本来不及抓到可乐罐),眼睁睁的看着可乐弄得到处都是。

我们花了 5 分钟的时间用纸巾来清理现场(虽然我的书本自那天之后都粘页了,而墙壁也不再是干净的了)。

随后我们重新开始白板测试。杰夫此时已非常紧张(换了谁都会紧张吧?)。他写了几行程序,然后擦掉,然后再写。他是用自己的手擦拭白板而不是用板刷。他急得额头冒汗,然后他又用刚刚擦过白板的手擦汗。在面试过程结束之时,他的脸上布满了红色、绿色和蓝色的颜料。

我说:“你的手上粘了很多颜料,我带你去卫生间洗洗吧,”然后我把他领到洗手间让他从镜中看到了自己的尊容。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件工程师
    +关注

    关注

    8

    文章

    217

    浏览量

    21112
收藏 人收藏

    评论

    相关推荐

    正是拼的年纪|65岁电子工程师上班VLOG #65岁退休 #电子工程师 #搞笑 #上班vlog

    电子工程师
    安泰小课堂
    发布于 :2024年07月25日 11:31:02

    嵌入式软件工程师如何提升自己?

    嵌入式软件工程师如何提升自己? 作为一名嵌入式软件工程师,在这个充满机遇和挑战的领域里,如何提升自己显得非常重要,它决定了你未来的发展方向和成就。接下来,我们一起探讨一下。 1.奠定扎实
    发表于 06-12 11:20

    索尼诚邀软件工程师参与PS免费手游平台设计

    据悉,近日,澳大利亚知名媒体TweakTown发现,索尼互动娱乐正在为其旗下的PlayStation Studios Mobile招募一名资深的软件工程师,负责设计PlayStation的免费手机游戏平台。
    的头像 发表于 05-23 17:08 664次阅读

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件工程师软件开发领域中的一种专业工程师
    发表于 05-16 11:00

    大厂电子工程师常见面试题#电子工程师 #硬件工程师 #电路知识 #面试

    电子工程师电路
    安泰小课堂
    发布于 :2024年04月30日 17:33:15

    Cognition发布首款AI软件工程师Devin

    据报道,Cognition公司今日公布了其首款人工智能软件工程师——Devin,掀起了打造软件模式变革的序幕。该产品在SWE-bench代码测验中展现出卓越表现,甚至超过了部分顶级人类工程师的水准。
    的头像 发表于 03-13 10:57 578次阅读

    如何构建linux开发环境和编译软件工程、应用程序

    前文介绍了如何使用官方提供的镜像文件启动开发板,本文将说明如何构建linux开发环境和编译软件工程、应用程序。
    的头像 发表于 01-03 12:31 1851次阅读
    如何构建linux开发环境和编译<b class='flag-5'>软件工程</b>、应用程序

    嵌入式软件工程师常用的

    最近我换工作了,看见不同嵌入式软件工程师用的平台都不一样,所以我整理了一下。PlatformIO:多平台支持:PlatformIO支持多种嵌入式平台,包括Arduino、ESP8266、ESP32
    的头像 发表于 12-24 08:00 609次阅读
    嵌入式<b class='flag-5'>软件工程师</b>常用的

    硬件工程师面试时最常被问到的8个问题,看看你能答对几个

    晶振硬件工程师
    扬兴科技
    发布于 :2023年12月08日 18:21:15

    硬件工程师经典面试题详解

    硬件工程师经典面试题详解
    的头像 发表于 11-20 15:08 1321次阅读
    硬件<b class='flag-5'>工程师</b>经典<b class='flag-5'>面试</b>题详解