📜  全职 MTS 的 Oracle 面试体验(校园内)

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

全职 MTS 的 Oracle 面试体验(校园内)

Oracle 访问了我们的校园,为 MTS 和应用工程师简介招聘最后一年的学生。

第 1 轮(在线测试):本轮时长 107 分钟。测试包含几个部分,所有问题都是 MCQ。这些部分是编码能力,计算机科学理论,AVL树等高级数据结构,语言和定量能力等。

大约 40-45 名学生被列入每个个人资料的候选名单,以供进一步处理。

第 2 轮(技术面试 1,30 分钟):面试在 Zoom 平台上进行。

  • 这一轮从对我自己和面试官的介绍开始。
  • 然后他就我的实习项目问了几个问题。然后他继续讨论编码问题。这个问题很简单,只需要一个层次顺序遍历树。
  • 我必须在共享的 coderpad 上编写完整的工作代码。他也在其中运行了一些测试用例。他对代码很满意。
  • 然后他问我是否知道数据库。我说是的,然后他让我写 2 个查询。给定的两个表是:
  1. 学生:(sid,sname)
  2. 课程:(cid,cname)
    他说,任何数量的学生都可以参加任何数量的课程。我必须对关系建模,然后编写以下查询:
    找出每门课程注册的学生人数。
    查找最多学生注册的课程。
    我首先引入了一个新表 -> Enroll: (sid, cid) 然后编写了查询:
    按 cid 从注册组中选择 cid, count(sid)
    按 cid order by count(sid) desc limit 1 从注册组中选择 cid
    他问了一些关于查询的问题,然后一轮就结束了。

第 3 轮(技术面试 2,30-40 分钟):首先,我们俩自我介绍,然后他直接跳到编码问题。我不得不再次在共享的 Coderpad 上编写工作代码。

  1. 第一个问题很简单,我必须打印给定字符串的反面。他让我用堆栈来做。
  2. 第二个问题也是一个标准的 DP 问题,Print LCS of two given 字符串。

他问我是否知道这个问题的名称。我说我可以通过看名字本身来弄清楚。他说好吧,写代码并解释方法。我为此编写了一个迭代 DP 代码。

然后他开始询问微处理器。我回答了一个基本问题,然后告诉他这不是我喜欢的领域,所以请问其他问题。

然后他从网络上问,让我解释 OSI 模型的所有层。

这轮结束了。

第 4 轮(管理轮 30-40 分钟):这一轮基本上是行为和技术问题的混合体。面试官是甲骨文的高级工程师经理。

  • 从介绍开始,他问我最喜欢的科目是什么。我回答算法。然后他让我告诉他一些我觉得最有趣和最具挑战性的学习算法。
  • 我告诉他 Dijkstra Shortest Path 和 Kosaraju 的 SCC 算法。
  • 然后他详细询问了我的学术项目和团队制作过程。他还询问了谁来决定团队中的工作分配,以及团队中是否有一段时间有人工作较少或有人工作超过预期以及其他一些类似的问题。关键是在这里要开放和自信,听起来像一个团队合作者。
  • 然后他转向一些技术部分并重新审视了我从第一轮开始的查询。他问我它们是否适用于非常大的数据集,它们是否有效?如果没有,那么如何使它们高效。
  • 我不知道他期待什么答案,所以我开始和他讨论这个问题。我们讨论了这些查询的背景工作,然后我知道他想要“索引”,所以这就是我告诉他的。
  • 然后他转到我简历上的爱好部分。我在那里上市了股票市场,所以他让我给他一些快速赚钱的技巧。我向他解释了这种“快速赚钱”本身是如何在股市赚钱的错误方法,除非你知道自己在做什么。

    采访到此结束。他似乎对这一轮感到满意,我也很满意。他们的时间不多了,所以我怀疑我的最后一轮人力资源轮是否会进行,因为对于一些候选人来说它已经发生了。

第5轮(HR轮10分钟小组轮):由于时间紧迫,HR轮是分组进行的。这更像是一次随意的谈话,而不是一次采访。

一些标准的人力资源问题被问到:

  • 申请前对Oracle做了哪些研究
  • 一言以蔽之,Oracle 对您来说是什么。 (不是数据库)等

这个过程持续了一整天,无论是在面试中还是在 Zoom 候诊室,我们都一直在线。所以很忙。结果于当晚公布。

判决:选择。