Oracle 面试体验 |设置 47(校内)
面试前轮次
第一轮——是 MCQ 轮,有 4 个部分的问题——语言交流、能力、编码、操作系统和 DBMS,大约 2 小时
第二轮-编码轮-2个问题
1. 在包含 0 和 1 的字符串中应该翻转多少个最小位数,这样 0 和 1 应该是交替的
2.如果字符串中的第一个字母大写,则将整个字符串更改为大写字母,否则将整个字符串更改为小写字母
面对面回合
我遇到的所有面试官都很友好,问我数据结构和通用程序。面试结束时,每个人都问我是否有一些问题。每轮评估学生的思维能力、编程能力、态度和沟通能力。
第一轮
面试官让我解释我的两个项目。之后,他让我为斐波那契数列写一个程序,然后在一个句子中找到字谜。预计会有完整的代码,但没有仔细检查每一行。如果你能正确和自信地解释它应该足够好。他还问了一些Java的基础知识。他进一步试图给我一个问题,其中矩阵有 0 和 1,并将行和列更改为 0。他后来问我一个关于如何声明多维哈希图的问题。
第二轮
这一轮技术问题的水平有所提高。预计会有完整的代码。他问了我一些关于我要开始的项目的信息。然后开始向我询问不同的数据结构及其链表的优点。他问我如何在链表中找到循环以及循环的起点。然后他问我一个关于股票价格的问题并存储在一个数组中——如何找到买卖股票的时间以最大化利润(我首先给出了一个需要多次遍历数组的解决方案,他问我优化成一个单一的遍历)。然后他问我如何在没有内置函数的情况下实现随机函数。然后他问我如何开发一个多层次的停车系统,并且每个层次的车辆数量都有不同的限制,这样它会显示它是否已满。最后,他问我如何以之字形方式打印矩阵。
第三轮
面试官让我从自我介绍开始。他让我解释我喜欢的任何一个项目。然后他要求成为将十进制转换为二进制的程序。后来他让我做一个 BST 的水平顺序遍历。我做了一个递归解决方案,但他不满意,并要求我减少遍历次数,因此建议使用他接受的队列。然后他问我一个查询——在一个由 AuthorID、书名、年份和成本组成的表中,我如何检索一年内卖出超过 3 本书的作者数量。他还问了一般的Java概念,比如继承多态性等。然后他问了我一些问题,比如告诉我你的家庭,为什么选择 Oracle 等
最后,他们在晚上 9 点 15 分左右公布了结果,选出了 25 名学生。