第 1 轮:这是 Mettl 的在线测试。它由 28 个基于数据结构和算法的 MCQ 以及一些基于输出的问题和 2 个编码问题组成。难度级别为中等。
编码问题是:
- Euler 的 Totient函数
https://www.geeksforgeeks.org/eulers-totient-function/ - 计算数组中的反转
https://www.geeksforgeeks.org/counting-inversions/
我能够通过这一轮并在 2 周后接到面试电话,但由于某种原因无法参加,一周后我再次被要求参加面试。
第 2 轮:这是一次 F2F 技术面试,或者我会说更多是解决问题的一轮。面试官看起来很友好。她首先询问了我自己,然后在进行了介绍后,立即跳到了 DS 和 Algo。
我被问到两个问题——
- 股票买卖以最大化利润
https://www.geeksforgeeks.org/stock-buy-sell/ - 给定一个字符串和一个模式。查找字符串作为子序列的模式出现次数(非重叠)。
我能够解决这两个问题。最后她问我有什么问题要问她,然后让我在外面等。 HR 告诉我我将进行第 2 轮,并被要求在大约半小时内进行第 2 轮。
第 3 轮:这又是一次 F2F 技术面试/问题解决轮。他直接跳到DS和Algo。
我被问到两个问题——
- 以最低成本连接 n 根绳索
https://www.geeksforgeeks.org/connect-n-ropes-minimum-cost/
我没有被直接告知要实现这个问题,但必须从问题陈述中找出这是潜在的问题。 - 返回在有向无权图中从一个节点到达另一个节点的步数。
我使用 Level Order Traversal 做到了。
我能够解决这两个问题。最后他问我有什么问题要问她,然后让我在外面等。
这些技术面试的目的是了解候选人处理问题背后的思维过程。如果您遇到困难,他们会给您很多提示,如果他们知道可以进一步优化,他们会要求您优化方法。在讨论了该方法之后,您需要在纸上编写生产就绪代码。
大约 10 分钟后,HR 告诉我我被录用了 🙂