📜  Netskope 面试经历 |校园 2019

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

Netskope 面试经历 |校园 2019

Netskope 在 2019 年 9 月的第一周访问了我的大学。他们的招聘过程有五轮淘汰制。

第一轮 - 校园测试

这是在 HackerEarth 上托管的基于技术 MCQ 的在线测试。 200多名学生参加了第一轮的过程。测试有 30 个问题,应在一个小时内解决。这些问题来自核心计算机科学科目——操作系统、计算机网络、DBMS、数据结构和算法。

第 2 轮 - 算法测试

大约 110 名学生入围下一轮。这一轮是在 HackerEarth 上进行的在线编码测试。该测试接受了 HackerEarth 编辑器支持的所有编程语言。共有3个问题,时间为1小时30分钟。

问题 1

基于中国剩余定理。

https://www.geeksforgeeks.org/chinese-remainder-theorem-set-1-introduction/

问题2

给定一个大小为 N 和变量 k 的数组,将数组向右旋转一个元素 k 次。为每个由右旋转形成的新数组构造一个?NX?N 的方阵。所以总共会有 k+1 个矩阵。将所有矩阵相乘并返回最终矩阵的所有元素的总和。

问题 3

对不起!!我不记得了。

注意:此算法测试纯粹是针对提供有效解决方案的算法。天真的方法根本不起作用。

第三轮——技术面试

大约 15 名学生从算法测试中入围技术面试。在进入实际的技术面试之前,我和面试官就在线测试、我的背景、目标和兴趣进行了随意的讨论。这一轮只有两个解决问题的问题。

问题 1

如何找到两个链表的交点?

方法 1 – 使用散列

1)创建一个空的哈希集。

2) 遍历第一个链表,将所有节点的地址插入哈希集中。

3) 遍历第二个列表。对于每个节点,检查它是否存在于哈希集中。如果我们在哈希集中找到一个节点,则返回该节点。

注意:参考方法 7 在以下链接中的实现。

方法 2 – 使用节点数的差异

1) 获取第一个列表中的节点数,设 count 为 c1。

2) 获取第二个列表中的节点数,设 count 为 c2。

3) 获得计数差 d = abs(c1 – c2)

4) 现在从第一个节点遍历更大的列表直到 d 个节点,以便从这里开始两个列表具有相同数量的节点。

5)然后我们可以并行遍历两个列表,直到遇到一个公共节点。 (注意,获取普通节点是通过比较节点的地址来完成的)

我给出了这两种方法,但是面试官希望我使用堆栈来解决这个问题。

所以最终的方法如下。

方法 3 – 使用堆栈

1) 将第一个链表的所有节点的地址堆叠起来。

2) 将第二个链表的所有节点的地址堆叠起来。

3) 并行从两个堆栈中弹出元素并比较地址。

4) 如果地址相同,则继续执行步骤 3。

5) 如果地址不同,则在当前元素之前弹出的元素为交点。

注:应处理所有边境案件。

https://www.geeksforgeeks.org/write-a-function-to-get-the-intersection-point-of-two-linked-lists/

面试官让我用 C 语言编写 Approach 3 的代码。

问题2

这是一个谜。

他编写了一个十二进制系统(也称为 base-12 或打十进制)。假设我的记忆正确,以下是数字系统。

0、1、2、3、A、4、5、6、7、B、8、9

他让我在这个数字系统中找出 A² + 6B + 9 的值是多少。

注意:A² 与 AA 不同。

第 4 轮 – 技术面试

我们只有少数人参加了这一轮比赛,其他人被要求离开。在进行实际的技术面试之前,我和面试官再次就我的目标和兴趣进行了随意的讨论。除了有关操作系统和计算机网络的问题外,还解决了问题。

问题 1

给定一组时间间隔,合并重叠的间隔。

https://www.geeksforgeeks.org/merging-intervals/

问题2

编写一个程序来确定给定的系统是小端还是大端。

实际上,这个问题是在询问操作系统概念后提出的。

第 5 轮 - 人力资源轮

HR问我今天过得怎么样以及面试。之后,他让我介绍一下我自己。他听了我的话,中间还问了一些问题。最后,结果通过安置办公室发送。

尖端:

诚实是最好的政策。虽然听起来很旧,但它确实对我有用。除了我们对问题的解决方案,自信同样重要。

直接从面试官那里寻求反馈。这有助于我们的改进。

带着平安,

通用知识库