作为一名本科生,我在大学实习期间面试的第一家公司是 Oracle。我清除了人力资源回合,然后面临拒绝。但这次经历与那次无关。
我第二次获得 Oracle 工作机会是来自 HR 的一条消息。
在线测试:第一步是在线测试。
测试有5个部分,即-
- 资质(20)
- 逻辑(10)
- 运维(10)
- 操作系统(10)
- SQL(10)
括号中的数字表示相应部分的问题数量。
- 能力和逻辑是标准问题,我在那里没有遇到太多困难。
- OOPS 问题基本上与代码输出有关。重点是继承和多态性。
- 操作系统问题与进程处理有关,例如与进程 ID 以及子进程和父进程的资源有关。
- SQL 问题主要与 SELECT 语句中的操作有关,例如在查询随机数中执行算术任务,两种不同数据类型的交互,包括将 int 添加到 varchar2 时的行为等。
根据其中一位面试官的说法,我最好的部分是操作系统,我在 100 分中获得了 71 分。
现在进入面试环节。
面试轮次:轮次在zoom上在线进行。
第 1 轮:这一轮由团队中的一名高级开发人员进行。一开始的问题与我在实习和当前工作期间所做的项目有关,但重点是当前的工作。
- 我们使用什么服务器来部署我们的产品?
- 我们如何处理我们产品的数据?
- 编写查询代码以获取某些数据。
- 为什么在代码中使用 while 循环而不是 for 每个循环?
然后问题转向SQL。
- TRUNCATE 和 DELETE 有什么区别?
- 编写查询以从表中获取收入第二高的员工。
OOPS 的几个问题。
- 什么是可序列化和可抛出?
- Exception 的直接父类是什么?
问了2个编码问题,如下:
- 编写一个程序来检查给定的字符串是否为回文。
- 编写程序打印二叉树。
之后他想了解我熟悉的技术,如 Spring、MVC、 Java Enterprise 等。
最后,我熟悉了面试的团队和工作概况。
PS:在会议开始时,我在 Chrome 浏览器中启用了一个名为 firefly.ai 的扩展程序,我无意中授予了该扩展程序的权限,并开始记录和记录会议。需要多次连接和断开连接才能删除它。所以基本上我把自己弄成了一个傻瓜。
第二轮:第二轮由球队经理进行。再次在正常介绍后的开始,我被要求解释我的项目。这一轮的技术性稍差一些,因为问题与工作经验、未来目标和家庭有关。
问了一个编码问题。
- 给定两棵二叉树,检查一棵树是否是另一棵树的子树。
由于面试时间已过,我被要求在之后邮寄解决方案。
第 3 轮:本轮由团队总监进行。和第二轮差不多,但是他详细问了我实习期间做的项目。
讨论涉及以下内容。
- 该项目的需要是什么?
- 我提供了解决方案还是我只是在实施产品?
- 产品是如何部署的?使用了哪些技术或平台?
- 你是如何在这么短的时间内完成这么大的项目的?
在这一轮中提出了 1 个编码问题。
- 在完全连接的双向加权图中找到两个节点之间的最小距离。
我为此获得了大约 30 分钟的时间,但无法提供有效的解决方案。所以他问我关于我正在使用的方法。他似乎对这个回答很满意。
整体面试体验很好,因为我大部分时间都很自信,而且面试官在讨论过程中也让我感到很舒服。
最后我得到了这个职位,我很高兴地说我很快就会加入那里。
希望这次经历能帮助您尽快找到梦想的工作。