Paytm 面试经历 |校园 2020
有4轮
第 1 轮(在线编码轮):这一轮的持续时间为 70 分钟。 Paytm 于 2020 年 8 月 20 日进行了在线编码轮次,并在 5 小时后宣布了下一轮入围学生的姓名。
问题:
给定一个新的数字系统,根据该系统:
- 0->9
- 1->8
- 2->7 和儿子一直到 9->0
Input: 420 Convert this number to the new number Output: 579
编写一个程序来打印最大子数组的总和,使得子数组只有唯一的元素。
找到二叉树的两个叶子之间的最大路径和
注意:只允许使用 3 种语言:- C、C++、 Java
解决所有三个问题的人被选中进入第二轮。在 90 名学生中,有 25 名被选中进入下一轮。
第 2 轮(技术面试):由于 Covid-19,这是一次虚拟面试。采访是在 Google meet 上进行的。面试官非常友好。让我自我介绍,然后直接转到技术问题。
问题: 给定一个位数可能超过 100 位的数字,使用相同的位数找到下一个更大的数字。如果下一个更高的数字是不可能的,则打印“不可能”。
首先,我给了他一个基于排序的解决方案。但他并不满足。他让我优化解决方案。经过一段时间的思考,我想出了一个 O(n) 的解决方案。他很满意,最后让我写代码。我完美地编码了它。
问题:考虑一个 n*m 的矩阵,所有元素最初都设置为 0。给定 q 形式的查询:-
R 0 5: it means to increase all elements of row 0 by 5 C 1 3: it means to increase all elements of column 1 by 3
执行完所有 q 个查询后,打印矩阵中的最大元素。
首先,我们讨论了蛮力解决方案。之后,他让我优化解决方案。我给了他一个优化的解决方案,但他仍然不满意。他想要一个空间和时间复杂度最低的解决方案。我尝试了一段时间,并给出了一些提示,我终于给出了想要的解决方案。他对我的解决方案很满意。
最终答案:时间复杂度:- O(q)
空间复杂度: O(m+n)
然后他让我问任何问题,所以我询问反馈,就像这是我的第一次工作面试给我一点评论他回答了非常积极的评论我当时很高兴。采访持续了1个小时。
大约2小时后收到邮件进行第二轮面试。
注意:始终从蛮力解决方案开始。然后转到优化的解决方案。即使您无法找到解决方案,也要继续尝试。他们会给你一些提示。
第三轮(技术面试):面试官询问了我的暑期实习和一些基于网络的项目。我使用屏幕共享向他展示了我的项目。
之后,他问我一个编码问题。
- 编写代码将给定的数字转换为单词。例如,如果输入“1234”,则输出应为“1234”。
这次他直接让我写代码。我问他数字的范围是多少。
他让我把它编码成一个 3 位数的数字。这很容易,我以前也做过这个问题,所以我在第一次尝试时写了正确的代码。
在此之后,他让我将上述问题编码为数字<= 10 千万。这次我的代码给出了大于 100 万个数字的错误答案。所以他让我纠正它,最后,他对我的解决方案感到满意。
这是一个35分钟的采访。
第 4 轮(技术兼 HR 轮):他从一个编码问题开始。
给定两个数,找出由这些数组成的最大数。
例如:
30,43 then the solution should be 4330
这是一个很简单的问题。我将数字转换为字符串,然后比较由它们的串联形成的 2 个字符串。
在这之后,他说如果有n个数字怎么办。
例如:
45,98,9,0 then the solution should be 998450
我说过我们将使用与上一个问题相同的方法并将其扩展到 n 个数字。
比如: 45 和 98 将给出 9845。9845 和 9 将给出 99845。99845 和 0 将给出 998450。
他对我的解决方案很满意。在此之后,他向 OOP 提出了一些问题,例如:-
- 什么是多态性?
- 方法重载和方法覆盖有什么区别?
我正确回答了所有问题。之后,他询问了我的家庭背景和爱好。
共有5名学生从我们的校园中选出。
提示:所有问题均来自 geeksforgeeks。从 gfg 开始准备。