我接受了海得拉巴校区客户退货团队的面试。在接受采访时,我有 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 秒,您将获得该项目)。他还可以逛街(只看商品价格,什么也不买)
- 如果需要,操作员可以加载项目并将项目标记为过期,如果产品缺货,则会收到通知。
- 管理员可以拥有多台自动售货机,他应该有一个月内购买的物品的分析报告。他也可以直接改变价格,这应该反映在他拥有的所有自动售货机上。
- 所有边缘情况下的异常处理
Both HLD and LLD were expected.
第 2 轮到第 6 轮在亚马逊海得拉巴校区完成。所有的采访都是背靠背的。它从上午 11 点开始到下午 5:30,只有半小时的午休时间。还没等我做完一轮走出去,其他面试官就已经在外面等着了。面试官非常有帮助,但前提是你的思考方向正确。 HR也非常支持。每一轮比赛结束后,他都会来激励我。这里有一些建议
- 如果你不能解决一个问题,不要把消极的想法带到下一轮。也会影响下一轮。
- 如果你准备充分,保持冷静和冷静的重要性不容忽视。相信我,否则你将无法承受一整天的压力。
- 你会被要求写在纸上的所有代码和白板上的设计,所以相应地练习。
- 为设计面试做好准备,他们对 SDE 2 发挥了重要作用。