📌  相关文章
📜  Oracle India Pvt Ltd 全栈Java开发人员面试经验

📅  最后修改于: 2021-11-23 07:26:18             🧑  作者: Mango

第 1 轮(在线评估和编码挑战90 分钟) :该评估包括两个不同的在线编程挑战集,两者都很重要,必须回答它们。

期望:

  • 能够识别问题类型并应用传统已知的技术来解决它们。
  • 问题陈述中最佳数据结构的使用
  • 可演示代码
  • 功能正确性和完整性
  • 模块化和可扩展性
  • 对Java/J2EE、Spring Boot、Restful Services & Webservices、Kubernetes、PL/SQL有很好的理解(SQL也可以)

1. Java/J2EE(在线评估30分钟):这部分包含三种不同类型的编程技能,每一种都有不同的问题集。每个Section都有需要回答的多项选择题,没有负分。

  • Java (12 MCQ):此测评包括对核心Java的基本理解,包含12道选择题,需要在12分钟内完成。

期望:

  • Java编程基础知识
  • 多线程
  • 异常处理
  • 遗产
  • Java 8 功能
  • 超载
  • J2EE(8 MCQ):该评估包括对 J2EE 概念的基本理解,其中包含 8 道选择题,需要在 8 分钟内完成。

期望:

  • Java Servlet。
  • JavaServer 页面 (JSP)
  • 企业 JavaBeans (EJB)
  • Java消息服务 (JMS)
  • Java命名和目录接口 (JNDI)
  • Java数据库连接 (JDBC)
  • Restful Services & Webservices(12 MCQ):该评估包括对 Restful Services & Webservices 概念的基本理解,其中包含 12 道选择题,需要在 12 分钟内完成。

期望:

  • 对 SOAP 的基本理解
  • Restful的基本理解
  • JSON 的基本理解
  • 请求头
  • 资源
  • 请求正文
  • 响应状态代码
  • POST、GET、PUT 和 DELETE 方法

2. Oracle Coding Challenge(60 分钟):该作业包含两组不同的编程问题,需要在 60 分钟内完成。每个人都会有挑战性,需要明智地选择策略来解决这个问题,因为时间只有 60 分钟。

期望:

  • 你的算法、你应用的使应用程序更快的技术等有多好?
  • 可扩展性
  • 可测试性
  • 设计模式
  • 可演示代码
  • 明确的关注点分离(良好的类设计)
  • 功能正确性和完整性
  • 可读性
  • 模块化和可扩展性
  • 异常处理

任务 1:技术黑客马拉松中的女孩

  • 问题陈述:

The Girl in Tech Hackathon 是编程马拉松,开发人员、设计师、科学家、学生、企业家和教育工作者齐聚一堂,在包括应用程序、软件、硬件、数据可视化和平台解决方案在内的项目上进行协作。参赛者围坐在桌子周围,按照顺时针方向从第 1 队到第 n 队编号。这意味着参与者的编号为 1,2, ..,n-1,n,参与者 1 和 n 坐在一起。在 Hackathon 结束后,评委们开始审查每位参与者的表现。然而,一些参与者尚未完成该项目。每个参与者都需要额外的时间来完成他们的项目。评委开始按时钟顺序依次审查项目,从 x 队开始,他们审查每个项目用时正好 1 分钟。这意味着团队 x 没有额外的工作时间,而团队 x +1 可以多工作 1 分钟,依此类推。即使项目没有由参与者完成,但评委仍然会花 1 分钟来理解这个想法并对参与者进行排名。

  • 输入格式:

第一行包含一个正整数 n,表示黑客马拉松的参与者数量。给定 t1,t2, t3,… tn 的值,每个参与者完成项目需要额外的时间。您必须指导评委选择最佳团队 x 开始审查项目,以便能够完成项目的参与者数量最多。

  • 输出格式:
Print x on a new line. If there are multiple such teams, 
select the smallest one.
Constraints:
1<=n<=9*10^5
0<=ti<=n
Sample Input:
 3
1 0 0
Sample Output:
 2
Java
import java.io.BufferReader;
import java.io.InputStreamReader;
  
Class Test
{
  
    /* Read input from stdin and provide input before
     * running*/
    BufferedReader br = new BufferedReader(
        new InputStreamReader(System.in)) String line
        = br.readLine();
  
    for (int i = 0; i < N; i++) {
        System.out.println(“Hello Word”);
    }
}


Java
import java.io.BufferReader;
import java.io.InputStreamReader;
  
Class Test {
  
 /* Read input from stdin and provide input before running*/
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
  String line = br.readLine();
    
for (int i =0 ; i< N; i++){
   System.out.println(“Hello Word”);
  
}   
}


任务 2:斯特拉和五颜六色的树

  • 问题陈述:

从Byteland回来的时候,Stella从她那边的朋友那里得到了一棵有N个节点的树。这棵树中的所有节点都是无色的,Stella 决定填充颜色以使其具有色彩。 Stella 希望它看起来漂亮,并决定以这样的方式给它着色,即 u 和 v <=2 之间距离最短的任何 2 个节点 u 和 v 不能具有相同的颜色。她想知道如果以最佳方式填充,她需要多少种不同的颜色。

  • 输入格式:

第一行包含一个整数 n ( 3 <=n<100) – 树中的节点数。 next(n-1) 行中的每一行都包含两个整数 x 和 y(1<=x, y<=n)——由边直接连接的两个节点的索引。保证任何节点都可以从任何其他使用边缘的节点访问。

  • 输出格式:

在第一行打印单个整数 k——Stell 必须使用的最小颜色数。

Sample Input 1:
           3
          2 3
          1 3
Sample Output 1:
          3
 Explanation Output 1:
           Tree is like
           1 -> 3 ->2
We can color as follows
         1: Color a
         3: Color b
         2 : Color c
         Total 3 colors
Sample Input 2:
           5
          2 1
          3 2
          4 3
          5 4
Sample Output 2
           3
Explanation Output2: 
          Tree is like:
          1 -> 2 ->3 -> 4 -> 5
         We can color as follows
         1: Color a
         2: Color b
         3 : Color c
         4: Color a
         5 : Color b
         Total 3 colors.

Java

import java.io.BufferReader;
import java.io.InputStreamReader;
  
Class Test {
  
 /* Read input from stdin and provide input before running*/
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
  String line = br.readLine();
    
for (int i =0 ; i< N; i++){
   System.out.println(“Hello Word”);
  
}   
}