Amazon | SDE2 | 面试经验

Viewed 142

第一轮:在线测评(HackerRank)

第二轮:低级设计(LLD)

题目背景:有不同类型的 Alexa 设备,有的带音频,有的带屏幕,有的同时带音频和屏幕。这些设备可能有电池,也可能没有。带电池的设备应有电池电量属性。无论是否带电池,设备都可以处于充电状态。

任务:实现一个 show 方法,如果设备有电池,则显示电池电量;如果没有,则显示“无电池”。同时,显示设备当前是否正在充电。show 方法应打印以下四种情况之一:

正在充电,且有电池 -> 打印“Charging, Battery: xx%”

正在充电,无电池 -> 打印“Charging, Battery not available”

没在充电,且有电池 -> 打印“Not charging, Battery: xx%”

没在充电,无电池 -> 打印“Not charging, Battery not available”

**要求:**使用接口驱动设计,采用合适的设计模式。

第三轮:数据结构与算法(DSA)

树的高度:
给定一个数组,每个索引代表一个节点,值为其父节点的索引(根节点为 -1)。
示例输入:[4, 3, 0, 6, 6, 3, -1, 0]
输出:4 (树的最大深度)

收银台客户排序问题:
商店只有一个收银台。每个顾客到达时间和商品数量不同,商品数量决定他们结账所需时间。
规则:

没有顾客时,收银台空闲;

有多个等待顾客时,先服务商品最少的;

商品数量相同则按到达时间先后;

一次只能服务一个顾客;

一位顾客服务完成后立即开始下一位。

输入:顾客总数 n,二维数组 customers[i] = [arrivalTimeᵢ, checkoutDurationᵢ]
输出:返回一个整数数组,表示服务顺序的顾客编号。

第四轮:Hiring Manager & 高级设计(HLD)

30分钟 Leadership Principle(领导力原则)问题:
涉及 Amazon 的行为面试,深入探讨过往经历。

30分钟高级设计:
一个用户最多可以有 10 台设备。某个设备执行“关闭灯”的操作后,需要将此操作同步到用户的所有其他设备上。
任务:设计一个同步服务,确保所有设备状态一致。

第五轮:Bar Raiser(终面) - DSA & Problem Solving

Crypto Numbers 问题:
给定两个整数 n 和 m,找出范围 [n, m] 内的所有“Crypto Numbers”。
**定义:**相邻数字的绝对差为 1。
示例:

makefile
复制
编辑
输入: n = 0, m = 15
输出: 0 1 2 3 4 5 6 7 8 9 10 12

输入: n = 20, m = 25
输出: 21 23
LeetCode 题目链接:Max Consecutive Ones III

面试体验:

每一轮都具有挑战性。Leadership Principles 的问题在每一轮都会涉及,对最终评估起着同等重要的作用。

结果:成功通过,录用

0 Answers