Sigmoid 面试经历 |设置 2(校内)
资格赛:
这一轮包括 6 个编程问题,需要在 2 小时内解决。它是在 Interviewbit 平台上进行的。其中一些问题是:
1. 给定一个链表。我们需要以这样一种方式排列链表,即具有奇数的节点将排在具有偶数的节点之前。
ex: I/P: 1->2->4->5->7->6
O/P : 1->5->7->2->4->6
2. 找到最短的唯一前缀来表示列表中的每个单词。
Input: [zebra, dog, duck, dove]
Output: {z, dog, du, dov}
3.对于给定的数字N,找出它的彩色数字与否
彩色数字:一个数字可以分成不同的子序列部分。
假设,一个数字 3245 可以分解为 3 2 4 5 32 24 45 324 245 之类的部分。
这个数字是一个彩色数字,因为子序列的每个数字的乘积都是不同的,其他问题我不记得了,但一个来自图表,另外两个来自 DP
总体而言,要获得这一轮资格,至少需要解决 2 个问题。我会说正确管理你的时间,不要只停留在一个问题上。
90 人出现在测试中,9 人被选中。
所有采访均通过Skype进行
第一轮:(技术)
这是一个技术回合,由公司的高级软件工程师参加。
首先,他让我自我介绍,然后让我解释我的项目以及我在Intership中做了什么。他问了一些问题。
然后他问我如何评价自己在数据结构和算法方面的表现。
我说的是 10 级的 7 到 8 级左右。
然后,他问我,如果给我一个无向图,我将如何表示它?
我说过我将使用邻接矩阵或邻接列表以两种方式表示它。
然后,他让我编写代码来使用邻接表创建上图。
然后,他说我们需要找到源和目的地之间的最短距离。
我问图表是否未加权?
他说图是加权的,权重是不同的和积极的。然后我改变了邻接列表中每个节点的表示和
然后我说我们可以应用 Dijkstra 算法,然后他告诉我用任何语言实现它。我选择了C++来实现。
然后他问了我写的算法的时间复杂度以及我是如何推导出它的。然后他说我有没有问题。我问了一些关于公司的问题,新人的成长如何等。
总体而言,它处于中等水平,持续了 40 分钟。
经过这一轮,7人被选中。
第 2 轮:(技术)
这是一个技术轮,又被公司的一位高级软件工程师接手。这一轮大约45分钟。
首先,他让我自我介绍,然后让我解释我的项目以及我在 Intership 中做了什么。他问了一些问题。
然后,他问了一个关于数组的问题。
它是:给定一个数组,其中数组中的每个值都代表从该索引采取的步骤。找到从数组开头到达数组末尾的最小跳数。我给了一个DP方法,他对此很满意。
然后他给了我荷兰国旗问题,我也给出了解决方案
然后他问我如何在链表中找到循环。我为这个问题给出了三个方法。
然后他说我有没有问题。我问了一些关于公司产品和公司文化的问题。
经过这一轮,5人被选中。
第三轮:(人力资源+技术)
它是由公司的项目经理拍摄的。这一轮大约是30-40分钟。
首先我被要求自我介绍,然后她问了我几个谜题。
第一个谜题是绳子谜题,第二个是灯泡谜题。
谜题很简单,可以在 GeeksforGeeks 中找到
然后她问我一个成本估算问题。问题是:
估计,在孟买出售了多少篮球。
它持续了大约30分钟
之后,4名学生被选中。
第4轮:(技术)
它是由公司的首席技术官拍摄的,我猜可能是最困难的……。 🙂
这一轮大约是30-40分钟。
首先,他询问了反转字符串的各种方法,并要求我推导这些方法的空间和时间复杂度。
之后他问我如何找到最长的非递减子序列的长度。我给出了一个 Dp 方法,他进一步告诉我要优化它。然后他告诉我要对 DP 方法和优化方法都进行编码。
然后他问我们如何找到序列..我给出了一个方法,他接受了。(不需要写代码)
在这两名学生被选中后,我和我的朋友被选中,另外一名学生被列入候补名单。
我的建议是,如果你想破解这些面试,那么你必须准备 DP 问题,然后是树和图表。此外,你应该知道这些算法是如何工作的,并且应该能够使用干运行调试代码中的任何错误一个例子。他们真的看你是否能够编写正确的工作行业级代码,是的,为拼图和人力资源轮做准备。
祝大家好运…!!!!!!!!