Preparation Topics
Preparation Topics
Modules Sub-Topics
Design Design principles and data structures in context of some real time problem
a. Need to be clear with OOPS principles such as inheritance, Data hiding, Polymorphism, Object
Overloading, Object Overriding etc.
I. Special focus should be on cases where methods are static and tried to be
overridden
II. Special focus should be on cases where methods are Private and tried to be
overridden
III. Special focus should be on cases where methods are variables and tried to be
overridden
c. Generics
I. Need to know type erasure and type safety semantics;
II. Need to know why List<String> can’t be type-casted into List <Object>.
III. Need to know the need of wild cards and their usage.
e. Immutability
2 Serialization:
3. Collections:
4. Multithreading: This is the MOST important area nowadays and interviews go into infinite depth
of any section of Multithreading.
Should understand the internal details of these apis and should be able to create these
apis on your own
f. Need to know various ways to creats Thread : ThreadClass; Runable; Callable etc
g. Need to know what is deadlock, what to do if deadlock happened; how to analyze tread-
dumps.
1. Data Structures:
a. Should be well versed with various data structures: Stacks, Queues, Trees,
Graphs etc
b. Should be able to compare various data structures e.g Stack vs Queue etc
2. Problem Solving:
Design
a. Programming to interfaces
3. Should be able to apply design principles and design patterns in common real time problems e.g:
4. The focus here is on the how well design principles are adhered to and the appropriateness of
the design patterns
Kindly go through the following links and prepare for your next round :
> http://javahungry.blogspot.com/2013/08/hashing-how-hash-map-works-in-java-or.html
>
> http://javahungry.blogspot.com/2014/06/how-treemap-works-ten-treemap-java-interview-
questions.html
>
> http://javahungry.blogspot.com/2015/02/how-concurrenthashmap-works-in-java-internal-
implementation.html
>
> http://javahungry.blogspot.com/2015/10/how-treeset-works-internally-in-java-interview-
questions.html
>
> http://javahungry.blogspot.com/p/threads.html
>
> http://javarevisited.blogspot.in/2011/04/synchronization-in-java-synchronized.html
>
> http://javarevisited.blogspot.in/2011/06/volatile-keyword-java-example-tutorial.html
>
> http://mrbool.com/working-with-java-executor-framework-in-multithreaded-application/27560
>
> http://stackoverflow.com/questions/10828863/what-the-use-of-custom-class-loader
>
> http://stackoverflow.com/questions/10901752/what-is-the-significance-of-load-factor-in-hashmap
>
> http://stackoverflow.com/questions/11011291/treeset-internally-uses-treemap-so-is-it-required-
to-implement-hashcode-method
>
> http://stackoverflow.com/questions/137975/what-is-so-bad-about-singletons
>
> http://stackoverflow.com/questions/13855013/understanding-java-memory-management
>
> http://stackoverflow.com/questions/2087469/sort-a-file-with-huge-volume-of-data-given-
memory-constraint
>
> http://stackoverflow.com/questions/27325997/how-does-countdownlatch-works-in-java
>
> http://stackoverflow.com/questions/56860/what-is-the-liskov-substitution-principle
>
> http://stackoverflow.com/questions/8161896/example-code-to-show-how-java-synchronized-
block-works
>
> http://tutorials.jenkov.com/java-concurrency/synchronized.html
>
> http://tutorials.jenkov.com/java-util-concurrent/cyclicbarrier.html
>
> http://www.dynatrace.com/en/javabook/how-garbage-collection-works.html
>
> http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/G1GettingStarted/index.html
>
> http://www.programcreek.com/2013/03/hashmap-vs-treemap-vs-hashtable-vs-linkedhashmap/
>
> https://docs.oracle.com/cd/E13150_01/jrockit_jvm/jrockit/geninfo/diagnos/garbage_collect.html
>
> https://en.m.wikipedia.org/wiki/Creational_pattern
>
> https://en.wikipedia.org/wiki/SOLID_(object-oriented_design)
>
> https://lostechies.com/derickbailey/2009/02/11/solid-development-principles-in-motivational-
pictures/
>
> https://scotch.io/bar-talk/s-o-l-i-d-the-first-five-principles-of-object-oriented-design