亚马逊SDE(北京)面经
牛客上找的内推,感谢内推的前辈和牛客。
本硕985数学专业,一段大厂暑期实习,一段中厂日常实习。
整个流程如下
8.21 | 8.27 | 9.10 | 9.10 | 9.30 |
简历投递 | 笔试 | 一面 | 二面 | 谈薪 |
流程上感觉不算特别快,通知结果相隔了20天,可能是排序在前的小伙伴拒掉之后,才把我捞起来。面试整体体验很好,下面是面经:
一面 1h
- 面试官自我介绍并且简单介绍了部门的情况。
- 中文自我介绍,所学专业是做什么的,通俗地讲解一下。
- 实习的项目和用到的算法。
- 算法题:套了个电商背景的次模优化问题。大意是有一个必须购买的商品集合,商城搞大促,一些商品捆绑销售。要求用最少的钱去购买一些捆绑商品,使得能够覆盖必买商品。举个例子,比如必须购买的物品列表为{A,B}。{A,C}捆绑销售,售价为10,{B,C}捆绑销售,售价为10,{A,B}捆绑销售,售价为30。那么最少花费20,购买{A,C},{B,C}可以覆盖{A,B}。实习的时候有一部分工作是研究类似的问题,虽然约束和优化目标有所区别。拿到题目先是和面试官确认了一下题意(英文题目,中文交流,那个在线白板只能打英文和数字),试探了数据规模,明确函数接口以及返回值。
- 反问环节:部门具体业务、技术栈、招人偏好。
二面 1h
- 面试官自我介绍。
- 中文自我介绍,挑一个项目讲一下。
- 算法题:Leetcode上一道非常经典的hard题copy books(这道题没做过的小伙伴强烈建议看一下)。我先扭捏了一下,说了一个二维dp的做法,面试官说复杂度不够好,你再优化优化,提示了答案有单调性。然后我就不装了,写了个二分答案转判定的做法。
- 反问环节:公司的新人培训、transfer的难度和流程、面试官从国内互联网跳到亚马逊的感受。
两轮面试其实运气更重要一些,大家可能题都做出来了,剩下的选拔和排序的机制如何并不清楚。如果面试官人力足够的情况下,多一些轮次可能会更好一些。
现在面试都会有手撕代码环节,个人觉得手撕环节是自己比较擅长的。虽然春招和秋招面试过程中,碰到难题的次数很少,但是不论什么类型的题,都会和面试官再三确认题意和函数接口,在确认题意的过程中,会问一些数据规模方面的问题。数据规模一般会和最优解的时间复杂度相关。在有思路之后,会先和面试官交流一下,看自己的做法是否满足要求,比如原地、时间、空间。写完之后会先检查一下,边界判断突出出来,像动态规划的状态数组和状态转移方程会写中文注释并尽可能详细的通过语言描述清楚。
这是我秋招第一家谈薪的公司,听hr小哥介绍工资package组成和福利的时候,感慨自己竟然也能卖出个价钱,猛虎落泪。算了下时薪还是很香的,外企的SDE岗位更像是全栈工程师,对于非科班的我挑战比较大。hr小哥给了一个ddl,让那之前给出答复,如果拒了的话会继续捞后面的小伙伴。
希望之后的公司谈薪也能芝麻开花节节高,也希望牛友们都能最终拿到自己满意的offer并且顺利毕业。