📜  Factset 面试体验(校园招聘)

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

Factset 面试体验(校园招聘)

Factset 访问我们学院招聘软件工程师职位。面试包括笔和纸编码轮次,然后是编码轮次后选择的学生的面试轮次。

笔和纸编码轮:

这一轮共有三个问题。我们被要求为提供给我们的表格中的问题编写代码,以及应用的逻辑和最坏情况的时间复杂度。
1) 给定一个 0 和 1 的矩阵,对于一个包含 0 的单元格,将该行和该列的所有单元格更改为 0。
2) 给定一个数 X,找到最小的数,其数字的乘积等于 X。
3) 给定一个数组,对数组进行波形排序。
29人经过这一轮的面试过程被选中。面试过程包括2轮技术和1轮HR。

第一轮:(技术)

这一轮问了三个问题,都与数据结构和算法有关。我被要求为每个问题提供一个有效的逻辑并为其编写伪代码。问题是:
1) 给定一个排序数组,找到 a[i]=i 的魔法点。
提示:继续使用二进制搜索方法,考虑所有边界情况和重复值情况。

2) 给定 3 个字符串A、B 和 C,检查 C 是否是 A 和 B 的交错。
提示:了解 DP 解决方案,但也要准备好其他暴力解决方案。我给出了 DP 解决方案,但他问是否可以在不使用 DP 的情况下完成。所以我给出了一个使用合并排序的合并概念的解决方案,同时考虑了订单 AB 和 BA。再次考虑边界情况。
供参考:https://www.geeksforgeeks.org/find-if-a-string-is-interleaved-of-two-other-strings-dp-33/
3)给定一个BST,将每个节点的值更新为BST中大于该节点的所有节点的总和。 Tips:可以使用In-Order遍历来实现一种2遍历的方法。但是,如果要求在一次遍历中执行此操作,请以相反的顺序使用 In-Order 遍历。
供参考:https://www.geeksforgeeks.org/transform-bst-sum-tree/

第 2 轮:(技术)

首先我被问到关于我的实习的问题。然后这一轮问了三个问题,同样都是与数据结构的概念有关。
1) 给您一些 IP 范围和与每个 IP 范围相关联的令牌。范围没有重叠,但它们不是连续的。当用户向某个 IP 请求令牌时,您会找到该 IP 所属的范围,并返回相应的令牌作为响应。我被要求为这个问题创建一个结构来执行任务。
提示:询问应该考虑哪些 IP 地址,例如我确认我应该处理从 10.0.0.0 到 10.0.0.255(256 个 IP)的 IP 地址。这将有助于您的设计。然后考虑用于存储范围的数组和链接列表。对于搜索,使用二分搜索并寻找边界条件。我还提出了一种二叉搜索树解决方案,其中每个节点存储 2 个值,即范围的开始值和结束值。使用它的想法是保持范围排序并避免额外的排序时间。
2) 给定 2 个按行和列排序的矩阵和一个值 X,通过从每个矩阵中取 1 个元素来找到对,使得对元素的总和等于 X。
供参考:https://www.geeksforgeeks.org/count-pairs-two-sorted-matrices-given-sum/
3)给定一个未排序的数组,找到最小的缺失正数。很少有解决方案可以使用频率计数技术等对数组进行排序。但是如果需要在 O(n) 时间和 O(1) 空间中找到它,请参阅链接。


第三轮:(人力资源轮)

1) 说说你自己。 (兴趣、爱好、课外活动)
2)告诉我你的力量。
3)如果我问你的老师和同事关于你的情况,会得到什么反馈。
4) 愿意搬迁并致力于任何新技术。
5) 首选的工作语言和软件。 (参考我的简历)
6) 你对组织了解多少。

所有的面试结束后,10个人被选中,我就是其中之一。
几个一般提示:对你所说的话有信心。与面试官适当地讨论你的解决方案,不要仅仅通过听问题就感到恐慌。从逻辑上思考问题和方法。他们想看看候选人如何解决问题以及他/她可以如何应用这些概念。

最后感谢geeksforgeeks为所有需要的人提供了这样的相关资料。