2021 年 Oracle 面试体验(校园)
职位空缺是针对服务器技术业务部门下的技术人员的角色。很多人从我院申请,简历入围后,约有1500多名学生有资格参加在线考试。
第 1 轮(在线测试):此在线测试是在 Oracle 的 Pro 能力测试平台上进行的,需要预先安装和设置到我们的系统中。 (建议提前设置软件,以避免最后一刻的匆忙和混乱)。该测试有以下四个部分:
1. 数据结构和算法:
本节由一些来自数据结构和算法的多项选择题组成。问题的难度是基本到中级。 50% 的问题是直接且易于解决的。为 DSA 保持强大的基础,您可以轻松完成本节。这些问题几乎涵盖了数据结构和算法的所有主题。
2、资质:
该部分由基于词汇技能、逻辑推理、数学技能和模式解决的问题组成。问题的难度水平有点中等。有些问题很容易解决,而有些问题需要纸上计算。总的来说,问题是平衡的。大约 80% 的问题是基于推理或数学的,只有 20% 来自语言能力。更加强调定量能力。
3. CS基础知识:
该部分在所有部分中的权重最高,因为它的问题数量最多。几乎所有的问题都是基于各种 CS 核心学科的理论,例如 OOPS、计算机体系结构、计算机网络、操作系统和计算机网络。对这些主题的深入了解将使回答本节中的所有问题变得非常容易。
4. 编码问题:
本部分由两个编码问题组成。一个编码问题非常基础,一个是基于堆栈的问题。第一个问题是基于一些场景的简单问题。
第二个问题是在数组中找到下一个更大的元素。我们需要代码以 O(n) 的时间复杂度编译以成功通过所有测试用例。
问题链接: https://www.geeksforgeeks.org/next-greater-element/
第 2 轮(技术面试 1):在线测试后, 1500 多名学生中约有53名学生入围面试。面试过程从对面试官的热情介绍开始。他是甲骨文团队的资深成员,在甲骨文工作了15年,看起来非常友好和轻松。首先,他让我介绍一下。然后,他向我询问了我的技术兴趣、学术背景以及我工作的技术堆栈。
我在简历中提到了 5 个项目,他让我解释其中一个。我解释了整个项目,包括它的想法实施范围、使用的技术和部署。最后,他问我是否可以现场演示该项目的工作。幸运的是,我将我的项目存储在我的笔记本电脑上,所以我立即展示了它们。建议大家把你的项目放在手边。
他向DSA、OOPS和DBMS提出了很多基本问题,其中一些问题如下:
- 重载和重载的区别。
- 哪个数据结构用于函数调用和递归。 (堆)
- 循环的类型及其用途。
- 什么是事务以及如何在 SQL 中实现它们。
- 在 C++ 中使用 volatile 关键字
- 给定一个包含 n 个数字的数组,在 O(1) 时间内找到数组中不是最大的任何数字。 (只需比较前两项并返回较小的项)
- 用现实生活中的例子解释 LIFO 和 FIFO。
- 给定一个场景,您将使用哪个 Join 以及为什么。
- 2 个基本的 SQL 查询,可以使用 group by 和有子句来完成。
采访花了大约 45 分钟,之后我们被告知等待进一步的更新。
第三轮(技术面试2):在第一次技术面试后的同一天, 53名学生中约有30人参加了我们的第二轮技术面试。面试从一个编码问题开始。面试官接受了我的介绍,然后介绍了自己。他首先直接给了我一个编码问题,然后给了我一个特定的时间框架来编码(比如在 12:15 之前完成编码,大约需要 20 分钟)。这个问题是单链表的基础之一。
给定一个链表,它已排序但其中包含重复值,从头节点开始,我们必须删除链表的所有重复节点。我们不允许更改列表中的值。
接下来,面试官问了许多基础CS科目的问题,其中一些问题如下:-
- 操作系统中发生死锁的必要条件是什么。
- 命名所有 OSI 层
- 列举一些 DBMS 中的并发控制方法
- 如果我在 c 中声明一个静态变量,它存储在哪里?
- 解释 Kadane 的算法。
- 给定一个链表,哪种算法最好对其进行排序?
- 说出 SDLC 中涉及的六个步骤。
- 面向对象编程范式的四大支柱是什么
- 区分 HTTP 和 HTTPS
- 给出 4 个在技术方面使用堆栈的实时示例。
我对最后一个问题的回答是:
- 在网络浏览器中存储历史记录。
- 在 WhatsApp、Instagram 和聊天应用程序中在顶部显示最新消息。
- 用于 Microsoft Office、记事本等中的撤消函数。
- 将最近使用的应用程序存储在手机中。
面试过程大约需要45分钟。
第4轮(技术面试3):上一轮的18名学生被选为本轮技术面试。面试官是甲骨文的资深成员,看起来很有经验。面试像往常一样从我的介绍开始,面试官询问我的项目并告诉我解释我选择的任何一个项目。正如我的简历中提到的,我的专业是网络安全,所以面试官问了我一些网络安全的基础知识。然后他问我在哪个领域从事网络安全工作,因为我在本科时从事密码学一年多,我告诉他我擅长密码学。我们进行了大约 20 到 25 分钟的精彩会议,面试官问了我很多纯粹基于密码学的问题,包括基础知识、不同的加密方法、散列、身份验证、签名、密钥交换。他问了我几乎所有密码学的基本概念。面试官让我解释一切,就像你在向一个完全没有技术知识的人解释一样。
我在简历中也提到了 MongoDB 作为我的技术技能之一,所以面试官就 MongoDB 提出了以下问题:
- MongoDB与传统SQL数据库有何不同
- NoSQL数据库的概念是什么
- 为什么提供 mongo 优于传统数据库
- 解释 MongoDB 地图集。
面试主要是基于我在简历中提到的兴趣和选修课,而不是 CS 科目。最后,我们校园的 8 名学生被选中担任这个角色,我就是其中之一。
建议:
- 精通基础 CS 科目。如果您没有时间先完成 DSA、DBMS 和 OOPS,因为这些是最常见的主题。
- 练习并与实践编码保持一致,而不仅仅是理论。
- 还要练习有时限的编码,比如解决一个问题并尝试在 10-15 分钟内解决它,但要使用正确的方法。
- 如果被问到是我们感兴趣的主题或最喜欢的主题,请明智地回答,因为面试官可能会就该主题向您提出深入的问题。
- 不要虚张声势,如果你不知道任何答案,就直说吧,不要试图造谣。
- 诚实回答你的问题,如果你不能回答,就告诉面试官,不要编造答案。
- 在面试当天保持自己的状态,因为所有三个面试都是在一天内进行的,整个过程可能需要 5-6 个小时。
- 如果你被拒绝,不要失望,是的,感觉就像一切都结束了,但只要坚强回来,每次都多付出一点。
祝一切顺利!!