申请
要清楚一个科技公司需要什么样的候选人。
- 优先级最高:coding经验多,对技术有热情
- 优先级其次:聪明人,考算法,GPA没那么重要
如何展示出来?
- 简历:内容最重要,有工业界大的project
- 面试:
找工作途径(按优先级)
- 找大佬referral
- 学校co-op平台
- 直接联系到recruiter email
找工作平台: Linkedin, Glassdoor, Indeed
算法面试
- mobile develop, full stack 会面到
- 30-60min, 1-2场
- Phone call, 网上写代码;In person,白板上写或者电脑上code
- 2-3道easy(考验细节),1-2道medium或1道hard
- 主要考察data structure;还有algorithm,会综合数据结构
加拿大主要面试1道medium,主要考察easy和medium。美国主要考察medium和hard。有时候需要讲解思路即可,有时候需要把code写出来。
Evaluation:
- 解题过程中对思路要讲清楚
- code的评价,效率(最优解),正确性(白板面试没有那么重要,电脑上很重要,可以写test case测试),code style
入门书籍推荐:cracking the coding interview
面试之前:Leedtcode公司tag
要自己想test cases,不能太依赖于LeetCode
面试流程
根据岗位(domain knowledge):
- Mobile:
- Infrastructure:
- Back-end:
- Frontend:
- Fullstack:
根据项目经历来问。
准备:申请工作时要仔细看job description,must have/简历上写的/常见通用的问题/system design(Grokking the Systems Interview)