该过程包括4轮:
- 在线测试
- 技术面试一
- 技术面试二
- 技术+人力资源
在线测试(70 分钟):该测试有 3 个问题,允许的语言为 C、C++ 和Java。
- 给定一个数字,从左边开始使用给定数字的替代数字生成另一个数字。
- 偶数索引为偶数,奇数索引为奇数
- 二叉树中与给定节点最近的叶子
在此轮之后,14 人进入了在线面试的候选名单。
技术面试 I(70 分钟):面试在 Google meet 上进行。面试官很友好。问我自我介绍。他对我的项目产生了一些兴趣,并要求我展示任何人的代码库。我不得不屏幕共享并向他展示代码。然后他问了一些关于 React 的问题,就像我过去在我的项目中使用 React 一样。
从那里他转到Java并询问了一些关于 Collection framework 和 Garbage Collector 的问题。然后他问了一些关于 OOP 的问题。让我在记事本上写一个接口和抽象类的例子(我正在共享我的屏幕)并解释差异。
然后他问了编码问题。我在 GeeksforGeeks 在线 IDE 中编写了代码。
- 递归打印字符串的反转。
- 他给了我一个数组,先是升序排列,然后左旋一些不知名的地方。我必须编写一个代码来找到这个数组中的最小数字。
- 从给定的字符串删除重复项。在这个问题中,我不允许使用 hashmap(或无序映射)。
这也是淘汰赛。
技术面试II(70-75分钟):面试官让我做自我介绍。然后他分享了一个谷歌文档链接,在那里他给出了编码问题。
- 广义斐波那契数列。对于 n = 2,我们将系列中的前 2 个数字相加以获得系列中的下一个数字。对于一般 n,使用前 n 个数字来获取系列中的下一个数字。对于 n = 4,系列将是 0、1、2、3、6、12、23 等。问题是在给定位置找到系列中的数字。功能参数是n和pos。
- https://leetcode.com/problems/number-of-islands/。这是确切的问题。对于解决方案,请参阅查找岛屿的数量。
- 然后他问了一个 DBMS 查询和一些谜题。
最后我被要求计算 2 20 (大约)。
技术+人力资源(30 分钟):面试官要求自我介绍。然后他就我的项目问了一些人力资源问题。
然后他用一段代码结束了采访:
- 使用队列实现堆栈。
从 14 名候选人中一共选出了 5 名候选人。
笔记:
- 在线测试练习树、字符串和数组问题。在面试期间,预计图表中至少有一个问题。
- 在访谈中说明每个解决方案的时间和空间复杂度。