📜  ASDE 暑期实习的 Expedia 面试经验

📅  最后修改于: 2021-11-10 06:21:06             🧑  作者: Mango

第 1 轮-编码轮:

编码回合包括两个问题:

  1. 在 BST 中实现搜索 – https://www.geeksforgeeks.org/binary-search-tree-set-1-search-and-insertion。
  2. 给定一个名称列表,找到投票数最多或出现次数最多的名称。如果多个名称出现次数最多,则输出字典序最大的名称。

它还包含 10 个基于技术 + 能力混合的 MCQ 问题。

第 2 轮 – 面试:

这是一个关于蓝色牛仔裤的视频电话采访。

首先面试官要求介绍,然后是关于项目的简短讨论。

向代码提出了一个问题。问题是找到 K 个最大的元素(所有 K 个元素,而不仅仅是第 K 个元素)并将它们打印在整数流中。我的方法类似于 – https://www.geeksforgeeks.org/kth-largest-element-in-a-stream/。他让我使用 Max-Heap 而不是 Min-Heap。面试后,我意识到不是将 Ai 添加到最小堆,我可以将 -Ai 添加到最大堆,并轻松解决了问题。我被要求对此进行编码。

然后,他问了一个谜语:

给定 2 罐 9 升和 13 升容量。看看这两个能不能量出6升。你有无限量的可用水。我被问到解决方案及其背后的逻辑。

解决方案:

装满 9 升的罐子,倒空到 13 升的罐子里。继续重复这个。一旦装满,清空 13 升的罐子。经过 4-5 次迭代,我们得到了答案。

基本逻辑是 (9*x)%13 = y 其中 x 从 1 到 12 变化。所有获得的 y 都可以通过此准备,可以在壶 2 中获得。

第 3 轮 – 面试:

这是一个关于蓝色牛仔裤的视频电话采访。

面试官先让我做自我介绍。有人问我为什么要放弃 Expedia 的校内实习机会。

然后我被问到散列,可能的冲突,散列技术。随后是一些关于操作系统的讨论,涉及线程、线程和进程之间的区别、CPU 调度、上下文切换。

然后我被要求编写一个代码来找到总和 <= 给定值 K 的最大子数组。我给出了一个 O(N^2) 方法,然后将其优化为 O(N)。

第 4 轮 – 面试:

这是与公司高级总监就蓝色牛仔裤进行的视频通话采访。

面试首先详细讨论了我的项目和实际应用。然后我被问到我的编码成就以及我如何管理编码和学习。然后我被问到我最喜欢的数据结构,我回答了哈希。我被问到哈希在数据库和 Google 推荐系统中的实际应用。然后我被问到客户端服务器交互。采访结束时讨论了我为什么对 Expedia 感兴趣。

最终判决:已选择!!