📜  ServiceNow 面试体验 |第 6 组(校内)

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

ServiceNow 面试体验 |第 6 组(校内)

线上轮
在 30 分钟内解决 30 个问题。多项选择题。问题基于异常、继承、递归、按位运算运算符、排序、搜索、时间复杂性、C 和Java输入/输出问题、操作系统和大约 5 个能力问题。
大多数问题都是基本的,可以在一分钟内解决。如果你不把时间浪费在冗长的问题上,很容易得到 25 左右的分数。

技术第一轮
– 基于简历和项目的问题。
– 数独问题方法(回溯)。部分解决。
– 在大小为 n 的数组中打印最大的 k 组数字。
例如:输入:
n=8
10 7 8 5 11 12 3 2
k=3
输出:10 8 11 12 12 12
我告诉了时间复杂度为 O((nk)*k) 的蛮力方法。
然后我使用大小为 k 的最大堆优化它,将时间复杂度降低到 O((nk)*logk)。
– 对给定数组进行排序的最佳算法是:0 1 2 2 2 1 0 0 1 2
由于所有值都在 0-2 范围内,因此使用计数排序。我编写了代码并解释了时间和空间复杂度。
– 基于用户界面的问题:HTML、CSS。
– B树及其应用。
– 当我们输入一个 URL 时,网站是如何打开的?解释 DNS 查找。
– 给定树的镜像而不创建新树。使用递归编写代码。
– 什么是主键、复合键、外键?

技术第二轮
– 解释任何喜欢的项目的数据库模式。
– 给定一个具有不同元素的数组,先增加然后减少,搜索一个元素并输出它的索引。
例如:输入:2 5 7 11 10 9 8 4 3 1 搜索 9。
输出:5
使用二分查找查找峰值元素。对两个子数组 (0, peak_index) 和 (peak_index+1, last_index) 应用二分查找。由于我们不知道哪个子数组具有该元素,因此对两个由峰值元素分隔的排序部分进行二进制搜索。我编写了代码并解释了时间复杂度。
– FIFO 在 OS 中是如何实现的?我解释了实现 FIFO 的进程和队列的不同状态。
– 什么是颠簸?
– 如果掷出 n 个骰子,则打印所有可能的结果。我使用递归并编写了代码。

第三轮技术
– 选择您最喜欢的项目并绘制带有关联的 ER 图。
– 解释所有表格和它们之间的关系。 (主键和外键)
– 给定某些功能的更改,您将如何在数据库中反映它? (在所选项目中)
– 我被要求根据这些表编写一个 SQL 查询,以找到最大计数的前 5 个。
– 将一个数组(大小为 n)向左旋转 k 次。
我指定了两种方法
然后我被要求为第二种方法编写代码。在检查了我的代码后,他问如果 k>n 会发生什么。我添加了 k%=n。
– 如果一群人有一些交易,需要多少次进一步的交易来解决所有这些交易。我用一个图表来表示这种情况。我编写了代码来计算每个人在所有交易结束时的利润(如果亏损,则为负)。然后我告诉了一个解决所有问题的策略。他说我已经接近答案了。
– 然后我被要求评价我在面试中的表现。

人力资源轮
- 说说你自己。
——你的弱点是什么?
– 您如何管理工作和生活? (给了我一个情况)
– 高等教育和职业呢?
– 在您参加的这个特定研讨会中面临哪些挑战?
- 关于实习- 你喜欢和不喜欢那里的什么?
- 画出你的想法(因为我说过我擅长绘画)
– 写一篇关于你自己的文章,一篇关于 ServiceNow 的文章。