📜  Oracle 面试体验 |设置 60

📅  最后修改于: 2022-05-13 01:58:18.765000             🧑  作者: Mango

Oracle 面试体验 |设置 60

在线评估 - MCQ 回合:(持续时间 ~ 2 小时)

大约有4个部分,每个部分进一步分为小节:-

  1. 能力——包含定量能力、逻辑推理、基于流程图的问题。
  2. 语境交流——包括语法纠正、句子重新排序、阅读理解、词汇、单词替换等。
  3. 基于数据结构的问题——有两个 15 分钟的小节。大多数问题(可能除了 1-2 之外)基于树(AVL,BST)。它们是基于这些树的插入/删除和遍历的基于输出的问题。
  4. 一般的 计算机科学 -来自 OS、DBMS、C++ 输出的问题,重点是变量声明问题

时间管理是关键。准确性和速度对于破解这一轮比赛都很重要。这些问题不是您在任何其他能力倾向测试中都能找到的常规问题。 Y 本轮后53名学生入围。

在线编码回合(1 小时)

  1. 给定一个整数数组,我们必须找到无序整数的最短可能子序列的长度。如果一组整数是有序的(非递减或非递增),则称它们是有序的。
    输入:6
    123456

输出:0(因为输入不递减)

输入:5
14732

输出:3

  1. 你有 n 个城市:x1, x2,…… xn。与每个城市相关的是 T[i] 宝藏和 C[i] 颜色。
  1. 您可以选择参观或跳过某个城市,但不能倒退。
  2. 当您访问一个城市时,您会收到以下金额:
  1. A*T[i] 如果访问城市的颜色与之前访问城市的颜色相同。
  2. B*T[i] 如果这是您访问过的第一个城市,或者访问过的城市的颜色与之前访问过的城市的颜色不同。

我们必须打印可实现的最大利润。

笔记:   T[i], A, B 的值可能为负。 C[i] 的范围是 1 到 n。

这不是淘汰赛。然而,一些学生在第一次面试时被问及他们的代码(我不是他们中的一员,我很高兴,因为我在测试中表现不佳)

面试第一轮(30分钟)

我的面试官非常可爱。他告诉我,他将问他在安置期间被问到的相同问题:

  1. 给定一个整数数组,它的大小和一个数字(目标总和)作为函数参数。我必须返回加起来等于目标总和的所有可能的整数对。注意:数组已排序。
    例如:数组:{1,3,4,5,7,9} 目标总和:8

输出:(1,7),(3,5)
预期复杂度:O(n)

请注意,他对输出必须如何存储在数组中然后稍后打印非常讲究,而不是我们通常遵循的做法,即直接打印输出。

  1. 函数参数是 n 和一个大小为 n-1 的数组。数组中的所有元素都在 1 到 n 的范围内。但是缺少一个数字。该函数必须返回该数字。

例如:n=6 数组:{2,1,4,6,3}

输出:5

  1. 接下来,他给了我一个谜题:

假设我们有一袋弹珠,有一栋 100 层的建筑物。当我们从第 k 层掉落大理石时,它会破裂,因此从 0 到 k-1 层大理石不会破裂,而从 k 到 100 层,大理石会破裂。弹珠一旦掉落,就无法取回。识别该楼层所需的最大弹珠数量是多少。

我花了 2 分钟思考它,并提出了一个二分查找的解决方案,并回答了 7 (log 2 100 = 7)

他对我的做法很满意。我问有没有更好的方法,他说他喜欢我的方法。

最后,他问我有什么问题要问他,我问他在甲骨文工作怎么样,他回答说:“我感觉在上大学!”

第 2 轮面试(45 分钟)

首先,分配给我的小组成员面试了前一位候选人超过 1 小时 45 分钟,我非常害怕。我被叫去面试,我们交换了问候。他说他没有让他们有时间浏览我的简历,以及我是否可以向他简要介绍一下。我提到我的一个项目托管在网络上,并询问了我的 URL 并检查了它。

然后他翻阅了我之前的草稿纸,问了我上一轮被问到的问题。然后我们继续提问:

  1. 给定一个字符串S ,它有很多字符,特殊字符但前几个地方没有括号,后跟一个括号,其中有许多嵌套括号,后跟其他括号,我必须检索第一个括号块中的数据

S = ……….(…(…(..)(…))….)(…)

* *

输出必须是我在 asterix 中指示的数据

我为此编写了一个函数,他对我的方法感到满意。我问他是否对我的代码有任何反馈,他建议了一两点

  1. 接下来他问我谜题:

有 n 只鸟和 m 棵树。如果每棵树上有 2 只鸟,则剩下一棵没有鸟的树。如果每棵树上有一只鸟,则剩下一只没有树可坐的鸟。形成方程以找到 m 和 n。

  1. 然后他让我按降序对数组进行排序。我问他必须使用什么算法,他回答我必须使用任何我可以完美编码的算法,因为他现在不关心复杂性,也不会选择一个算法来给他留下深刻印象。当然,我选择了最简单的一种,选择排序。然后他让我搜索其中的一个元素,我使用修改后的二进制搜索,因为我的数组已经按降序排列

第三轮面试(45分钟)

面试官让我很舒服,问我是否累了,等等。然后是一些破冰的问题,比如告诉我你自己。

  1. 他要求我仅使用就地操作对循环链表进行升序排序。我有点困惑,但他帮助我度过了难关。我不断地和他讨论我的想法,最终得到了想要的解决方案。
  2. 我被要求设计一个代客泊车系统并表示一个类图。 Agai,我们讨论了方法(实体、它们的属性、它们的行为、关系和触发器),我能够给他他想要的东西。

虽然我对这一轮的表现不太满意,但面试官确保我感觉很舒服,还告诉我他喜欢我在这个过程中的发声方式,并通过微妙的暗示朝着正确的方向前进。

面试第 4 轮 - 人力资源(10 分钟)

这些问题非常笼统:

  1. 到目前为止,你的面试经历如何?
  2. 说说你自己,你的家庭背景?
  3. 位置限制?
  1. 为什么选择甲骨文?
  2. 我以前的实习经历如何?
  3. 每个熟悉你的人都会保证你的一项品质是什么?
  4. 您对甲骨文有什么期望?
  5. 你有任何问题问我吗?

最后,在签字的时候,我给了她一个坚定的握手,并说,希望很快能在 Oracle 办公室见到你,她给了我一个大大的微笑!