Barclays capital Singapore, Analyst interview question.
1) first round, phone interview. 1 to 1
difference between ArrayList and Vector. what design pattern is used in ArrayList
what is the ThreadLocal and how to leverage it. Will this class solve the thread contention problem?
difference between volatile and synchronized(intrinsic lock).
How to find out whether a circle exist in a list.
given a unsorted array, given a number A, how to find out all the two numbers which are in the array and sum is A.
Compare Hibernate with ibatis.
explain the most useful fetch strategy in Hibernate.
list out all the objects u can use in a jsp page directly.
Is Map a collection type? if not, why.
any experience in software load balancer? for example LVS. explain hearbeat.
How many methods in Object class, which methods will be override by the application developer and why.
explain the erasure of generics. What is the upper bound and lower bound. What is collection of unknown and how we use it.
will finally always run? explain the following code
try {
doSth();
} catch (Throwable t){
System.exit(1);
} finally {
System.out.println(“I am in finally ”);
}
2) On site interview, 3 people, 1 application engineer, 1 analyst, 1 pm.
what is the new feature in jdk 5 compared with jdk 1.4. Have you ever looked into Java 7.
any experience in Apache commons, explain the commons-collection strutcture. Write a piece of code to simulate lazy load collection. any experience in google collection? what is the disadvantage of google collection.
what is enclosure. (fuck this, it is in Java 7 and has not been released yet.)
how does connection pool work.
transaction isolation level.
Given a code snippet, find the problem and fix it. (dead lock)
explain the command, observe pattern. how to use it. Any example in JDK?
explain the GC. explain at least two gc algorithm and how to use them. (Concurrency and CMS)
How to profile a JVM. any tool you are good at. How to do analysis if you got the snapshot of the heap.
typical web authentication procedure.
give me perfect Singlton which will be run in a multithread env. (pls look into java concurrency)
If two thread contend for a specific resource, how to find out which resource it is without profiling tools. (thread dump).
Explain the pojo’s lifecycle in hibernate. What is first level and second level cache. How to enable them.
Can we cluster hibernate and why.
How to simulate the hot deploy in an application server.
Why Java need abstract and interface at the same time.
Merge two sorted linked list and make sure the result is also sorted.
simulate the class inheritance in Javascript (prototype)
what is drawback of google web tool kit.
Any experience in source control system. (replied CVS and SVN), what is the difference between CVS and SVN. Have u heard of perforth? What is the standard development lifecycle in SVN? explain the meaning of trunk, branch, tag.
What is the meaning of merge.
tell me the sort algorighm you know. the different scenario they should be used in.
any ext-js experience.
behavior question.
3) final round, 1 hiring manager.
Why we call spring as a light-weight container.
how to design a web crawler. make sure these crawler crawl all the competor’s website and we provide lower price than that.
explain thread-safety. explain and give an example of semphere, reentrantlock and countdownlatch. How to avoid dead lock. difference between semphere and lock, are they interchangeable? what is a blocking queue in jdk 5.
database sharding experience? tell me the different sharding stragety. How to use hibernate sharding.
given a very slow application server, how to tune it
difference between hashtable and hashmap, what is bucket. if possible, tell something about the source code of hashmap in jdk. How to design a good hash function?
session related j2ee best practice. If our application servers are clustered and fail over enabled, what kind of Objects can be stored in session and why.
session failed over. tell me some real product’s strategy. for example tomcat. websphere, weblogic
spring security. how to integrate it with microsoft site minder.
explain the fail index. what can cause the index not work.
what is the difference of IN and exist keyword in Oracle.
Select name from employee where name not in (select name from student);
Select name from employee where not exists (select name from student);
explain the query plan.
what is N+1 select. How hibernate avoid it. Should we always avoid N+1 select and why?
Spring AOP. how to simulate a spring AOP by either jdk proxy or CGLib. Can we use AOP to achieve proxy pattern.
why we need inner class? static inner class? explain the source code of ArrayList.
How to recover the previous session after restarting the server?
contextclassloader, how application server load different applications and maintain their own libs in JVM. Can we simulate it and how.