Oracle GBU 面试经验 |校园安置驱动2020-虚拟过程
第 1 轮:第 1 轮是在线 MCQ 轮,包括能力、语言、推理和技术问题。该回合分为许多部分,每个部分都有单独的时间框架。包括所有部分在内的总时间为107分钟。
第 2 轮:第 2 轮是在线编码轮次,我们需要在 60 分钟内解决两个编码问题:
- 图 m 着色问题(原问题稍作修改的版本)
- 以之字形格式打印字符串。
示例 1:
Inputs: geeksforgeeks, rowsize = 4
Output: gosefrkesgeke
说明:必须逐行打印字母g o s e f r k e s g e k e
示例 2:
Input: geeksforgeeks, rowsize = 4
Output: gsgsekfrekeoe
说明:必须逐行打印字母
g | s | g | s | |||
e | k | f | r | e | k | |
e | o | e |
第 3 轮(面试轮):面试通过 Zoom 进行,包括以下几轮:
- 两次技术面试(每次约 1 小时)
- 一次 HR 面试(约 30 分钟)
一些面试问题:
两位技术面试官都花了 2 分钟阅读我的简历,然后根据它提出问题。
- 自我介绍(在两轮技术轮中各 2 次)
- 在以下方面给自己打分:C++、数据结构和 SQL
- OOP/ Java问题
- 什么是 OOP?
- OOP 中的主要概念是什么? (抽象、封装、继承、多态与现实世界的例子)
- 什么是运行时多态的例子? (函数重载)
- 什么是函数覆盖?什么是函数重载?两者的区别。
- 他问我在 C++ 中继承类的语法,extends 关键字在Java中。
- C++ 和Java有什么区别?
- 什么是 JDK、JRE、JVM?
- 什么是构造函数?
- 什么是析构函数?
- 为什么Java中 main void 的返回类型是? C++中main的返回类型?
他问我以下输出:
Java
class Test { public static void main(String[] args) { System.out.println(10 + 20 + "TestCode"); System.out.println("TestCode" + 10 + 20); System.out.println(10 * 20 + "TestCode"); System.out.println("TestCode" + 20*10); } }
数据库管理系统问题:
- 查询从员工表中查找最高工资? (答案:从员工中选择 MAX(工资))
- 什么是主键?什么是外键?
- 什么是 SQL?
- TRUNCATE 和 DELETE 命令的区别
- 什么是交易?我还被问及事务的生命周期(部分提交、提交、回滚)。
其他技术问题:
- 我被要求在不使用算术运算运算符的情况下编写两个数字相加
- 我被要求在两轮技术轮中解释冒泡排序(被要求在第二轮技术轮中编写伪代码)
- 我被要求解释和编写二进制搜索的伪代码
- 他给了我一个二叉树结构,并按顺序询问了所有三个遍历,后序、前序。他问如果有预购,我可以告诉后购吗?
- 什么是虚拟表?
- 什么是 MVC 架构?
基于简历的问题:
- 我被要求解释我的每个项目。
- 上面提到的一些问题也来自简历。
其他问题:
- 在第 2 轮中,我被问到拼图问题。
- 我被问到这个能力问题,A和B之间的距离是100公里。一个人以 50 公里/小时的速度从城市 A 出发,另一个人以 40 公里/小时的速度从城市 B 出发。他们会在什么时候见面?
最终结果:选中