AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

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

  • 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:496830
用户头像
小智 让所有人认同的文字称不上表达

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

关注

评论

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

mac苹果电脑游戏推荐:暗黑2:毁灭之王 for Mac(含各职业存档)

你的猪会飞吗

Mac游戏下载 Mac游戏推荐

Web3 星探 a16z 新加速器启动,盘点入围的「未来之星」

TechubNews

“AI+Security”系列第3期(一):AI 安全智能体,重塑安全团队工作范式

云起无垠

谷歌发布新 RL 方法,性能提升巨大;苹果前设计总监正与 OpenAI 合作开发 AI 设备丨 RTE 开发者日报

声网

堡垒机啥意思?怎么简单理解?

行云管家

网络安全 堡垒机

Cisco Jabber 15.0 发布下载 - 面向企业的多合一通信工具

sysin

Cisco 通信 思科 即时消息

一位架构师的自述:在尚未踏入的世界成为你自己

京东科技开发者

如何保持telegram电报群活跃?

区块链项目一站式包装孵化

币圈项目为什么要做cmc+cg(双c)?

区块链项目一站式包装孵化

Cellebrite UFED 4PC 7.70 下载 - Android 和 iOS 移动设备取证软件

sysin

ios android UFED 移动取证 手机取证

【XIAOJUSURVEY& 北大】实现数据导出的前后端全流程

XIAOJUSURVEY

数据分析 Vue Node 问卷 数据导出

丽江等级保护测评机构有几家?在哪里?

行云管家

等保 丽江 等保测评

NFTScan | 09.16~09.23 NFT 市场热点汇总

NFT Research

NFT\ NFTScan

BOE(京东方)携故宫博物院举办2024“照亮成长路”公益项目落地仪式以创新科技赋能教育可持续发展

科技汇

信创里程碑:TapData 与海量数据达成产品兼容互认证,共同助力基础设施国产化建设

tapdata

数据库

VMware Tanzu Kubernetes Grid 2.5.2 发布下载,新增功能概览

sysin

Kubernetes 云原生 vmware Tanzu

DApp开发入门指南:从概念到实践!DApp开发流程+DApp 经济模型

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

机构加仓生态良好 比特币牛市延续有戏

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 NFT开发 代币开发

中文区块链媒体自媒体哪些发起来最有性价比?(非权威勿喷)

区块链项目一站式包装孵化

AI赋能美好生活,OpenVINO™技术成果助力多领域发展

E科讯

NetFlow Analyzer:精准流量洞察,引领网络安全新纪元

Geek_a83400

BPM(业务流程管理)的最佳开源工具

NocoBase

开源 项目管理 低代码 BPM 无代码

《中国移动算力网络数据库白皮书》正式发布,NineData叶正盛分享

NineData

数据库 中国移动 叶正盛 NineData 算力网络数据库白皮书

macOS Sonoma 14.7 (23H124) Boot ISO 原版可引导镜像下载

sysin

macos ISO Sonoma

数据结构与算法之间有何关系?

不在线第一只蜗牛

数据结构 算法

总裁,这是一份覆盖50家媒体的区块链发文套餐,请您收下!

区块链项目一站式包装孵化

【理论篇】关于聚合根,领域事件的那点事---深入浅出理解DDD

京东科技开发者

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