📌  相关文章
📜  Oracle 应用工程师全职面试经验| 2021 年校内

📅  最后修改于: 2021-11-18 02:22:14             🧑  作者: Mango

Oracle 于 2021 年 8 月初访问了我们的园区。他们为 Gandhinagar 所在地提供了全职应用工程师职位。

允许所有分支的 CGPA 截止值为 7 CGPA。

整个过程共4轮,包括在线测试和3轮面对面的面试。

第 1 轮(在线测试):在线测试完全是 MCQ,并且在他们自己的平台上进行。网络摄像头必须一直保持开启状态,测试的最长时间为 107 分钟。它由以下部分组成:

  1. 资质:它由传统的资质问题组成。该部分本身有不同的小节和每个小节的单独时间限制。
  2. 技术 MCQ:该部分主要由来自核心 CS 学科的 MCQ 组成,包括 DBMS、OS、计算机网络和 OOP。
  3. 基于编码的 MCQ:它有基于预测输出、流程图完成的问题,以及来自二叉树、BST、AVL 树和红黑树的大量问题。
  4. 基于英语语言:它有基于语法、基于理解和类似的问题。在线测试的一个主要挑战是保持速度和应对格式。我们无法在任何小节中来回导航。该测试没有任何负面标记,因此必须明智地决定必须为当前问题投入多少时间。

共有 75 名学生入围虚拟面试。

所有的虚拟面试都是在 Zoom 上进行的,有等候室和分组讨论室,有面试官和被面试者。

第二轮(技术面试-1):一轮从我们的基本介绍开始,然后面试官直接跳到问题:

  • 他看了我的简历,发现我的项目主要是使用各种 JavaScript 框架进行 Web 开发。我们就我使用过的项目和技术堆栈进行了一些讨论,没有太多的交叉提问。
  • 然后他问了我一些关于什么是 SQL 和 NoSQL 数据库以及它们的区别和用例的问题,因为我在我的项目中使用了 MongoDB。他问我是否在我的项目中使用过 SQL 数据库,我的回答是“否”,但他说我拥有有关 DBMS 和基于 SQL 的数据库的所有必需知识。
  • 然后他看到我在简历中提到的竞争编码方面取得了一些成就。看到这个,他问我在那里解决了什么类型的问题,以及比赛所需的技能。他还问我为什么我使用 C++ 而不是任何其他语言进行竞争性编码。
  • 然后他直接转向了一个编程问题:https://www.geeksforgeeks.org/reverse-individual-words/。我应该在不使用任何内置 STL 库函数的情况下解释该方法并在文本编辑器上对其进行编码。他还让我试运行一个测试用例,然后他问了一些关于时间复杂度/空间复杂度等的后续问题。他似乎对我的代码和答案很满意。
  • 然后他问我熟悉的所有数据结构是什么,并问了一些基本的问题。
  • 他还询问了我的电子和通信大学课程以及我在那里学习的所有科目。
  • 他问我是否有任何问题要问他,我问他如何分配 Oracle 的团队以及员工多久转换他们所从事的技术类型。

面试持续了大约 30 分钟,非常冷静。面试官很友好,他试图让我感觉舒服。比赛结束后,如果我们顺利通过,我们会被要求在 Zoom 等候室等候,然后会被引导至其他分组讨论室进行进一步比赛。

第三轮(技术面试-2):本轮主要是编程问题。面试官在聊天中粘贴了一个示例测试用例,并开始解释问题陈述。

  • https://www.geeksforgeeks.org/unique-triplets-sum-given-value/。最初,我问了一些关于问题陈述的澄清问题,然后开始解释基于散列的方法,该方法需要 O(n) 空间。然后他让我进一步优化它。我能够通过排序和两个占用 O(1) 空间的指针来解释该方法,然后在文本编辑器上编写相同的方法。我还应该在他提供的示例测试用例上干运行代码。
  • https://www.geeksforgeeks.org/remove-duplicates-sorted-array/。我再次提出了一些澄清问题,然后使用额外的空间向他解释了该方法。然后我在不使用额外空间的情况下对其进行了优化,并在文本编辑器中对这两种方法进行了编码。
  • 然后他问了我一个谜题:我们有 101 个硬币,其中 100 个相同的硬币(等重)和 1 个有缺陷的硬币(比其余的更重或更轻)。我们应该确定最少的比较次数,以检测有缺陷硬币的缺陷类型(它的重量是否比其他硬币重或轻),而不是确切的硬币。我能够用正确的方法解决这个难题。
  • 然后他问了我在我的项目中使用的后端框架以及基于我的项目的一些其他问题
  • 他还问我是否有任何问题要问他,我问了在大规模运行的项目中使用的主要技术堆栈。

面试持续了大约 45 分钟。我几乎可以完美地回答所有问题,面试官看起来也很高兴。经过一段时间的等待,我被带到了第三轮技术回合的分组讨论室。

第 4 轮(技术面试-3):这是我遇到的最独特的一轮。它持续了大约1小时10分钟。

  • 介绍完之后,面试官让我去一个网站解决数独。
  • 然后他让我通过共享我的屏幕来解决数独游戏,而无需进行任何试验和错误。他让我正确分析它并设计一种方法来确定如何填充所有方块。
  • 我能够解决数独,然后他让我解释我如何确定哪个方格必须填充哪个数字的方法。
  • 然后他让我将这种方法转换为一个代码,用于解决给定 9×9 网格的数独。
  • 他严格要求我不要使用回溯来编写蛮力方法,因为它是每个人都非常熟悉的解决方案。我无法在给定的时间内完美地编写解决方案,但我认为面试官正在寻找方法以及将这种方法转换为干净代码的能力。我根据我的方法向他解释了代码是如何运行的,然后面试就结束了。

我在晚上 8:30 左右完成了最后一轮比赛,第二天公布了结果。共有5名学生获得了offer。

结论 – 被选为应用工程师简介

提示:

  • 尝试为在线考试做好准备,因为它是考生的主要过滤器。树木、AVL 树、红黑树是必须的。
  • 在面试过程中,保持冷静并尝试理解问题或提出澄清问题,而不是直接跳到解决方案上。
  • 首先给出蛮力或不太理想的方法,然后再优化。在面试官面前大声思考,并在解释你的方法时保持互动。
  • 使用最佳编码实践,如果遇到困难不要惊慌。面试官一般都会提示下一步。
  • 根据您的项目和简历的其他方面准备问题。