📜  Traveloka SDE3面试体验(校园)

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

Traveloka SDE3面试体验(校园)

在线技术目标第 1 轮:该轮有 50 个关于 C++ 及其输出的问题。它是在 Hackerrank 上进行的。分配的时间限制是 75 分钟。

第一轮结束后,约有50名学生获得了第二轮的参赛资格。

在线编码第 2 轮 –有 2 个问题需要解决。

问题 1:给定的N个节点。如果GCD (node1, node2)大于给定阈值(T),则任何两个节点相互连接。问题是找出给定的两个节点之间是否有任何路径用于 Q 查询。在创建邻接矩阵后应用修改后的 BFS 通过了大多数测试用例。

问题 2.修改的硬币变化问题

N个硬币必须转换成M个硬币。如果您使用X个硬币,那么您可以通过添加Y个硬币来转到(X + Y) ,其中YX质数。添加 Y 构成一个步骤。问题是找到转换所需的最小步骤数。这个问题可以通过动态规划来解决。

8名学生在编码轮次后被选中进行面试轮次。

面试第一轮:面试也在skype上进行。采访从定期的介绍开始。然后我被问到我喜欢的语言以及我用它们做的项目。然后问了一些编码问题。

问题 1:找到二叉树中的最大路径和。路径可以在树中的任何节点开始和结束。我和他讨论了我的方法,他对此很感兴趣。他让我为它写一个伪代码。后来他发现了一些错误,并告诉我重新检查。过了一段时间,我给了他一个 O(n) 的方法。他对此很满意。

问题 2:在二叉树中找到 LCA。我一直在寻找 BST 而不是二叉树中的 LCA。所以首先我给了他一个在 BST 中找到 LCA 的 O(height) 解决方案。但他期待二叉树的 O(n) 解决方案。所以我给了他另一个解决方案,在 O(n) 中使用路径遍历找到 LCA。

问题 3:有 N 次提交到存储库。对于特定的提交 x,已知存储库中没有错误,并且在提交 Y 之后,存储库中存在一些错误。问题是找到导致错误的提交。

我为复杂度 O(log(n)) 的问题编写了二分搜索算法。试运行后,他确信解决方案对问题有效。

一轮持续了1个小时。 4名学生被进一步选拔进入下一轮。

面试第二轮:这一轮也是从介绍开始的。面试官问我上一轮的问题和我的处理方法。  

问题 1:我得到了一个支持标准操作(如 enqueue() 和 dequeue())的 Queue 数据结构。我必须仅使用 Queue 实例和实例上允许的队列操作来实现 Stack 数据结构。

解决方案:https://www.geeksforgeeks.org/implement-stack-using-queue/

问题2:实现LRU缓存。我使用散列映射和链表 O(n) 来实现它。他期待 O(1) 进行页面替换。然后我在我的方法中使用了使用双向链表的队列。

解决方案: https ://www.geeksforgeeks.org/lru-cache-implementation/

然后他又问了我一个解决问题的问题。询问了一些内存管理概念、项目相关问题和 DBMS 概念。他想知道在我的项目中选择一种技术而不是其他一些技术的原因。

之后他问我是否有任何问题。我问了他一些问题。他用解释回答了我的每一个问题。

这一轮持续了大约1小时15分钟。面试官有兴趣了解我解决 DS 问题的方法,而不是代码。

整个过程持续了两天。我被选为 SLI+FTE。最终录取了 4 名学生。