这份AI算法岗面经很干货:亚马逊分享实战经验,履历到面试全都有
本文经AI新媒体量子位(公众号ID:QbitAI)授权转载,转载请联系出处。
亚马逊,全球首富贝佐斯之下的巨头,全球市值最高的科技公司。
也是目前技术人才发展前景最被看好的组织。
那么问题来了:如果你是算法工程师,加入亚马逊这样的公司,会经历一个怎样的面试过程?
最近这则详实面经,获得高赞,或许可能给你一些参考和借鉴。
满满干货,建议先收藏后看~
岗位要求
首先,我们先来看看最刺激的——岗位要求。
- 数学、统计学、计算机科学或类似专业的本科学位以上
- 5年以上相关领域的工作经验
- 具有丰富的预测和决策模型和数据挖掘技术的工作经验,以及能够使用开发此类模型的工具。
是不是觉得还好?那我们再来看看优先条件:
- 构建以及操作高可行性的分布式数据提取、收集和处理大型数据集的系统的经验
- 使用Linux/UNIX处理大型数据集的经验
- 熟悉AWS技术,如Redshift、S3、EC2、Data Pipeline和EMR等。
- 具备深厚的技术能力和足够的业务知识,能够与客户组织内的各个层面和各个领域的人员进行沟通。
有哪些岗位可以选择?
看完岗位要求,是不是深吸一口气!
别急,我们再来看看在亚马逊,算法工程师们有哪些岗位可以选择。
就目前来看,主要有4种,分别是数据科学家、机器学习工程师、研究科学家以及应用科学家。
这些岗位大体上相似,都是使用大量数据来为各种客户构建机器学习(ML)和深度学习(DL)模型。
但还是有些区别的。
首先在亚马逊,数据科学家要有对数据驱动的洞察力。
他们是连接业务和技术的纽带,负责分析大数据集,并对其进行建模。
机器学习工程师则是构建机器学习和深度学习模型的专家。
不仅需要为亚马逊本司构建模型,也为AWS上的其他大型企业构建模型。
除了构建模型之外,还有实现模型,然后将其投入生产。
研究科学家呢,顾名思义,就是要搞研究。
这个岗位通常是具有较高的教育水平,往往是硕士或博士。
研究型科学家需要突破知识技术的局限,扩展可能的极限。简单来说,就是对新旧技术进行研究,以确定这些技术在实践中是否有益。
应用科学家也需要较高的教育水平,这是比亚马逊的研究型科学家略高的角色。
这个岗位专注于提升亚马逊客户体验的项目,如亚马逊的自动语音识别(ASR)、自然语言理解(NLU)、音频信号处理、文本到语音(TTS)和对话管理等。
看到这里,你觉得OK吗?
不管OK不OK,先投着简历试试呗~
投之前,先来看看基本的面试流程。
面试流程
亚马逊的面试流程有2步到3步不等。
但是对于算法工程师,主要有电话面试、技术面试、以及现场面试3个步骤。
首先,第一步,电话面试。
跟大多数公司的第一次面试差不多,这一步骤主要是由公司的HR负责。
主要是了解应聘者的基本情况,例如简历、过去的经历,希望看到你想要加入亚马逊的兴趣以及职位匹配的能力。
这一步只要你保持谦虚真诚,实事求是就好,就能够安稳度过。
那么就来到第二步——技术面试,这一面试是由来自公司的算法工程师来负责。
首先,询问一些专业知识,包括ML的一些基本概念,比如不同ML模型的解释、偏置-方差取舍、过拟合等。
主要是你对这块知识的了解情况。
接着,就会是一些编码问题,你可以使用任何语言来解答。
当然根据你所应聘的岗位,问题也会有所不同。
要不先来提前了解一下有哪些问题?
举几个例子:
- (Coding) Given an Array of numbers & a target value, return indexes of two numbers such that their Absolute difference is equal to the target.(给出一个数组和一个目标值,返回两个数字的索引,使其绝对值与目标值的绝对差值相等)
- (Coding) Given two dates D1 & D2. count number of days, months?(给定两个日期,算出天数、月数?)
- (Machine Learning) How do to find thresholds for a classifier?(如何为分类器找到阈值?)
- (Machine Learning) What’s the difference between logistic regression and support vector machines? What’s an example of a situation where you would use one over the other?(逻辑回归和支持向量机有什么区别?在什么情况下,您会使用其中一种而不是另一种?)
- (Modeling) What is the interpretation of an ROC area under the curve as an integral?(如何解释曲线下的ROC面积的积分?)
如果你前面两轮面试都过了,那么恭喜你,来到了现场面试。
现场面试大概会有5轮到6轮,主要是技术面试和行为面试。
首先,技术面试不多言,就是刷题。大概会有几轮,主要是关于ML和编程这两个方面,面试官喜欢询问面向对象的设计问题,所以一定要好好刷题!
举一个例子:
Let’s say you have a categorical variable with thousands of distinct values, how would you encode it?(假设你有一个有成千上万个不同值的分类变量,你会如何编码?)
行为面试,就需要你提前去了解一下亚马逊的14条领导力原则、岗位的具体职能、以及公司文化等一些知识。
据了解,Amazon的问题喜欢围绕着Customer为中心来提问,需要你提前准备好经历故事,整理好话术,结合着那14条的原则来答就可以啦。
好了,以上就是亚马逊的面经指南,希望能够对你有所帮助。
或许对于其他大厂的相似岗位,也有可用之处。