📜  亚马逊 SDE 2 面试经验(3 年经验)

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

亚马逊面试经历一:

筛选轮次:

  1. 找出所有加起来为 0 的对
  2. 找到总和最接近(绝对值)到 0 但非 0 的所有对
  3. 找到总和最远(绝对)到 0 的所有对

设计回合:

  1. 一个初创网站有很多实时流量。我想查看过去 10 分钟内按点击次数排名前 20 位的用户的实时视图(每 1 分钟刷新一次)。完全分布式系统,我必须解决所有并发问题。

编码回合:

  1. 数组有4种模式:单调递增、单调递减、递增后递减、递减后递增。给定一个数组,相应地识别
  2. 给定数字数组,从每个大小为 k 的子数组中找到最大值。滑动窗口

结果:拒绝

亚马逊面试经历2:

设计回合:

  1. 设计一个规模从 100tps 到 1000tps 的博客网站。您将在 No-Sql 与 Sql 之间做出哪些设计选择并完整解释为什么?
  2. 在上述系统中,您如何根据用户每天关注的主题向用户发送通知?你如何向博客添加评论?
  3. 如何在使用一致散列进行负载平衡的实时系统中添加节点?
  4. 在 Sql 与 No-Sql 数据库中查找行的时间复杂度。需要深入解释原因。(如果有重复怎么办?)
  5. 当您想要扩展时,关系数据库系统到底有什么问题?
  6. 什么是弹性搜索?什么是动态模块?

亚马逊领导力原则

  1. 解决的最困难的技术挑战:深入详细说明挑战是什么,为什么需要解决它,有哪些方法,你选择了哪一个以及为什么。还有谁参与了,他们的贡献如何?花了多长时间开发
  2. 您遇到歧义的情况以及您如何解决它
  3. 您在当前工作中设计的任何系统示例展示了您的设计技能?

结果:拒绝