📜  Josh Technology Group 的 SD 面试体验(校内)

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

Josh Technology Group 的 SD 面试体验(校内)

在线选择测试:这包括两个阶段。两者都在同一天。

  • 第 1 阶段(在线目标轮):一组 50 个关于 C++、能力和逻辑的简单 MCQ。只有通过客观轮的人才能参加主观轮。
  • 第 2 阶段(在线主观轮):在这一轮中,我们必须编写整个程序以及适当的注释。代码应在需要时包含解释。许多编写正确代码并通过所有测试用例的学生没有入围,因为他们忘记写注释。您甚至可以在评论中包含一些极端情况以及如何处理它们。

技术回合:大多数问题都是关于树和链表的。 (和一点点DP)。总共有 3 轮技术轮次,然后是 HR 轮次。在每个技术轮次中,我们被问到 2 个问题。有时,如果候选人无法提出任何问题的解决方案,则会添加另一个问题(取决于面试官的心情)。技术第一轮和第二轮在同一天举行,而第三轮是在一周之后。

技术第一轮:

  1. 将 BST 展平为链表
  2. 链表的波排序
  3. 排序数组的旋转计数

第二轮技术:

  1. 数组中元素的最大总和,使得没有两个元素彼此相邻。
  2. 重新排列链表,使得第一个节点=第一个节点-最后一个节点,第二个节点=第二个节点-第二个最后一个节点。
    例子:
    Input : 1 -> 2 -> 3 -> 5 -> 9 -> 6 -> 3 -> 2 -> 0 
    Output: 1-> 0 -> 0 -> -1 -> 9 -> 6 -> 3 -> 2 -> 0
    Explanation: (1-0)->(2-2)->(3-3)->(5-6)->9->6->3->2->0
  3. 如果二叉树中有空的地方,则将所有节点向右移动。每个级别都应从最右侧填充。例如看图片:

第三轮技术:

  1. 最低数量到达桥的另一边所需的跳跃次数。桥以由 1 和 0 组成的数组的形式表示。 1 表示有效步骤,而 0 表示已损坏步骤。我们得到了另一个数组,其中没有我们可以在一次跳转中覆盖的步骤。我们需要找到到达另一端所需的最小跳跃。
    例子:
    Bridge=[1,0,0,1,1,1,0,1,1,0,0,0,1,1,1,0,1] Jumps=[2,3,5,6] Output: 4 

    解释:最初我们在第 0 个索引处。我们最多可以跳跃 5 次(跳跃 6 会使我们落在 0 上)。从第 5 个索引开始,我们跳跃 3 并到达索引 8,从 8 开始,我们跳跃 6 并降落在 14。从 14 开始,我们最后跳跃 2 并到达另一端。我们在 4 次跳跃中到达了另一端。

  2. 给定一个 BST,我们需要检查所有根节点的值是否是其左右节点的平均值。如果条件为假,则删除根节点。返回符合上述条件的 BST。
  3. 您最近参与的一个项目。

人力资源回合:

  1. 说说你自己。
  2. 你为什么想加入我们的组织?
  3. 一弱。
  4. 如果你被要求在一个月内每天工作超过 10 小时怎么办?