📜  Oracle 面试体验 |校园展示位置 2020

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

Oracle 面试体验 |校园展示位置 2020

在线测试(150 分钟):这一轮有特定的部分。还有一个额外的限制,即在每个部分中,必须按顺序回答问题。候选人不能跳过问题并在以后重新尝试。这些部分基于以下内容:

  1. 资质
  2. DSA 概念
  3. CS 课程概念,例如 OS、DBMS、OOP
  4. 英语

大约 200 名学生参加了在线测试,从中选出了大约 65 名学生进行技术面试。

技术采访 1:由于冠状病毒封锁,采访在 Zoom 上进行。

  1. 解释多线程
  2. 多线程与单进程程序的优点/缺点。

    答:多线程——可以利用任务的并行性并实现加速。此外,程序可以在逻辑上分为许多线程,然后可以单独开发。它还将有效地利用内存和 CPU 时间。然而,多线程程序更难调试,也更难编写。

    单进程程序——整个程序必须一次加载,即使它有多个组件,其中一些很少使用。因此,它会导致 RAM 的浪费。但是,它们更容易调试。

  3. 如果线程死了会发生什么?

    答:主进程必须监视每个线程的状态并采取适当的措施——中止程序,重新启动线程。

  4. 给定一个数组,对于每个索引,计算数组中除该索引处的元素之外的所有元素的乘积。不允许使用除法运算符。

    答案:维护一个前缀和后缀产品数组并进行相应的计算

  5. 谜题:当一个人去寺庙时,他将一半的鲜花献给了守门人,100朵鲜花献给了众神。就这样,参观了3座寺庙后,他只剩下0朵鲜花。他一开始要多少朵花?&

    回答:

    f(f(f(N))) = 0, find N where f(N) = N/2 - 100 

技术面试2:

  1. 解释堆和各种类型的堆
  2. 哪种数据结构便于进行BFS

    答:排队。

  3. 队列的可能实现有哪些?您更喜欢哪一个?

    答:链表和数组。我更喜欢链表,因为数组提供了不需要的恒定时间随机访问。数组调整大小会在插入时产生开销

  4. 我得到了一个涉及两个表的 SQL 查询,这两个表必须使用 LEFT JOIN 来解决
  5. 给定一个唯一元素的数组,设计一个函数,每次调用&时都会返回其所有元素的唯一序列。

    答:从排序开始。所需的函数是 nextPermutation()函数。

  6. 谜题:有一本书的页码从 1 到 150。枚举所有页面时使用了多少位数字?

技术专访3:

  1. 快速排序的最佳和最坏情况时间复杂度是多少?
  2. 对于什么类型的输入,快速排序的最坏情况时间复杂度会出现?

    答案:对于按升序或降序排列的输入数组

  3. 描述编译器的各个阶段。
  4. 生成所有括号 - II 来自。问题 打印平衡括号的所有组合
  5. 找到最大子数组和并报告子数组的索引

人力资源轮:这一轮相当简单。我被要求谈谈我的技术兴趣、爱好以及我是否愿意搬迁

判决:被选为服务器技术工程师。

尖端:

  1. 保持冷静和沉着
  2. 彻底了解您的 CS 科目
  3. 对于谜题,写下精确的数学步骤,以便更容易解决
  4. 在 HR 回合中畅所欲言