第 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”);
}
}