📌  相关文章
📜  Paytm 软件工程师面试经验 | 6 个月实习(在校园-NIT PATNA)

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

第 1 轮:在线编码轮:本轮 70 分钟,70 分钟内有 3 个编码问题需要解决。一个问题是简单的类别;一个是简单到中等水平,第三个问题是动态规划(困难)。

  1. 给定一个数字,返回一个新数字,该数字通过从左边的第二个数字开始删除该数字的所有替代数字而获得。
  2. 在数字数组中,以奇数位于奇数索引而偶数位于偶数索引的方式分隔数字。确保数字的相对顺序不能改变,即偶数之间的相对顺序不能改变,奇数之间的相对顺序也不能改变。重新排列将就地完成,数组的第 0 个索引应包含偶数。
  3. 假设一个给定的搜索词可以在所有 4 个方向上向上、向下、向左、向右、对角线,你能在一个二维字符数组中找到多少次出现?
    • 示例:单词:你好

      木板:

      h    e    l    l
      t    p    h    o

      输出: 2(如我们所见,2-hello 单词可以由棋盘字母组成)

在这一轮之后,从 146 名学生中选出了 66 名学生。

第 2 轮(技术面试第 1 轮):这是 45 分钟的面试。面试官依次问了我以下问题:

  1. 说说你自己
  2. 你最近做的项目及其技术堆栈。
  3. 你知道哪些数据结构。
  4. 树和堆有什么区别?
  5. 他与我分享了一个编码 IDE(代码共享),并要求我检测链表中的循环,如果存在则将其删除。首先,他向我询问了该方法,当他感到满意时,他告诉我为它编写代码。 (他问了代码的时间复杂度和空间复杂度)
  6. 之后,他问什么是 SQL 中的 group by 子句。
  7. group by 和 order by 子句之间的区别。

在这之后,我被选中参加下一轮面试,从 66 名学生中选出了大约 34 名。

第 3 轮(技术面试第 2 轮):这是纯编码;数据结构回合,总时间为 45 分钟。

  1. 给定一个排序数组,其中所有数字都是正数。现在,在这些正数之间插入 -1,这样插入的 -1 中没有一个总是位于 0 和 2 之间(不超过 2)。此外,我们知道数组的第一个和最后一个元素总是一个正数。

    示例:如果原始数组 = 2 5 8 12 14 17

    Array after -1 inserted = 2 -1 5 -1 -1 8 12 -1 -1 14 -1 -1 17
    So the given array is arr[]={2, -1 ,5 ,-1, ,-1, 8, 12, 
                                 -1, -1, 14 ,-1, -1,17}
    A key is given let say key=5.

    您将如何以最优化的方式搜索给定的键? (O(logn))

    他首先问了问题的方法,然后告诉我编码。我使用修改后的二进制搜索对其进行了编码,他对我的代码印象深刻。

  2. 然后他让我写一些时间复杂度。就像,他要求编写一个将产生 O(2^n) 时间复杂度的代码,一个将给出 O(nlogn) 时间复杂度的代码,以及一个给出 O(logn.2^n) 时间复杂度的代码。

  3. 然后最后一个问题,因为他给出了一个只包含 1 和 0 的二进制数组,我被要求找到子数组的最大长度,使得 0 的数量等于该子数组中 1 的数量。

    最初,我使用额外的前缀数组解决了问题,但他希望我对其进行更优化,然后他帮助我提出了可以删除整个前缀数组的想法,因此我删除了该数组,而是使用了两个变量 current 和 previous to解决这个问题。

    第三轮更多的是编码,优化简单的代码,结构好,速度快,容易理解。

    第 4 轮(技术面试第 3 轮):这一轮是 1 小时以上的实践和学科知识。在这一轮中,我首先被问及我最近的项目的详细信息以及使用的技术堆栈。之后,他问了我一系列问题,如下所示。如果我在网络浏览器上输入 paytm.com,接下来会发生什么,请解释网络浏览器如何检索我正在搜索的网页内容。

    1. DNS服务器有什么作用?
    2. IP地址的组成部分是什么? 173::172::25::36 这个IP地址属于IPV6或IPv4,你怎么说呢?
    3. 编写演示继承和组合的 C++ 代码。
    4. 什么是数据库中的索引?
    5. GET、PUT 和 POST 请求之间有什么区别?
    6. HTTP 和 HTTPS 有什么区别?
    7. Node js 和 JavaScript 的区别?
    8. Python完整形式的PEP?
    9. 什么是ICMP协议?
    10. 然后最后的编码问题给出了一个带有左、右和随机指针的树,你必须创建同一棵树的副本并返回复制树的头部。

    最后一共18名同学入围,我就是其中之一。我只想说擅长你的学科,比如操作系统、数据库管理系统、网络以及数据结构和算法编码。