No |
Topic |
Summary |
1 |
JVM basic concept |
1. What‘s is JVM |
2 |
How to create new object in Java |
1. new |
3 |
Serializable |
1. Official definition |
4 |
Transient |
1.official definition, should from Java Spec |
5 |
Shadow clone vs deep clone |
1. Official definition |
6 |
native |
1.official definition, should from Java Spec |
7 |
final |
1. Official definition |
8 |
Volatile |
1.official definition, should from Java Spec |
9 |
synchronized |
1. Official definition |
10 |
MultiThread |
1. Multithread code sample |
11 |
How to implement Connection Pool |
1. What‘s connection pool, target |
12 |
Class and object |
1. Inner class |
13 |
Java similar technology and language |
1. Java, .net, c# |
14 |
mutex, futex, spin lock |
1. Need know the basic term. |
15 |
Concurrent |
1. Java.concurrent package |
16 |
Generic |
1. PECS: Produce Extended, Comsumer Super |
17 |
Collection |
1. Map, List, Vector, Set |
No |
Question |
1 |
Why is the String class in Java is final immutable object? |
2 |
What problem(s) does abstraction and encapsulation solve? |
3 |
Why wait, notify and notifyAll is defined in Object Class and not on Thread class in Java |
4 |
How Generics works in Java ? What is type erasure ? |
5 |
Explain difference among raw type list, list<Object> and list<?> |
6 |
Thread类中sleep是为什么是静态方法 |
7 |
可以把对静态变量的访问放于synchronized 块内么? |
8 |
final,volatile一起使用可以吗? |
Practice:
No |
Task |
Mandatory |
1 |
现有一个Web Application, 可接受用户请求,现要求将insert类的请求用异步单线程方式保存到数据库中. |
Y |
2 |
实现至少3种不同的创建线程的方法 |
Y |
3 |
You have thread T1, T2 and T3, how will you ensure that thread T2 run after T1 and thread T3 run after T2? These thread already started. Try to implement at least 2 ways. |
Y |
4 |
Write a program which will result in deadlock |
O |
5 |
先有一个很大的数组,可以一次性load到内存,现要求对该数组进行求和,要求利用到多核 |
Y |
6 |
写一个例子, 该例子有100个任务,启动线程数字由用户输入,要求给出总处理时间,用CountLatchDown |
Y |
7 |
写一个周期性处理任务的例子,在这个例子中有100个任务,希望每10个为一组进行处理,当前仅当上一组任务处理完成后才能进行下一组,另外在每一组任务中,当任务剩下50%,30%以及所有任务执行完成时向观察者发出通知 |
Y |
8 |
有一些很大的数组,放在数据库中,现在要求对这些数据进行求和,要求尽可能快, 可以考虑程序控制两个多线程段,一个是数据读取的多线程部分,不同的connection取不同的limit,一个是数据求和计算的多线程部分,注意同步 |
O |