人生第一份工作:硅谷资深技术面试官教你如何拿互联网大厂 Offer


人生第一份工作:硅谷资深技术面试官教你如何拿互联网大厂 Offer
本文插图
正值春招 , 相信很多程序员小伙伴都在紧张地准备面试 。 力扣特别邀请和采访了硅谷资深技术面试官沈老师 , 站在面试官的角度和大家聊一聊 国内外技术面试中的考察点以及算法学习经验 , 帮助大家充分准备技术面试 。
一、面试官背景介绍
大家好 , 我在美国硕士毕业之后进入硅谷一线公司工作 , 现在已经工作接近七年 。 毕业后我面试过Apple , Google , Facebook , Amazon 等十家公司获得了八个 Offer , 最后选择在苹果公司工作 。 工作三年后跳槽去了Facebook , 跳槽过程中面试了Snap , Netflix , Slack , Google 等公司 , 通过了所有的技术面试 。 我在 Facebook 的最后一年担任工程师经理 , 期间有不少中美独角兽前来联系 。 我选取了其中一些比较有意思的公司进行了交流 , 拿到了阿里钉钉 , 字节跳动 , 以及三家美国独角兽公司的 Offer , 目前在一家硅谷创业公司担任 tech lead 的职位 。
在工作的过程中 , 我也乐于帮助公司筛选人才 , 在所有任职的公司都担任面试官 。 我个人也对准备和应对面试比较有心得 , 之前和朋友一起出版过程序员面试相关的书籍 , 最近在准备一些算法内容讲解和技术干货的内容 , 后面会分享给大家 。
下面 , 我就针对 技术面试中大家会遇到的一些常见问题做一些解答 , 希望对大家有所帮助 。
二、面试前准备
Q1:在面试前 , 面试者应该如何有针对性地准备技术面试?
面试的第一步就是投简历 , 面试者首先要准备一份有吸引力的简历 。 作为技术求职者 , 简历中之前做过的项目是突出自己水平的重中之重 。
已有工作经验的求职者
对于已有工作经验的求职者而言 , 之前的工作项目 , 特别是有大量代码量或者技术难度的项目需要重点描述 。 描述的过程中需要回答这三个问题:做了什么 , 怎么做的(比如用了什么框架 , 什么算法) , 最后实现了什么样的效果 。 如果项目和所要申请的公司有很大的匹配度 , 那么恭喜你 , 你会有更大的机会被邀请参与面试 。 公司看重的是你的能力和经验 , 像写命题作文一样地在简历中突出这两点可以提升你的竞争力 。
刚毕业或者即将毕业的学生
对于刚毕业或者即将毕业的学生而言 , 可能实际的工作和项目经验就不是那么多 。 但是很多课程项目 , 大作业 , 毕业论文 , 都可以当成业界经验来描述 。
优先级可以参考这个顺序:
之前的业界实习 , 毕业设计或者毕业论文 , 课程大项目 , 开源项目的贡献等等 。
在准备完简历之后 , 你需要对简历的内容进行模拟问答 。 首先要准备一个简短的自我介绍 , 涵盖自己的背景 , 求职目标等 。 对于简历上写的项目 , 都需要提前准备 , 做到对答如流 。 对于每个项目 , 你一般需要准备两个版本:
简单版本:可以讲清楚这个项目实现了什么 , 你在其中的角色是什么 , 你最后实现了什么功能;
深入版本:准备项目的技术难点和细节 , 比如说可以利用若干个开源方案解决这个问题 , 为什么最终选择了这个方案 , 其中的取舍是什么 。 在简历之外 , 还需要准备一些行为问题 , 也就是所谓的文化面试 。 包括如何应对压力 , 和队友产生分歧的时候怎么处理等等 。 这些可以搜索一下网上常见的问题 。
在你进行了充分的准备之后 , 就可以开始你的求职之路 。 首先你需要选择合适的公司和职位 。 在选择面试公司的时候 , 应该根据 自己的风险偏好 决定公司的成熟度 。
上市公司在工作安全性方面会更好 , 但是可能工作的上升通道有限 , 并且公司的股票价值也许增长空间不大 。 创业公司受经济周期的影响更大 , 有倒闭破产的可能 , 但是一旦成功 , 与之对应的收益也非常大 , 甚至可能在你三十岁左右就能财富自由 。


推荐阅读