【锁定直播】字节、华为云、阿里云等技术专家讨论如何将大模型接入 AIOps 解决实际问题,戳>>> 了解详情
写点什么

怎样准备技术面试,为何优秀的程序员也会被刷掉?

  • 2019-11-18
  • 本文字数:2018 字

    阅读完需:约 7 分钟

怎样准备技术面试,为何优秀的程序员也会被刷掉?

去年,作为技术 Leader 和主程序员,我面试了超过 100 位的软件工程师职位候选人。


在这篇文章中,我将和你分享候选人在面试中最容易犯的那些错误。我还会和你分享怎样准备这些面试,好让你最大可能通过这些面试。另外,我还会给到一些额外的技巧,它们将帮助你应对这些令人畏惧的技术面试。


首先,我想澄清一下,相比于做程序员,进行面试可以说是另一种技能。你可以是一名优秀的软件工程师,但可能是一名糟糕的面试者。逻辑上来讲,你越擅长软件开发,你就越有可能通过技术面试。但是,这并不能打包票保证你一定能通过绝大数的程序员岗位面试。


在我看来,以下这些是技术面试中,程序员最容易犯的错误:


  1. 由于害怕失败而变得紧张。我们倾向于认为我们的生活或者职业生涯都押注在了这次面试上,押注在这次工作机会上。但事实并非如此!面试不通过也没关系,但是我们不能因为害怕通不过面试就不去面试,也不要把机会都押注在这一次面试上。每次你去面试,你都能学到很多东西。所以,放轻松,不要慌张!实际上,通常只有 10%的机会能够通过面试,所以不要期望太高。提前做好准备,尽力就好,敞开双臂接受任何结果。

  2. 没有为你所申请的公司做准备工作。每个公司都是不一样的,并且各自有其特有的面试流程。我们应当尽可能多的调研这家公司、其创始人、员工、商业模式、产品或者服务、以及它使用的技术等等。确保总是准备好了一系列问题,以此来证明你对这家公司的好奇与兴趣。

  3. 在经历上过分夸大或者撒谎。我们应当对此非常谨慎。正常来讲,面试流程中的所有面试官都会对候选人的信息做前后对比和交叉验证。如果他们发现前后不一致的地方,你将会直接被拒,再不会有其他机会了。所以,不要把自己置身于这个险境。突出一些你成功的地方是可以的,但绝不要撒谎。在你所有的面试中,都要保持真诚、诚实和一致。

  4. 对于非预期的问题随机应变。例如,想象一下你正在面试一个开发者职位,你被问及一个关于系统的问题,你可以通过 3 种方式回应:

  5. 被动式:你可能会说你不了解这个,并且也不解释为何不了解这个,也不说明你所了解的有哪些。这种回答是不会对你有所帮助的。

  6. 激进式:你可能会说这不是你所期望被问及的问题,因为你申请的是软件开发者职位,还暗示面试官换一个问题提问。你这就有些激进了,更糟糕的是,没有人想要和太激进的人一起工作。

  7. 独断式:你可能会说你不了解这个,因为你通常不会做这方面的工作,你有一个系统团队会为你做这方面的工作。但你可以说你很乐意学习这些技能,如果需要从事相关任务的话。

  8. 说前任领导或者前任同事的坏话。这是一个阴暗地带,并且当面试官直接问及时,你很容易就陷入这个阴暗地带。面试中绝不要说起任何人不好的一面,哪怕是你的公司,也不要说起不好的一面。试着尽可能做到客观,找到有建设性的场景。更进一步,可以谈谈积极的一面,如果你离开了他(它)们,你将会错过什么。


以下这些是我个人认为最好的小技巧,它们会最大程度增加你通过技术面试的几率:


  1. 第一条建议相当简单:阅读我的博客,观看我的每周视频。我会分享过去 15 年作为软件工程师、技术 Leader 和技术经理所学到的所有东西。

  2. 第二条建议对于成功真的很关键,特别是当你坐在电脑前,进行现场在线编程或者结对编程面试时特别管用。听着:不要使用鼠标!使用Vim或者 Emacs 编辑器。专业的程序员只使用键盘和这些编辑器。记住这两条,你将会给面试官留下深刻印象。如果你还没有用过 Vim,记得要去练习使用 Vim,因为它很容易上手。

  3. 在白板编程或者结对编程面试中,要和你的面试官交流互动,询问他们,把你的想法告诉他们等等,这很重要。有时候,他们想看到的是你如何思考和推理,你怎样分析问题,以及你怎样和他们一起合作来找到答案。通常,找到答案的这个过程甚至比答案本身更重要。

  4. 意识到面试是一个双向的过程。即便你是被面试的人,你也应该通过某种方式了解你的面试官,了解更多你可能未来要一起工作的团队和公司。你要确保你真的适合那个团队,并且你的价值观和这家公司的价值观是一致的。展示你对这个机构的好奇和兴趣。可以问一些技术上的问题,也可以问一些不那么技术性的问题。

  5. 准备好回答一些基于行为的问题。正如我上篇文章里提到的,当今的公司不希望雇佣聪明的书呆子。这就是为什么这些“文化适配”的面试在大部分初创公司里很常见。他们想知道你过去怎样应对各种不同的工作情形。本质上,他们想要确定你的职业观是否和他们的一致。想想你过去做过的相关场景,正面的(例如:关于影响力)和不那么正面的(例如,关于失败)。带着具体的例子来回答是很重要的,尽可能多的包含细节,而不要泛泛而谈,泛泛而谈的东西不会给面试官提供任何信息。


综上,我想强调的是,参加面试,就像其他任何技能一样,需要准备和练习。你练习得越多,你通过面试的可能性就越大。


让我用我的一句座右铭来总结:


“对于软件工程师来讲,最重要的能力是他们开发出软技能的能力。”

原文链接

How to prepare a technical interview (and why good programmers also fail)


2019-11-18 10:495971
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 377.1 次阅读, 收获喜欢 1972 次。

关注

评论

发布
暂无评论
发现更多内容

直播预告|国产化软硬件升级替换之路:可观测性建设之路

博睿数据

lazada商品列表数据接口方法(lazada.item_search)

tbapi

lazada商品详情数据接口 lazada商品数据接口 lazada商品API接口 lazada API接口

软件测试/测试开发丨分层测试体系、单元、UI 、接口、白盒测试

测试人

软件测试 测试开发

WhatsApp封号的原因以及如何避免?试试海外云手机!

Ogcloud

云计算 外贸管理 whatsapp

中国自动驾驶行业:迈向无限可能

不在线第一只蜗牛

人工智能 自动驾驶 智能汽车

PON网络是什么?

小齐写代码

上海三思立体育苗系统Vertical X打造“不见光”人工农场

电子信息发烧客

Inscribe:应用非定向资产交易协议 布局巨大铭文赛道

威廉META

直播预告 | 大模型时代,“应用变了”:政务办公,如何从大模型中巧借力?

京东科技开发者

直播 办公 政务 大模型

开放原子开发者大会——操作系统大会2023成功举办

开放原子开源基金会

开源

缓存:系统设计中至关重要的一环

互联网工科生

数据库 缓存 缓存技术

探索光伏单晶行业成本管理之业务场景分析

用友BIP

成本管理 光伏单晶行业

软件测试/测试开发丨常见测试框架类型TDD、DDT、BDD、ATDD

测试人

软件测试 自动化测试 测试开发

Databend 开源社区上榜 2023 年度 OSCHINA 优秀开源技术团队

Databend

前端开发新趋势:Web3 与虚拟现实的技术融合

EquatorCoco

前端 Web 虚拟现实 web前端开发

重磅发布|2023年度中国可观测性现状调研报告发布

博睿数据

海外云手机-如何高效运营多个海外社媒账户?

Ogcloud

社交媒体 社媒

云技术分享 | EC2 之 Windows 忘记密码(二)

亚马逊云科技 (Amazon Web Services)

大数据 Amazon EC2 ebs

EndNote 21 for Mac(文献管理软件) v21.2永久激活版

mac

苹果mac Windows软件 EndNoter 参考文献管理软件

文档理解的新时代:LayOutLM模型的全方位解读

快乐非自愿限量之名

人工智能 机器学习 深度学习 大数据

来自前端面试官的吐槽:问CSS、DOM,还招不招人?KPI还要不要?

程序员改bug

编程 程序员 前端 前端面试 前端工程师

广告精准投放人群的实现:千万用户过滤指定人群

xfgg

Java

如何应对 RocketMQ 消息堆积

高端章鱼哥

RocketMQ 消息堆积处理

保姆级·从零搭建开发一个现代化体育赛事直播系统平台

软件开发-梦幻运营部

商业&技术双轮驱动,企业数智化运营新力量

用友BIP

数智营销

不黑不吹,低代码开发真的好用吗?

伤感汤姆布利柏

低代码 JNPF

事务的实现方法:事务注解和编程式事务

xfgg

Java

降人工简流程,人工智能助力企业打赢人力成本战

用友BIP

降本增效

蓝戟英特尔锐炫A770评测:多款热门游戏性能提升,XeSS取得丰硕成果

E科讯

隧道LED照明技术见证大国交通发展,三思陶瓷散热技术强势突围

电子信息发烧客

网络安全 :保护数字世界的壁垒

快乐非自愿限量之名

网络安全 Web 数字世界

怎样准备技术面试,为何优秀的程序员也会被刷掉?_文化 & 方法_Rafa Paez_InfoQ精选文章