Accolite 面试经历 |第 23 集
几乎所有分支机构都符合条件。在线测试 (OT)是从他们自己的网站 edu 兴奋中进行的。大约 350 人进行了测试。据我所知,测试时间约为 60 分钟,题目涉及一般操作系统、DS、DBMS、算法和 Aptitude 主题。诀窍是快速给出答案,因为每个问题都有一个计时器。您得分的数量取决于您回答问题的速度。
每个分数在 190-200 分以上并且简历不错的人都被要求进行直接面试,其余的人则被要求进行另一次书面编码测试。在编码测试中,他们提出了 Remove BST keys outside the given range 的问题。
第1轮:
“ 告诉我一些你的事吧 !”
简历没有问题。主要关注数据结构、算法和问题解决。
“你最喜欢的话题是什么?”
我告诉他堆栈和队列。他问了一些使用堆栈的一般性问题和一些无需堆栈即可轻松解决的陷阱。我在所有这些中都使用了 Stacks,但他很可爱,并不断给我提示以优化其中的一些而不使用 Stacks。
他问我火车站问题所需的最少站台数量。这对我来说是一个新问题,但我已经解决了一个类似的问题找到最大间隔重叠的点。所以,我告诉他基于排序的解决方案。他对此很满意,并要求我对其进行编码。
当二叉树的叶子形成双向链表时,他让我找出二叉树的高度(图证明)。诀窍是确定重复解决方案的基本情况。
该方法将重复直到 ( (root.left.right==root) || (root.right.left==root)) 。他总体印象深刻,采访持续了大约 75 分钟。
第 2 轮:
“ 告诉我一些你的事吧 !”
“你做过哪些项目?”
他给了我这个问题,我必须找到在没有任何连接相互交叉的情况下可以建立的最大连接数。例如,图 1 有 3 个(最大)连接,但图 2 只有 2 个连接。我开始使用二分图来解决问题,并最终讲述了一个简单的基于循环的解决方案。关键是要继续和他互动。
然后他问我在流问题中查找前 k 个(或最常见的)数字。他问我尽可能优化它。我告诉他 O(k log(k)) 时间和 O(k) 空间复杂度的解决方案。
后来,他让我在 Splitwise 应用程序的启发下,解决给定的一组相互借钱的朋友之间的最小化现金流量问题。我首先给出了一个使用 DFS 的解决方案,但是对于一些复杂的测试用例它失败了。我无法进一步优化它。他总体上很满意,这一轮又进行了 75 分钟。
第三轮:
第三轮是对 Accolite 经理的 Skype 采访。这是一个编码/设计回合。他问了我一些基本问题,然后他根据我在股票市场模拟应用程序中所做的一个项目给了我一个要解决的问题。
他说我必须设计一个可以处理多个股票信息的系统(提供公司名称、股票价格、时间戳等)。他后来定义了一个名义价值,它是每个给定时间戳下所有公司总股票价值的总和(拥有的股票数量 x 给定时间戳的股票价格)。
我告诉他一些分布式系统和 DBMS 技术可以快速处理它,但他想知道我将如何使用复杂的数据结构和算法来处理它。因此,我定义了一些数据结构并告诉他基于多个散列的解决方案。他印象深刻,并要求我编写代码。一轮进行了90分钟。
人力资源:
通用的人力资源问题。保持冷静,这将是小菜一碟。
“ 告诉我一些你的事吧 !”
“为什么是Accolite?”
“你有什么问题要问我们吗?”
Accolite 主要侧重于解决问题的技能、数据结构、算法和编程技能。面试官很有帮助,但过程很艰难。
3人入选。