📜  Accolite面试经验|组合3(校园)

📅  最后修改于: 2021-05-24 23:47:37             🧑  作者: Mango

书面MCQ
30分钟内要完成20个多项选择题,大多数技术问题来自极客问答,一个血缘与亲属关系问题和一个简单概率问题。

没有负面的标记。

纸编码轮
在第一轮MCQ竞赛中,有21名学生入围,在这一轮中,我们被要求在1小时内编写3个问题的代码(仅适用于函数)。
Q1。系统会为您提供一个大小为MxN的矩阵,并且只有矩阵中可能的值是
0 –代表空位置
1 –代表一个新鲜的苹果
2 –代表一个烂苹果
烂苹果将所有新鲜苹果转换为在1个单位时间内与之相邻的烂苹果。在输入矩阵的情况下,您必须计算出所有新鲜苹果变烂的时间。还要确定是否可以在限定时间内使所有新鲜的苹果变烂。 (20分)

输入
2 1 0 2 1
1 0 1 2 1
1 0 0 2 1

1个时间单位后,矩阵将转换为
2 2 0 2 2
2 0 2 2 2
1 0 0 2 2

2个时间单位后,矩阵将如下所示
2 2 0 2 2
2 0 2 2 2
2 0 0 2 2

因此,输出应为2个时间单位。 (相邻的定义仅包括左,右,下和上单元格,不包括对角线单元格)

Q2。您将获得一棵二叉树,您需要找出二叉树的任何两个叶节点之间的最大路径总和(最大路径总和可能会通过树的根,也可能不会穿过树的根)。在O(n)时间(20分)完成

Q3。您将获得未排序的整数数组,并且需要找出其中是否存在多数元素。 (多数元素是在大小为n的数组中出现n / 2次以上的元素)。在O(n)时间内完成(10分)
这一回合的结果在深夜宣布。大约有7或8名学生被要求进行面对面的采访。我是第一个被召集的人,F2F巡回赛开始于11.30 PM,并在早晨5 AM结束:-p我很幸运在1.15 AM左右有空😀

面对2面对第1轮
Q1。我无法完成第1题的纸面编码(烂苹果)。她(面试官)要我纠正其中的问题。我是通过MxN额外的空间来完成访问[] []矩阵的。她说就地做。我是通过将Matrix值修改为3,4等来完成的。

Q2。在单链列表中从最后一个元素中查找第5个。首先,我给出了一个经过两次遍历的解决方案。她说只做一次遍历。我通过使用两个指针并在它们之间保持5个节点的距离来做到这一点。 Q3。例如,如果输入字符串为“ I am abc xyz”,则会为您提供一个字符串。输出应为修改后的字符串,如“ xyz abc am I”。此操作应在O(n)时间内就地完成。

Q4。您会得到一个未排序的正整数和负整数数组。您需要找出O(n)时间中的最大和子数组。您需要找到开始索引和结束索引以及总和。

Q5。您将获得一个BST以及两个键k1和k2。您需要迭代地找出两个键的最低共同祖先。我提出了将路径存储在向量中并找到根到k1和根t k2路径中键值的第一个不匹配的解决方案。

第2轮面对面
Q1。以对烂苹果问题进行纸质编码的示例为例,并提出一些算法,在该算法中,您可以更改烂苹果和新鲜苹果的位置,以使所得矩阵将最少数量的新鲜苹果转换为烂苹果。我提出了一种方法,首先我将首先计算烂苹果和新鲜苹果的数量,然后将所有新鲜苹果从(0,0)位置排列在一个子矩阵中,类似地将所有烂苹果从(N-1)排列在子矩阵中,M-1)位置。他对这种方法很满意

Q2。为您提供了一个包含3部电梯的电梯系统,您必须建议一种算法,其中某个人在某个x楼层上等待并按下向上或向下按钮的时间应该最少,而内部人员也要等待最少的时间。电梯也不应等待太长时间才能到达目的地楼层。

Q3。问了关于什么是语言标记的一些一般性问题。什么是语法和生产规则。然后,他让我检查某种语言的给定代码在语法上是否正确。为您提供了该语言的有效令牌集以及符号表。

Q4。系统会为您提供一个存储字符或单词的文本文件。提出一些压缩文件的方法,以便总可以进行一定程度的空间压缩。

我建议使用特里树,因为所有前缀都将共享空间。他说,这种方法取决于输入是否具有公共前缀。
提出其他建议。然后我说我们可以使用霍夫曼编码并将最小的代码分配给文件中最频繁出现的单词,依此类推。他再次说,这种方法还取决于您的输入是否包含频繁出现的单词。

然后我建议,因为所有字符都可以用8位或1个字节表示。我们可以对上一个和下一个字符进行XOR,并将其存储在当前字符位置。这样,我将能够始终在编码文件中减少2的大小。这个想法类似于https://www.geeksforgeeks.org/xor-linked-list-a-memory-efficiency-doubly-linked-list-set-1/

他很满意,这是我第二轮F2F比赛的结束。他告诉我睡个好觉,因为您将与我们的技术经理进行Skype采访,然后在早上进行人力资源咨询。

第三轮(Skype)
Q1。他要求我先定义NP和NP难题,然后再定义自动机和常规语言。然后他问我是正则表达式。

Q2。他与我共享了一个Google文档,并给了我一个正则表达式,例如abab *(a | b)和一个输入字符串s。我需要编写代码来检查是否可以从此正则表达式生成给定的输入字符串。返回布尔值true或false。我在5分钟内将其编码:-p

Q3。您将得到一棵N元树和一个值K。如果存在某个根到叶路径的总和= k,则需要返回true,否则返回false。我使用递归并在O(n)时间内完成了此操作。

他告诉我,您将在一段时间后完成最后的HR回合。我知道我过得很好,因为他似乎对我的回答很满意。

人力资源最后一轮
那是我一直在等待数小时的回合😀
她(HR)开始时会提出一些一般性问题,例如向我介绍您自己以及您的人生目标和目标。你的爱好是什么。我告诉她我爱工艺美术。她问我,如果明天是她的生日,我会为她做些什么:-p她非常友好,很乐意与她交谈。 I似乎我没有在与人力资源部门交谈。这更像是和朋友聊天。她问我对Accolite的满意之处以及为什么我希望加入该公司。最后,我们讨论了Accolite中的薪资规模和工作文化。

相关实践问题

异或链接列表
最大路径总和
多数元素
链表末尾的第n个节点
BST中最低的共同祖先
反转给定字符串的单词
卡丹算法
烂橘子
关于Accolite的所有练习题!