FactSet 面试经历
第一轮:在 Hackerrank 上。我们得到了 2 个编码问题,这些问题对所有人都是随机的。我得到的问题如下:
- 采购用品:这个问题类似于巧克力包装问题。你可以参考这里。
- 三元组:给定一个包含 n 个不同整数的数组,d=[d[0],d[1], ...,d[n-1]],以及一个整数阈值 t,有多少 (a,b,c) 索引三元组是否存在同时满足以下两个条件?
d[a]
我只能解决 1 个问题。本轮结束后,CSE、ECE、IT等24名学生入围。
第二轮:在 Hackerrank Codepair 上。这是 FactSet 进行的第一次采访。它对我来说持续了 1 小时 50 分钟。面试官给出了3道编码问题,一一解答。
- 检查单链表是否为回文的函数
- 具有恰好 K 个完全平方数的子数组的计数
- 以最低成本连接 n 根绳索
我最初解释了每种方法并解决了给出的所有三个问题。后来,他问了我一些关于数据库的概念。然后,他询问了我的项目。
本轮结束后,已有10名学生入围下一轮。
第三轮:在 Hackerrank Codepair 上。这是艰难的一轮。他们增加了复杂性。它持续了1小时45分钟。在这次采访中,我被问到了 2 个编码问题。
- 从目标节点开始刻录二叉树。最初,我向面试官解释了这种方法,后来,我开始编写代码。但不知何故无法完成。随着时间的流逝,他又提出了一个问题。
- 一行中有 N 块多米诺骨牌,我们将每块多米诺骨牌竖直放置。一开始,我们同时将一些多米诺骨牌推向左侧或右侧。每一秒之后,每张向左下落的多米诺骨牌都会推动左侧相邻的多米诺骨牌。类似地,向右下落的多米诺骨牌会推动它们相邻的站在右侧的多米诺骨牌。当一个垂直的多米诺骨牌有多米诺骨牌从两边倒下时,由于力的平衡,它会保持静止。出于这个问题的目的,我们将考虑下落的多米诺骨牌不会对下落的或已经下落的多米诺骨牌施加额外的力。
给定一个代表初始状态的字符串“S”。 S[i] = 'L',如果第 i 个骨牌被推到左边; S[i] = 'R',如果第 i 个多米诺骨牌被推到了右边; S[i] = '.',如果第 i 个多米诺骨牌还没有被推送。返回代表最终状态的字符串。
https://leetcode.com/problems/push-dominoes/
我为此编写了代码,但它不适用于我的面试官指出的某些极端情况。本轮结束后,有4名学生入围HR轮。
HR 轮:在 Microsoft Teams 上进行。它持续了大约20-25分钟。这是我们之间的随意谈话。她询问了我的详细信息,并询问我是否有任何问题。我问了面试官几个问题。
本轮结束后,将结果与校园分享。
包括我在内的所有 4 人最终都被选为软件工程师的角色。