整个过程都是在线的。
所有访谈都通过我们TPC办公室的HackerRank CodePair平台提供了帮助,因为他们没有访问校园。
在线回合:
共有32个问题,分为:
第1 – 15节MAT /逻辑推理问题。 (MCQs)
第2-15节技术问题(还是MCQ,但主要是确定输出结果)
第3-2节编码问题。
第一个问题:https://stackoverflow.com/questions/21077763/smallest-number-that-can-not-be-formed-from-sum-of-numbers-from-array
我不记得第二个问题。
解决一个编码问题并在其他两部分中都做得很好(每个部分都有其单独的界线)足以进行技术面试。
第1轮:
1.从我的简历中问了一点。没有详细介绍。
2.检查二叉树是否是BST
- 首先告诉他,我们可以检查顺序遍历是否按递增顺序(假设所有唯一元素)都可以很容易地看出。但是由于我将利用数组,因此会增加额外的空间复杂性。因此,我建议采用另一种方法。
- 告诉他范围法。他很满意,但问我是否可以使用“有序”方法来改善空间复杂性。我说过,我们实际上可以只存储前一个元素,并在Inorder代码中保留一个条件。他感到满意,并要求我对该函数进行编码。
- 要求我对代码进行一些更改
3. OOPS的主要概念
- 用示例告诉所有4个。请我用示例代码来演示运行时多态。
第二回合
1.问我我知道什么技术。我提到了Django。要求简要解释一下什么是Django。
2.假设我们有一个图书馆,书架中没有分类书籍。您必须设计一个库软件,以便:
您可以使用多个关键字搜索(稍后我问是否所有的关键字都应包含在书名中)
您必须输出加权结果。例如:如果您的关键字是“ Tom”,并且有一本书的名字中包含“ Tom”的3次,其余的书仅包含一次,则应先输出包含3个“ Tom”的书名,然后输出其余的书名。
- 第一种方法:假设我们有一个字符串数组,其中字符串是书名。对于每个关键字,将其视为一种模式,我们对每个字符串进行KMP处理,并保持计数重复次数。然后,我们将获得一个精炼列表,并且可以在精炼列表上以类似的方式迭代检查每个关键字。然后,他询问了重量部分。我说过,我们可以相应地建立一个评估函数,也许我们可以将每个关键字的出现总数作为权重的评估函数。然后他问我缺点。 (时间复杂度明显)
- 第二种方法:二手特里。他问我特里的样子。用手势向他解释,因为在屏幕上看起来更像是“链接列表”。他问了我几个问题,我们将如何使用Trie来实现它,以及它将带来什么好处。我认为常规Trie并不是最好的,所以我们可能需要对常规Trie进行一些更改,他要求我通过编写其节点以及如何使用来显示更改。我以为他没有说服力,所以他改变了问题。
3. void指针和int指针之间的区别。以下操作会发生什么。无效poiter上的++和int指针上的++(我猜这两个部分都回答错了)。
4.如果我们可以强制转换一个void指针,为什么我们需要int指针等。告诉他一些东西,但我不确定。
5.涉及使用group by和limit的联接的SQL查询。
6. OS中的虚拟化是什么?
第三回合
1. A = {1,4,6,8,9,}(任何随机数,也可以是10 ^ 6)。有一个数字B = 2 ^ A [0] + 2 ^ A [1] +…
我们需要说明在B的二进制表示形式中的哪些位置设置了位? (可以是n位,而不是32/64)
- 使用的概念2 ^ m等于1 << m。因此,当重复数组中的数字时,问题就减少到在同一位置处理多个置位。
2.什么是抽象类。有什么用?
3.为什么我们不能创建Abstract Class对象(无法回答)
4.什么是虚拟化?每个过程应使用的页面大小是多少?
人力资源回合:
人力资源回合入围了两名候选人(包括我在内)。我们俩都被邀请参加了一次在线视频会议,人力资源部告诉我们他们正在为我们俩提供服务并解释了公司。
干杯!