📜  MakeMyTrip 面试体验 2019

📅  最后修改于: 2022-05-13 01:58:11.804000             🧑  作者: Mango

MakeMyTrip 面试体验 2019

我通过一位在那里工作的朋友的推荐申请了 MakeMyTrip (MMT)。在这次面试之前,我有 1 个月和 8 个月的经验。

第 1 轮:机器编码轮

设计一个银行系统,允许用户 1. 创建账户 2. 提取或存入资金 3. 检查账户余额 4. 停用账户。公开与这些函数相关的 REST API。无需使用数据库,在内存中执行所有计算。时间限制为 1.5 小时。在与这一轮相关的采访/评论中,我被问及在进行涉及取款/存款或将资金从一个账户转移到另一个账户的多笔交易时,您将如何处理并发问题(我无法回答这个问题)。

第 2 轮:问题解决——数据结构/算法轮

问题 1:假设有一些演讲者将在一个活动中演讲,这些演讲者中的每一个都由 AZ 中的一个字符代表。活动持续 N 天,每天只有一位发言者发言。你知道演讲者要发言的顺序,也就是说,你知道他们的日程安排。您计划连续 M 天参加此活动。在这 M 天内,您最多可以听到多少个不同的扬声器。

问题 2:给定两个包含整数的排序数组(您可以假设它们都是正数),找到时间复杂度最低的中位数。 (这是一个众所周知的问题,你也许可以在这里找到它)
文章链接:https://www.geeksforgeeks.org/median-of-two-sorted-arrays-of-different-sizes/

问题3:有一些事件,每个事件都由一个字符或一个数字表示。一个事件可能有一些依赖事件,这意味着一个事件只有在它们的依赖完成时才能发生。这些事件的依赖列表没有经过精心设计。可能存在循环依赖,例如 A 依赖 B,B 依赖 D,D 依赖 A。对于给定事件,列出其所有依赖关系并找出是否存在循环依赖关系。
文章链接:https://www.geeksforgeeks.org/find-whether-it-is-possible-to-finish-all-tasks-or-not-from-given-dependencies/

问题 4:给定一个链表,其中每个节点都包含一个整数值,你只有一个节点的引用,比如 X。从列表中删除节点 X。 (这也是一个众所周知的问题)
文章链接:https://www.geeksforgeeks.org/in-a-linked-list-given-only-a-pointer-to-a-node-to-be-deleted-in-a-singly-linked-list -你如何删除它/

第三轮:系统设计轮

问题 1:这是一个更具协作性的回合。你必须设计一个管理停车场的系统。例如,您的程序应该使停车场入口处的人员能够有效地处理进出车辆。我给出了一个非常基本的答案,就像我设计了一个只有一个入口的停车场系统。面试问,你将如何处理多个入口。我为此给出了解决方案。然后他补充说,如果您希望车辆占用靠近其入口的空间,您将如何确保它。还有一些与我的解决方案特别相关的问题。就像有一次我提出了一个解决方案,使分配停车位是一个异步事件,面试官希望我提出一个同步解决方案。

问题 2:与设计模式、SOLID 原则、依赖注入/反转控制相关的基于理论的问题。 (我只能部分回答最后一个)

在这次面试之后,我遇到了一位 HR,并获得了一个职位。