📅  最后修改于: 2023-12-03 15:36:06.076000             🧑  作者: Mango
作为一名校园招聘的 SDET,我参加了亚马逊的面试。在这次面试中,我收获了许多经验和教训,以下是我亚马逊面试的经历。
亚马逊的面试主要分为在线笔试、电话面试和现场面试三个环节。
在线笔试主要涉及技术和算法。我需要在不到两个小时的时间里完成 7 - 8 道题目。这些题目涵盖了数组、字符串、递归、二叉树等多个方面,难度大部分属于 LeetCode 中等难度的 level。
相对来说,此环节难点主要在于考查候选人的代码能力,以及对数据结构和算法的掌握熟练度。对于准备充分的同学,过关并不算难。
电话面试主要是面对面进行的一对一交流与问答,通常会有一个面试官对应数位面试者。这部分更重要的是考量候选人的项目经验与应聘后未来在公司具体的工作流程能力。
在电话面试中,我被问及了多个技术背景和性格相关的问题。如:
通过电话面试后,我受到了 invite 信,被要求前往公司本部进行面试。
现场面试是最后一个阶段,主要是与亚马逊公司内部专业人员深入交流。我被安排了三个不同的面试时间,两个技术面和一个管理者面试。
其中,技术面试和电话面试类似,我被要求就这些话题进行笔谈:
另外,最后一轮面试则是聊天与交流为主,如:
总的来说,亚马逊的面试环节主要以技术与管理背景的问答为主,强调技术能力、项目经验与未来团队协作的能力,并越往后阶段越倾向于人文素质与与企业文化沟通的体验交流。以下是我总结出来的面试准备经验:
在面试中,我同时需要准确和自然地与面试官沟通,表达出自己的思路与想法,建议应该充分准备,尽可能多联系练习。事实上,每次面试的机会均可以作为实践改善自己能力的经历!
下面是一个参考代码段:
def get_common_chars(str_1, str_2):
"""
Find common characters between two strings.
"""
from collections import Counter
# Calculate frequency of each character
counter_1 = Counter(str_1)
counter_2 = Counter(str_2)
# Find common characters
common_chars = set(str_1) & set(str_2)
# Return a list of common characters, ordered by frequency
return [char * min(counter_1[char], counter_2[char]) for char in common_chars]
总而言之,亚马逊的面试非常注重应聘者的技术能力和对企业文化的理解度。在准备和参与面试过程中,应聘者需要充分准备,跟进最新技术趋势,对相关企业文化及公司业务有所了解,并尽量注重整体修养,技术技能更是应该面面俱到。