📜  Service Now 面试经验 |在校园

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

Service Now 面试经验 |在校园

第 1 轮:这是一个在线测试,有 25 个 MCQ 和 1 个编码问题。时间限制:1:30 小时

MCQ 基于排列和组合、正则表达式、糟糕的基础知识、DBMS、操作系统和算法。所问的编码问题是以下问题的变体:

https://www.geeksforgeeks.org/next-smaller-element/

本轮结束后,20名学生入围面试。

第 2 轮:技术第 1 轮。时间限制:约 1-1:30 小时

首先是介绍,然后他问我一个算法问题。

你有一个字符串数组,如果一个字符串的最后一个字母与另一个字符串的第一个字母相同,我们可以连接两个字符串。例如 ABC CDE 可以连接成 ABC-CDE。现在,您必须找出是否可以通过以这种方式连接字符串来形成循环。

示例输入:array=[“ABC”, “CDE”, “EFA”]

输出:是的

示例输入:array=[“ABC”, “CDE”, “EFG”]

输出:否

我告诉他,我们可以简单地制作一个图,通过连接每对可能的字符串,然后我们只需要使用任何标准算法进行循环检测。然后他让我在图中编写循环检测代码。他感谢快速响应,并对我的代码感到满意。然后我被问到以下DP问题,

沿着一条河流的宽度,有 n 块石头排成一排。踩在石头上可能会有风险,因为一旦你踩到它们,它们就有可能沉没。所以,给你一个大小为 n 的数组,其中第 i 个元素表示当你踩到那块石头时不下沉的概率。此外,这些石头的距离并不相等,因此给您另一个数组,其中第 i 个元素表示第 (i+1) 个石头和第 i 个石头之间的差异。如果你最多可以跳l,求过河的最大概率。

我告诉他,这是一个 DP 问题,可以认为是标准 LIS 问题的变体。他对这种方法感到满意。然后他就我的项目问了一些问题,这些问题并不深入。

20人中有14人进入下一轮。

第 3 轮:技术第 2 轮。时间限制:45-60 分钟

我被问到以下算法问题。

给定一个整数数组,删除所有子集,总和为零并打印剩余元素。如果有多个可能的解决方案,请打印任何一个。

示例输入:[1, 2, -4, 4, 2, 0, -3, 5]

示例输出:[2, 5]

我告诉她,我们可以对原始数组求和,让和为 S。现在给定数组的最小子集与 sum 等于 S,肯定是解决方案之一。并且,这可以使用标准 dp 方法来解决,在数组中找到给定总和的子集。她对这种方法感到满意,并没有要求我编写代码。

然后她问我 Oops、OS(死锁、调度、虚拟内存)、DBMS(规范化、1nf)的基础知识,以及计算机体系结构的一些基本概念。

然后她让我为 Uber 应用程序设计一个系统,我给她看了 ER 图,她很满意。然后我被问到与我的项目有关的问题。

14人中有8人进入下一轮。

第 4 轮:技术第 3 轮。时间限制:30-45 分钟

我被问到以下树问题,

https://www.geeksforgeeks.org/print-k-sum-paths-binary-tree/

我告诉他,我们可以用标准的回溯方法来解决它。他让我写整个代码,我能写出来。他又问了我一个算法问题,

给你一个矩阵,所有行和列都已排序。打印给定数字的每次出现的索引(行,列)。

我告诉他,在最坏的情况下,它只会是 O(n*n),但如果你只是想让我避免不必要的比较,可以使用 break 语句和修改列的范围来实现。他对这种方法感到满意,并要求我对其进行编码。

然后我被问到以下谜题,
https://www.geeksforgeeks.org/puzzle-9-find-the-fastest-3-horses/

我知道解决方案,我直接回答了。

然后他又问了我一个谜题,https://www.geeksforgeeks.org/puzzle-20-5-pirates-and-100-gold-coins/

我不知道这个谜题,我花了两三分钟告诉他我的方法,97 1 1 1 0 是我的分布。他说,你可以再优化一点,我想出了答案 98。他很欣赏我处理这个问题的方式。

第五轮:人力资源轮。时间限制:10-15分钟

她问我,面试经历如何,你喜欢我的简历中提到的关于课外活动的过程和一些一般性的事情。

包括我在内的我们 3 人得到了实习机会。

谢谢geeksforgeeks!