Topics covered in Investment Banking Interview includes -
- Java Basics - OOP Principles, Overriding (knowledge of all Rules), exception handling, garbage collection algorithms, Immutability concepts, Serialization concepts.
- Collections - Internals of ArrayList, HashMap, Concurrent HashMap details, HashSet, PriorityQueue details, etc. Big O Time and Space complexity of various operations
- Multi-threading and Concurrency - Basics of Synchronization, Concurrency API introduced in Java 5, Producer Consumer Problem.
- List, Queue, Binary Tree, Binary Search Tree, hashing techniques, Time and Space Complexity measurements of custom algorithms. Some knowledge of sorting and searching algorithms - at least their comparison.
- Awareness of Basic Design Patterns - Singleton, Factory, Decorator, Listener, Command Design Patterns etc.
- Working knowledge of Spring Core, Spring-MVC, Active MQ, Restful Webservices.
- Hibernate/JPA, ORM concepts (JPA inheritance strategies, Entity Relationship with examples - OneToOne, OneToMany, ManyToMany), Transaction Management, Handling concurrent updates in database, etc.
- Working knowledge of DB and SQL, Database indexing, Outer and Inner Join, performance tuning of queries, etc.
- Familiarity with Unix commands - find a running process, kill a process, grep, vi, tasklist, etc.