这是在浦那为 Kindle 团队(钦奈)进行的招聘活动。
第 1 轮(筛选):
向所有人提出了两个常见问题。我们应该先与面试官讨论解决问题的方法,然后在面试官相信你的方法后实施它。
- 后缀表达式求值
- 期望处理所有异常,如无效表达式、表达式中的无效符号等。
- 对 0 的数组进行排序。 1 秒和 2 秒
- 我给了他计数解决方案和另一个解决方案(都是线性的),但他希望我一次性解决它,期待荷兰国旗算法。 (幸运的是仍然入围:))
第 2 轮(解决问题):
- 将 Postfix 表达式转换为 Infix
- 并且不应有多余/不必要的括号,如 (a*b)、 (a+b)+c、(a*b)+c等无效。但是(a+b)*c是有效的。
- 给定字符串的所有字谜
- 后来要求我修改程序以返回所有字符串的列表而不是打印它们。
- 还让我干运行代码以获取示例输入。
第 3 轮(解决问题):
- 雨水收集问题
- 我被困在这里,但终于能够得到解决方案。
- 打印二叉树的右视图
- 可以通过树的层序遍历来完成。
- 使用 Next 和 Random 指针克隆链表
- 鉴于使用O(n)额外空间(使用哈希图)的解决方案。
- 在过去的 6 个月里,你最大的成就是什么?
在完成这些轮次后,我被邀请到金奈进行现场面试,以进行进一步的轮次。
第 4 轮(设计):
- 让我从我的简历中解释其中一个项目的架构。
- 使用类图进行解释。
- 设计类似 Whatsapp 的服务。
- 首先给出高层设计,然后更深入地解释负载平衡,拆分为微服务和它们之间的通信,通知服务,消息队列,数据库分片等。
- 问我如何维护消息的顺序,因为客户端的时间戳不可靠。
- 独立国际象棋棋盘游戏的类图。
- 讨论我的设计,例如,为什么需要这个类/关系,为什么这个方法在这个类中而不是那个类中,等等。说服他的少数人,给出适当的理由,并为其他少数人改变设计。
- 任何棋子的所有可能动作的伪代码。
在这之后,HR 告诉我,我的设计回合的反馈非常好,并且还建议我在其余回合中表现出色。
第 5 轮(杠铃):
很少有问题可以评估我对亚马逊领导力原则的看法。我不记得他们了🙁
- 你有没有辅导过别人?
- 您在以前的组织中引入的任何更改/改进。
- 离开前公司的原因
- 加入亚马逊的理由。
- 你知道亚马逊正在做什么样的项目吗?
- 你最大的技术错误之一。
最后还有一个算法问题。二叉树的直径
- 让我返回 2 个相应的节点(在直径的末端)而不是直径。
第 6 轮(招聘经理):
- 关于我以前的公司和项目的一些讨论。
- 一个算法问题。
- 鉴于一类学生中的所有比赛的结果,写一个程序,让学生站在一个次序,使得每个学生必须已经失去了在他/她的直接左边,赢得了学生对学生他/她的眼前对。
- 一些领导问题。又想不起来了。
- 最具挑战性的技术任务以及您是如何解决的。
注意:在解决问题的回合中,您应该使用您选择的任何语言编写工作代码,处理所有极端情况。
3天后终于拿到offer了!! 🙂一切顺利!! (y)
亚马逊的所有练习题!!