📜  ServiceNow 软件工程师面试经验

📅  最后修改于: 2021-11-18 02:40:56             🧑  作者: Mango

ServiceNow的流程包括 5 轮:1 轮在线测试、3 轮技术轮、1 轮经理轮。

在线测试:由 1 道动态规划问题组成。

  1. 找出数组中最长递增子序列。 (https://www.geeksforgeeks.org/longest-increasing-subsequence-dp-3/)

    成功解决方案后,HR 会与您联系并进行进一步调查。

    技术回合 1(60 分钟): 2 编码问题,根据面试官的想法或他提出的问题的难度。

    为您提供在线 IDE,您必须共享屏幕并编写代码并解释您将要使用的逻辑。

    1. 给定 2 个火车到达和离开数组。找出所需的最少站台数量,以便火车不必在站台外等候。 (https://www.geeksforgeeks.org/minimum-number-platforms-required-railwaybus-station/)
    2. 最大和连续子数组。 (https://www.geeksforgeeks.org/largest-sum-contiguous-subarray/)

    技术第 2 轮(60 – 90 分钟): 2 道中等难度的编码问题。

    面试开始时对我在之前公司做过的项目进行了简短的讨论,并据此提出了一个问题。

    为您提供在线 IDE,您必须共享屏幕并编写代码并解释您将要使用的逻辑。

    1. 给定一组父/子作业关系并找出父作业的总运行时间。
      A -> B-> 40; B->C->20; A->NULL-> 10
          X->Y->20; X->NULL->5; X->Z->10; 
          Answer : A -> 70; X -> 35

      解决方案:树遍历方法给定您已经遍历给定父级的所有子节点的关系,并计算所有子进程运行时的总和。

    2. 中缀到 Postfix (https://www.geeksforgeeks.org/stack-set-2-infix-to-postfix/)

    技术回合 3(60 – 90 分钟):面试以正常的介绍开始,然后详细讨论了我在 Github 上的项目。解释了我在 Playstore 上 Github/Apps 上的项目的不同逻辑。

    讨论我使用过的不同设计模式。详细解释了 5-6 个设计模式。

    经理回合(120 分钟): 1 个编码问题,非常详细地讨论项目和工作期望。我与前任雇主相处的日子如何?

    1. 给定一个 N*N 的棋盘,骑士被放置在一个空棋盘的任意方块上。根据国际象棋骑士的规则移动必须恰好访问每个方格一次。打印访问它们的每个单元格的顺序。 (https://www.geeksforgeeks.org/the-knights-tour-problem-backtracking-1/)

    对解决同一问题的不同方法和更好的方法进行了非常详细的讨论。

    最终判决:接受。

    重要提示:面试官主要是寻找解决问题的方法,并在需要时给出提示。如果您陷入困境,请询问他们,他们会指导您找到解决方案。