第 1 轮:从自我介绍开始。他让我选择一个项目并说明相同的内容。问了一些关于相同的问题。
- 询问我的一般解决问题策略。
- 关于滑动窗口的问题。给出了蛮力解决方案。
然后 O(nlogn) 解和 O(n) 解最后。在每一步,他都不断要求可能的优化并添加约束。最后我被要求为问题编写一个工作代码,并指出问题的极端情况。
第二轮:
- 这一轮更倾向于数据库和核心cs。
- 问我自我介绍。
- 问我关于 Web 开发的经验。向我询问身份验证。
- 简要解释 ACID 的特性。当两个用户尝试同时登录时,ACID 属性如何发挥作用?什么是异常,如何纠正?
- 你知道数据库索引吗?这些是什么?索引的类型有哪些?索引是如何工作的? RDBMS 中索引的缺点是什么?
- 问我拼图。有一个长方形。从较大的矩形(不一定从中心)切下一个小矩形。在删除切割后,您将如何对原始矩形进行分区,以使两个分区的剩余区域相同?
第 3 轮:
- 本来应该是技术回合,但副总裁取代了他的位置。
- 问我自我介绍。
- 为什么是金融?为什么要与 Arcesium 合作? (笨拙的回答是消除的方法)你的爱好是什么?
- 你如何适合我们?
- 问了我一个一般的定量问题。
- 询问冒泡排序算法。最好和最坏情况的复杂性是什么,它们何时发生?优化冒泡排序。
- 在 5 分钟内设计井字游戏,并向 10 岁儿童解释您的解决方案。
人力资源回合:
- 自我介绍。
- 为什么要加入 Arcesium?
- 你打算攻读硕士学位吗?
- 如果你被选中,你更喜欢从事什么样的工作。
- 有没有应聘过其他公司?这是您的第一次虚拟面试吗?
- 还有几个我想不起来的问题。
判决:选择