📜  Factset 面试经验 |设置 6(校内)

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

Factset 面试经验 |设置 6(校内)

FactSet来我校招聘。我们被要求做PPT。 PPT结束后,大家对演示文稿印象深刻。在 PPT 之后进行了书面编码测试。之后进行了2次技术面试和1小时面试。

第1轮:
这是笔和纸轮,有25分、15分和10分三个问题。

1. 给定两个数组 x 和 y。在 O(mlogm+nlogm) 中找到 xy > yx 的对 (x,y)。
解决方案-我试图通过对 y 数组进行排序来解决这个问题,然后为每个 x 找到 y 中大于 x 中的元素的最小元素。但是,我错过了特殊情况。像 x=1 等。

2. 给定一个数组 x,数字在 AP 中。但是缺少一个术语。查找 O(logn) 中缺少的数字。
解决方案-我稍微修改了二进制搜索并解决了这个问题。我首先找到了共同点。然后我使用分而治之的技术来解决这个问题,比如使用第一个和最后一个元素的平均值来找到中间元素。然后通过first term+ diff*index 计算,检查我们平均得到的中间元素是否与AP term 相同。

3. 给定一棵树。打印有界元素。
解决方案- 标记左侧边界中的元素,标记右侧边界中的元素。然后打印非叶子节点和非标记节点。

第 2 轮:
这是第一次技术面试。这次采访只包括简单的问题。我被要求使用中序遍历以反向排序顺序打印 BST 的元素。我先告诉他我们可以交换左子树遍历和右子树遍历的位置,但是他告诉我左子树会在右子树之前被遍历。所以,我告诉他将元素压入堆栈,然后弹出元素。他要求实现堆栈。我开始编写程序,但他告诉我不能使用函数返回值来存储堆栈顶部。所以他给了我使用静态变量的提示。我使用它并解决了这个问题。

第三轮:
这是第二次技术面试。他首先让我解释我在第一轮中写的代码。之后,真正的采访开始了。本次面试共有三个问题。都是编码问题。

1. 第一个问题是一个动态规划问题,其中给出了一个带有一些值的矩阵。我们必须从 (0,0) 开始并在 (m,n) 结束,条件是我们只能向前和向下移动。虽然我从来没有遇到过这个问题,但我在一两分钟内解决了这个问题。他对解决方案印象深刻。

2. 我被要求实现一个堆栈,我们可以在 O(1) 中找到最小元素,同时 push 和 pop 操作应该花费 O(1)。最初我尝试使用数组来实现堆栈,但后来他提示我使用链表。在这个提示之后,我能够解决这个问题。

3. 最后一个问题是以最小的时间复杂度在电话簿中找到重复的事件。我建议了一种使用散列的方法。他同意它会解决问题,但他希望我用另一种方法解决它。他向我暗示图表在这里可能会有所帮助,但我清楚地告诉他,在他结束采访一段时间后,我对图表不太满意。我问他用图表可以解决什么问题。我很惊讶地知道他甚至没有解决方案,他告诉我他必须思考才能找到解决方案。

面试后他对我印象深刻。

第四轮:
这基本上是人力资源回合。我只花了10-15分钟。他问我关于我的实习和项目。我的兴趣和关于我。为什么我想加入这家公司等等。

我非常喜欢这家公司,因为它的包装非常好,一年内有 2 次评估。员工在这家公司获得的津贴和福利。

FactSet 的所有练习题!