根据面试的不同对象,在招聘过程中你可能需要面对 HR、技术面试官和老板。针对不同的角色,你应该准备不同的面试方式。具体分析如图1-2所示。<sup>[1]</sup> | 面试官 | 他想要知道 | 可以向其询问 | | --- | --- | --- | | 人力资源 | 你是谁?你的职业兴趣是什么? | 公司的整体信息和组织结构;开放的职位 | | 工程经理 | 你做过什么项目?具备什么技能? 对什么项目感兴趣? | 团队的职责是什么?团队目前和将来会做什么项目?团队在找什么样的人? | | 产品经理 | 对公司产品的观点/反馈/建议。如果让你设计一款产品,你会怎么做? | 公司的下一步产品是什么?公司面临的关键性挑战是什么?公司中的工程师如何与产品经理交互? | | 午餐面试者 | 你之前或当前公司/学校的团队怎么样?你喜欢他们吗?为什么?你怎样融入公司的文化? | 公司中的团队是怎么样的?他们有哪些团队构建活动? | | 工程师 | 如果你能够提出合理的清晰的问题,如果你能够有效地表达你解决问题的规划,如果你最终能够解决这个问题——那么,请展示你的代码 | 一般的工作流程是怎样的?公司使用的技术栈是什么? | | 架构师 | 你是否能够以可扩展的方式解决问题?你是否能够认清系统设计中的关键权衡? |公司使用的技术栈是什么?公司如何使用这些技术来解决现实世界的问题? | **图1-2 面试须知** > <sup>[1]</sup> 这个表格主要是针对美国求职而言的。中国的程序员并不一定是这种形式,这里只是希望读者可以参考一下北美的面试流程。