📜  亚马逊面试经历|设置 428(用于 SDE-2)

📅  最后修改于: 2021-09-23 05:43:50             🧑  作者: Mango

我接受了海得拉巴校区客户退货团队的面试。在接受采访时,我有 1 年零 9 个月的经验。经验不足是让我非常担心的事情。他们通常要求 3-5 年的经验,但如果你很优秀,可以降到 2 年。

第 1 轮:电话
  • 简要介绍
  • 克隆带有随机指针的二叉树
  • 编写程序计算 pow(x, n)
第二轮:技术轮
  • 简要介绍
  • 内存管理中的最佳拟合算法程序
  • 设计一副纸牌(仅限模型类)
  • NoSQL 与 SQL 数据库(何时选择哪个)
第三轮:经理轮
  • 简要介绍
  • 近 15 分钟讨论亚马逊客户退货团队的工作
  • 所面临的技术挑战的非常详细的描述(包括 HLD、LLD 和提供的解决方案)
  • 设计促销代码 API,将亚马逊的客户流量带入图片(讨论了 HLD 和 LLD——包括在内存数据库中)
  • 您希望在哪些方面进行改进? (技术和非技术)
第四回合:技术回合
  • 简要介绍
  • 拓扑排序的变化:您已经获得了一组相互依赖的任务以及执行它们所需的时间。我们有比给定任务数量更多的并行处理器数量。可能有多个启动任务。也可能存在循环依赖。计算完成所有任务所需的最短时间。预计完整的端到端生产就绪代码。
第 5 轮 : Bar Raiser
  • 简要介绍
  • 现任公司的职责
  • 你为什么要改变你的公司
  • 任何让我与其他人不同的东西(技术和非技术)
  • 任何我引以为豪的项目。该特定项目有什么特别之处。
  • 排列给定的数字以形成最大的数字
  • 与直接在 VM 上部署应用程序相比,使用 docker 有什么区别?
  • 您什么时候觉得自己不喜欢工作流程的现状?任何过去的经历。
  • 关于 mongoDB 集群与 elasticsearch 集群的讨论(来自我的项目)
第六回合:设计回合

1. typescript 有什么特别之处,以至于 Angular 和 React 都将它包含在最近的版本中。讨论了 Tsc 编译器、最终输出、 Java、 JS 和 TS 之间的区别。任何 TS 比 JS 帮助更多的实时项目用例(我来自纯 JS 背景,这就是问这个问题的原因)

2. 设计一个具有以下功能的自动售货机

  • 三种类型的用户:用户、操作员、管理员
  • 用户可以一次选择和购买多个项目。可以多次输入金钱(如果时间间隔 > 30 秒,您将获得该项目)。他还可以逛街(只看商品价格,什么也不买)
  • 如果需要,操作员可以加载项目并将项目标记为过期,如果产品缺货,则会收到通知。
  • 管理员可以拥有多台自动售货机,他应该有一个月内购买的物品的分析报告。他也可以直接改变价格,这应该反映在他拥有的所有自动售货机上。
  • 所有边缘情况下的异常处理

第 2 轮到第 6 轮在亚马逊海得拉巴校区完成。所有的采访都是背靠背的。它从上午 11 点开始到下午 5:30,只有半小时的午休时间。还没等我做完一轮走出去,其他面试官就已经在外面等着了。面试官非常有帮助,但前提是你的思考方向正确。 HR也非常支持。每一轮比赛结束后,他都会来激励我。这里有一些建议

  • 如果你不能解决一个问题,不要把消极的想法带到下一轮。也会影响下一轮。
  • 如果你准备充分,保持冷静和冷静的重要性不容忽视。相信我,否则你将无法承受一整天的压力。
  • 你会被要求写在纸上的所有代码和白板上的设计,所以相应地练习。
  • 为设计面试做好准备,他们对 SDE 2 发挥了重要作用。