📅  最后修改于: 2023-12-03 14:39:05.826000             🧑  作者: Mango
面试是每个程序员职业生涯中必经的一道坎。本文将分享一位应聘Amazon SDE-1的面试经验,供大家参考。
在线编程环节是面试过程的第一轮,本轮面试采用谷歌在线编程平台。面试官在收到简历和个人信息后,会安排面试时间和在线编程题目给出链接。本次面试编程题目是“找出数组中重复次数最多的元素”。
def find_most_common(arr):
"""
找出数组中重复次数最多的元素
"""
d = {}
for i in arr:
if i in d:
d[i] += 1
else:
d[i] = 1
return max(d, key=d.get)
第二轮面试是一轮肆意挑战,面试官会针对个人简历和工作经验,来问一些细节和挑战性问题。以下是本轮面试的问题:
第三轮面试是一轮面向对象设计。面试官会要求面试者根据特定场景和需求,设计一个符合面向对象设计规范的类和对象。以下是本轮面试的场景和需求:
场景:一个汽车制造商公司正在制造一辆具备智能驾驶功能的新能源汽车。
需求:
class ElectricCar:
"""
符合面向对象的电动汽车类
"""
def __init__(self, model_name, battery_level, gps, camera):
self.model_name = model_name
self.battery_level = battery_level
self.gps = gps
self.camera = camera
def recharge(self):
"""
智能充电功能
"""
if self.battery_level < 20:
self.battery_level += 80
elif self.battery_level < 90:
self.battery_level += 10
else:
self.battery_level = 100
def navigate(self, address):
"""
智能导航功能
"""
if self.gps.is_available():
self.gps.navigate(address)
else:
raise Exception("GPS is not available.")
def auto_park(self):
"""
智能停车功能
"""
if self.camera.is_available():
self.camera.park()
else:
raise Exception("Camera is not available.")
Amazon的一大特色就是Leadership Principles.每次面试都会有至少一轮面试官问到Leadership Principles,通过面试者的行为,来判断其是否符合Amazon的文化。以下是Amazon的所有Leadership Principles:
在这一轮面试中,面试官提出了一些问题,要求面试者分享说明自己的Leadership Principles是如何贯彻于日常开发中的。
本轮面试是Amazon的总经理面试,面试官需要综合考虑前面所有面试官的反馈,以及面试者的简历和个人表现,来决定是否给予offer。总经理面试主要考察面试者的背景和适合性,以及如何与团队一起合作完成任务。
Amazon是一家拥有严格面试流程和高质量工程团队的公司。通过面试,面试者可以深入了解Amazon的文化和技术水平,并了解自己在当前市场的定位。从本次面试经验来看,Amazon的面试过程主要分为在线编程、肆意挑战、面向对象设计、Leadership Principles和总经理面试,分别从编程正确性、软件设计能力、领导力和文化适合性等方面考察面试者的能力和素质。如果你正在在线找工作,我相信Amazon是一个不错的选择。
欢迎到我的博客 wyong's blog 交流学习。