Beyond the interview
顶级公司面试流程
顶级科技公司的面试流程整理,帮助你提前了解并准备
Info
由于 COVID 旅行限制,很多公司即便是 onsite 轮也会改为 remote,因此以下流程可能会有差异。
Airbnb
System Design Handbook
系统设计题先把框架搭起来
核心概念、设计取舍与经典案例一站式索引。
- Recruiter phone screen
- Technical phone interview:
- 1 or 2 x Algorithm/front end on CoderPad/CodePen
- Onsite (General):
- 2 x Algorithm coding on CoderPad
- 1 x System Design/architecture
- 1 x Past experience/project
- 2 x Cross functional
- Onsite (Front End):
- 2 x Front end coding on CodePen. Use any framework/library
- 1 x General coding on your own laptop
- 1 x Past experience/project
- 2 x Cross functional
- Tips:
- 所有环节都需要在自己的电脑上编码,提前准备开发环境
- 可以查 API
- 面试非常强调可编译、可运行的代码
- Cross functional 面会安排不同岗位的 Airbnb 员工,偏非技术但非常重视文化匹配。建议查看 behavioral questions 里的 Airbnb 部分
Asana
- Recruiter phone screen
- Technical phone interview
- Onsite (Product Engineer):
- 3 x Algorithm and System Design on whiteboard within the same session
- 1 x Algorithm on laptop and System Design. 45 分钟内在自己的电脑上写 3 道算法题,之后工程师会进来 code review。过程中不能运行代码
- Tips:
- 没有前端题
- Asana 强调 System Design,频繁使用白板。前三轮面试的算法部分不一定要求写代码
- 4 轮都涉及算法和 System Design,其中一轮由 Engineering Manager 面试
- 最后一轮需要在自己电脑上编码,提前准备环境
- Product Engineer 与 Engineering Generalist 的流程和题目相似
Dropbox
- Recruiter phone screen
- Technical phone interviews:
- 2 x Algorithm/front end on CoderPad/CodePen
- Onsite (Front End):
- 2 x Front end on CodePen. Only Vanilla JS or jQuery allowed
- 1 x General coding on CoderPad
- 1 x All around. Meet with an Engineering Manager and discussing past experiences and working style
- Tips:
- 可以用自己的电脑编码,也可以查 API
- Dropbox recruiter 通常会给出比较明确的面试预期
- 有一轮前端面试会要求你复刻 Dropbox 网站上的一个真实页面,给定 spec,需要写出可运行的实现
- Recruiter phone screen
- Technical phone interview:
- 1 or 2 x Algorithm on Google Doc
- Onsite:
- 1 or 2 x Front end on whiteboard. 可能要求用 Vanilla JS(最多 jQuery),仅限前端岗
- 2 to 4 x Algorithm on whiteboard
- 1 x General Cognitive Ability, Leadership and "Googleyness"
- Team matching
- 与多个 team 的 manager 沟通,匹配意向团队
- Tips:
- 极少数情况下可跳过 phone interview 直接 onsite
- 对非应届来说,必须 team match 成功才会收到 offer
Indeed
- Recruiter phone screen
- Technical phone interview (optional)
- Onsite:
- 1 x Online Assessment on HackerRank (for L0 - L2)
- 1 x Resume discussion
- 1 or 2 x Algorithm on HackerRank
- 1 x Code Review on GitHub
- 1 or 2 x System Design (for L3+)
- 1 x Technical Presentation (for L4+)
- Tips:
- 不同岗位的 bar 会不同
- Hiring decision 与 leveling 分开讨论,level 主要看经验与领导力信号
- 如果面试表现好但岗位已满,其他 hiring manager 可能会接手你的 packet
Lyft
- Recruiter phone screen
- Technical phone interview:
- 1 x Algorithm/Front end over JSFiddle
- Onsite (Front End):
- 4 x Front end on Coderpad/your own laptop. Use any language/framework
- 1 x Behavioral. Meet with an Engineering Manager and go through candidate's resume
- Tips:
- 可以用白板或电脑
- 前端题我当时用 React,面试中现场用
create-react-app起项目
Meta (previously Facebook)
- Recruiter phone screen
- Technical phone interviews:
- 1 or 2 x Algorithm/front end on Skype/CoderPad
- Onsite:
- 2 x Technical coding interview on whiteboard
- 1 x Behavioral. Meet with an Engineering Manager and discussing past experiences and working style
- 1 x Design/architecture on whiteboard
- Onsite (University Grad):
- 2 x Technical coding interview on whiteboard
- 1 x Behavioral. Meet with an Engineering Manager and discussing past experiences and working style
- Tips:
- 只能用白板(或墙),不允许用电脑
- behavioral 轮末尾可能会追加技术题;前端岗可能会被给一个小 HTML/CSS 题
- coding 轮题目数量取决于你的解题进度
Palantir
- Recruiter phone screen
- Technical phone interview:
- 1 x Algorithm over HackerRank CodePair and Skype
- Onsite (General):
- 2 x Algorithm on whiteboard
- 1 x Decomposition (System Design) on whiteboard
- Onsite (Front End):
- 1 x Front end on your own laptop. This session lasts about 1.5 hours. Use any library/framework
- 1 x Decomposition (System Design) on whiteboard
- Tips:
- 我当时用 React,面试中现场用
create-react-app起项目 - 技术面之后可能会加一轮 Engineering Manager 交流,不一定好坏,属于正常流程
- 我当时用 React,面试中现场用
- Recruiter phone screen
- Technical phone interview:
- 2 x Algorithm over CoderPad
- Onsite (Web Client Developer):
- 4 x Algorithm on whiteboard
- Tips:
- 没有前端题
- 面试官里会包含 Engineering Manager