Oracle 服务器技术面试体验 |校园 2020
Oracle 最近访问了我的校园,担任服务器技术角色。选拔过程共涉及 4 轮。 1 笔笔试 + 3 轮面试。
书面回合:
书面回合是在线 MCQ 回合,时长 107 分钟。考试主要分为5个部分:
• 资质
• 计算机科学知识
• 编码技巧
• 语言
每个部分都有不同的时间限制。每个部分进一步分为许多小节,并且可以按任何顺序尝试这些小节。每个此类小节的时间限制相加,以决定该小节的时间限制。
能力部分包含算术、逻辑和口头推理的问题。
计算机科学知识部分有一些来自OS(中级),DBMS(中级到高级)和OOD的问题。
编码技能部分包含代码片段的小部分,我们必须在其中预测输出或选择正确的代码片段,该代码片段将进入问题中给出的空白区域和流程图的小部分,其中首先用文字定义问题然后通过流程图。一些流程图框是空白的,我们必须选择正确的选项,将其放入空白框中。
语言部分有一些问题,比如看不见的段落、按正确顺序排列句子、指出给定句子中的错误以及关于反义词和同义词的几个问题。
这一轮需要敏锐的头脑和快速的速度,因为每个部分都有时间,问题数量更多,因此您需要尽快解决它们。
面试第一轮:
这更多是基于理论和 OOPS 的一轮。面试官从我的介绍开始。然后他迅速转向哎呀:
•你喜欢C++ 的哪些特性(我在简历中提到过C++)?
我告诉他面向对象编程、程序可重用性、封装、抽象和多态性。他很满意,让我停下来。
•有多少种多态性?
我解释了静态和动态多态性。
•什么是抽象类?它是如何制作的?抽象类的目的是什么?
我用一个由矩形和三角形类继承的区域类的例子来阐明所有这些。我还解释了 virtual 关键字和纯虚函数。
•什么是界面?它与抽象类有何不同?
•如果我们在派生类中定义了一个与基类中相同名称和相同数量参数的函数(函数是基类中的虚函数),但我们更改了参数的类型,它仍然是方法覆盖吗?
我回答没有,并解释了原因。
•如果我们通过基类对象调用派生类函数(被覆盖)会发生什么?
这是一个棘手的问题,但我很幸运在面试前一天晚上尝试了它,因此我知道答案是:错误消息,因为方法覆盖只能通过通过基类的指针调用方法来完成。
•编写一个程序来反转一个字符串。
• 您是否从事过全栈开发?
我解释了我在 B.Tech 中制作的全栈 Web 应用程序。他对我的解释很满意。
第一轮到此结束。我有足够的信心进入第二轮。
面试第二轮:
•为什么你的B.tech 和Mtech. 之间有1 年的差距?
我花了一年的时间准备 GATE 考试,因此我向他解释了差距的原因。
•你最喜欢的编程语言是什么?
• 为什么不使用Python进行编程?
我在Python上工作了很多,因为我所做的几乎所有项目都是在Python中,但是对于算法编码,我一直使用我的第 12 标准中的 C++,因为它是我在第 12 中的可选主题。
• pandas 相对于列表的优势是什么?
我解释了 Pandas 数据框附带的功能,这些功能使其更加强大和快速。
•告诉我你用Python完成的一个项目?
我再次讨论了我在 Btech 中所做的项目。它在 python-Django 上
• Django 中的会话是如何维护的?
• 编写一个简单的会话处理机制。使用用户名和密码注册用户(同时说明您将如何存储密码)并在每次登录时向用户显示一条欢迎消息,以及他/她之前登录的次数以及他/她上次登录的时间.
我编写了所有代码,他似乎对我的代码很满意,幸运的是代码第一次运行没有任何错误。我想可能是原力与我同在😛
•你会在cpp 和Python之间选择什么?
这对我来说是一个艰难的选择,所以我花时间向他解释了为什么这对我来说是一个艰难的选择,但最后我选择了Python ,只是因为它的应用领域如此广泛。
•两根绳子拼图。( https://www.geeksforgeeks.org/puzzle-1-how-to-measure-45-minutes-using-two-identical-wires/ )
•你为什么想做M.Tech?
• 您如何看待M.tech 帮助您实现了您想要实现的目标?
第三轮面试:
这更像是一轮讨论而不是技术轮。尽管它不涉及任何编码,但它测试了您提出解决方案的能力。
•您对甲骨文了解多少?
我讲述了自从我第一次在我的系统上安装Java以来我对 Oracle 的第一印象,弹出一个小窗口,上面说有超过一百万个系统在Java上运行,并且那个窗口上有一个漂亮的 oracle 标志。我还向他介绍了 Solaris 操作系统。
•如果您因为Java而对Oracle 如此着迷,那么为什么您的简历中没有Java ?
我向他解释说我学过的第一个编程语言是 Cpp,我从我的第 12 个标准开始就将它作为我的主要编码语言并继续使用它。尽管我在 B.tech 中学习过Java 。但事实上,我将 C++ 作为我的主要编码语言,这并不意味着我不知道Java的强大功能或其巨大的应用程序。
•您对云计算了解多少?
我只知道它的基础知识,因此我解释了这么多,并告诉面试官我从未从事过它,因此我只知道这么多。
•您将如何实施 SSO?
我解释了一步登录系统的基本机制
•关于我在简历中提到的项目的一些问题。
•如果我的登录凭据来自一个不是我常用位置的地方,这可能是恶意登录。在这种情况下,你们将如何确保我的账户安全?
我给了他在系统中保存mac地址的解决方案,但他不相信然后我给了他一个解决方案,我们可以通过将OTP发送到用户的手机号码来添加一个额外的登录步骤,以防登录凭据来自某个地方不是该用户登录的常用位置。他接受了这个答案。
我深夜收到 Oracle 的邮件,通知我被选中。第二天,我大学的安置小组也通知了同样的情况。
尖端:
• 牢牢掌握面向对象的概念和至少一种面向对象的编程语言。
• 非常了解您的基础知识。
• 为任何一轮的任何问题做好准备。一个问题可以来自您的简历,而下一个问题可能是一些编码问题。
• 非常了解你在简历中提到的所有项目。
• 保持开放的心态。适当休息。面试前至少睡 6 小时。
我将这篇文章献给我最好的朋友Ayushi ,他在我的困难时期帮助了我,并始终鼓励我在这个艰难的大流行时期保持乐观。
我要感谢 GeeksForGeeks 和这支优秀而才华横溢的团队中的每一位极客。你们真棒。这是因为这个论坛(这个网站)像我们这样的人梦想得到我们梦想的工作。每年都有这么多学生如此认真地对待自己的命运,非常感谢 GeeksForGeeks 为这一切所做的一切。