📜  FactSet 软件工程师面试经验 | 2021 年校内

📅  最后修改于: 2021-11-18 02:04:15             🧑  作者: Mango

第一轮第一轮包括DBMS查询、 Java异常处理等共4道编程题。测试在 HackerRank 平台上进行,持续时间为 1.5 小时。通常,他们只从数组、字符串、散列、堆栈、队列、链表和树中提问。除非在问题中特别提及,否则您可以使用您选择的任何语言。

  • 问题编号1 和 2 是编程问题。第一个基于字符串操作。第二个只是0-1 背包问题的一个简单变体。甚至蛮力递归解决方案也被接受了。我会说难度适中。
  • 问题编号3 是一个 DBMS 问题。我们需要编写一个 SQL 查询,以产生问题中给出的所需输出。查询并不那么棘手。它由 where 子句和基本聚合函数(SUM )组成
  • 问题编号4 是一个关于异常处理的Java编程问题。我们需要构造一个类来实现一个抛出错误的方法。必须正确处理此错误。由于我不精通Java,我无法解决这个问题。
  • 提示:-我建议您在 GeeksforGeeks 上练习解决编程问题。学习制定基本的 SQL 查询,如果时间允许,请熟悉基本的Java编程,因为在第一轮比赛中取得好成绩会很有帮助。由于我们的模式与我们的前辈完全不同,因此模式可能每年都在变化。所以在这种情况下不要惊慌。始终保持冷静的头脑。

我能够成功解决所有四个问题中的前三个问题。从包括我在内的 250 名学生中选出了 9 名!

所有进一步的采访都是在同一天进行的。因此有点忙乱。他们都在第一轮比赛后三天举行。

第 2 轮(技术面试-1):首先,面试官以简短的介绍开始打破僵局。这是对 HackerRank 的一对一采访。所有面试都是对来自同一所大学的所有候选人同时进行的。有3个DSA问题,面试持续了一个小时。对于这一轮,我们的代码不需要编译。问题是:-

  1. https://www.geeksforgeeks.org/find-a-peak-in-a-given-array/
  2. https://www.geeksforgeeks.org/maximize-the-number-n-by-inserting-given-digit-at-any-position/
  3. https://www.geeksforgeeks.org/count-pairs-two-sorted-matrices-given-sum/

我们能够用最优化的方法解决所有问题。 9 人中有 7 人成功通过了这一轮,包括我。

第 3 轮(技术面试-2):这一轮的格式与第 1 轮相同,但由于我们需要编译和运行我们的代码,因此难度更大。它应该适用于给定的所有测试用例。甚至输入也必须由我们编码,老实说这有点烦人。提出了三个与 DSA 相关的问题:-

  1. https://www.geeksforgeeks.org/check-if-a-given-binary-tree-is-sumtree/
  2. https://www.geeksforgeeks.org/length-of-the-longest-substring-without-repeating-characters/
  3. https://www.geeksforgeeks.org/maximum-length-possible-by-cutting-n-given-woods-into-at-least-k-pieces/

我能够在所有三个问题中成功编码并运行最佳解决方案。即使您没有得到最佳解决方案,也没关系。只需用正确的时间和空间复杂度解释您的代码。这一轮结束后,包括我在内的5名学生被选入下一轮。

第 4 轮(导演轮):这一轮就像任何其他 HR 轮。面试官先做了介绍,然后问我们的技术回合如何。还问了其他几个一般性问题,例如:-

  • 关于我在简历中提到的项目的问题
  • 关于简历中提到的实习问题
  • 我的技术栈和我使用的编程语言。
  • 关于家庭背景的问题。
  • OOPs 问题,如继承和多态性。
  • 一个 DBMS 查询以产生给定的输出。
  • 你在空闲时间做什么?
  • 你有任何问题问我吗?

这一轮持续了半个小时。一开始我很紧张,但在看到我在选定候选人名单上的名字后,我感到非常兴奋。本轮共选拔了5名学生。几天后我们都收到了录取通知书。

整个面试过程持续了 4 天,但 2 天是周末,所以有效地持续了 2 天。

我的建议:-

  • 不要一看到问题就急于解决问题。首先,问很多关于测试用例的问题,以便可以覆盖所有边缘用例。然后通过在示例测试用例上干运行它来口头解释您的逻辑。然后,如果面试官要求您编写代码,您可以在 IDE 上编写代码,或者如果面试官这么说,您可以考虑更优的解决方案。
  • 在面试结束时总是问一些有意义的问题。这给人的印象是你真的对这家公司感兴趣。不要浪费这个机会,否则可能会给人留下不好的印象。
  • 在像 GeeksforGeeks 这样的平台上练习很多,这样你就不会在面试问题上摸索或卡住。请记住,在面试前感到紧张是正常的。所以深呼吸,带着平静的心态继续前进吧!

祝你面试一切顺利!祝你好运🙂