共 4 轮
- 黑客等级评估
- 2 次技术面试
- 人力资源回合
第 1 轮(黑客排名评估): 3 道与图形、即席数学相关的问题。设法解决了所有3个问题。
第 2 轮(技术面试 I):这一轮由一位高级软件工程师进行。
- 简单的介绍
- 描述你最喜欢的项目。 (5-10 分钟)然后,他对沿途做出的一些决定以及做出这些决定的原因提出了质疑。
- DSA 问题——判断给定的数字数组是严格递增、严格递减、递增后递减还是递减后递增。
我首先给出了蛮力方法。他想让我优化它。我给出了一个基于二分搜索(O(log n))的方法。他让我给它编码。
然后他让我进一步优化它并给出 O(1) 方法。我不知道如何在 O(1) 中做到这一点,但是想了很多之后,我告诉他,我们需要保证这四种情况中的任何一种都会发生,只有这样我们才能比较前两个和后两个元素来确定数组的顺序。如果数组不是这 4 种情况中的任何一种,那么这种方法将不起作用。
- 什么是流程?
- 什么是线程?
- 进程与线程有何不同?
- 父进程是否与其线程共享内存?
最后我问了他们 3 个关于工作文化和角色的问题。
第 3 轮(技术面试 II):由 2 位高级 SDE 进行。
- 项目描述和有关在此过程中做出的决策的基本问题
- DSA – 在 Hackerrank 代码共享页面上腐烂所有橙子(优化方法 + 代码)
- LRU 和 MRU 的实际使用
- 什么是接口?
- C++中的接口是如何实现的?
最后我问了他们 3 个关于工作文化和角色的问题。
第 4 轮(人力资源轮):关于抱负以及我为什么想离开现在的公司、为什么我想加入 Arcesium 以及薪资期望的问题。
最后我问了她两个关于角色的问题。