Session | Topic | Detailed Topics |
---|---|---|
1 | JVM STRING FINAL | 1. Warm Up 2. JVM Memory Management 3. JVM, JDK, JRE 4. Garbage Collection 5. String & StringBuilder & StringBuffer 6. Final, Finally, Finalize 7. Immutable class (optional: basic syntax of java) |
2 | STATIC OOP | 1. Static 2. Marker Interface - Serializable, Cloneable 3. OOP 4. SOLID Principle 5. Reflection 6. Generics |
3 | COLLECTION | 1. Array vs ArrayList vs LinkedList 2. Set, TreeSet, LinkedHashSet 3. Map, LinkedHashMap, ConcurrentHashMap(how it works) 4. SynchronizedMap 5. Iterator vs Enumeration |
4 | EXCEPTION DESIGN PATTERN | 1. Design Pattern - Singleton, Factory, Observer, Proxy 2. Exception Type - compile, runtime, customized |
5 | THREADS | 1. MultiThreads Interaction (Synchronized, Atomic, ThreadLocal, Volatile) 2. Reentrant Lock 3. Executor and ThreadPool, ForkJoinPool 4. Future & CompletableFuture 5. Runnable vs Callable 6. Semaphore vs Mutex |
6 | JAVA8,17 | 1. Java 8: Functional Interface, Lambda, Stream API (map, filter, sorted, groupingBy etc), Optional, Default 2. Java 17: Sealed Class, advantage vs limitation, across package |
7 | SQL | 1. Primary Key, Normalization 2. Different type of Joins 3. Top asked SQLs - nth highest salary; highest salary each department; employee salary greater than manager 4. Introduce of Stored Procedure and Function 5. Cluster index vs Non - Cluster - Index 6. Explain Plan - what does it do, what can it tell |
8 | NOSQL | 1. SQL vs NoSQL 2. MongoDB vs Cassandra introduction 3. ACID vs CAP rules explanation |
9 | REST API | 1. DispatcherServlet 2. Rest API 3. How to create a good rest api 4. Http Error Code: 200, 201, 400, 401, 403, 404, 500, 502, 503, 504 5. Introduction of GraphQL, WebSocket, gRPC 6. ReactiveJava |
10 | SPRING CORE | 1. IOC/DI 2. Bean Scope 3. Constructor vs Setter vs Field based injection |
11 | SPRING ANNOTATIONS | 1. Different spring annotations 2. @Controller vs @RestController 3. @Qualifier, @Primary 4. Spring Cache and Retry |
12 | SPRING BOOT | 1. How to create spring boot from Scratch 2. Benefit of Spring boot 3. Annotation @SpringBootApplication 4. AutoConfiguration, how to disable 5. Actuator |
13 | SPRING BOOT2 | 1. Spring ActiveProfile 2. AOP 3. @ExceptionHandler, @ControllerAdvice |
14 | DATA ACCESS | 1. JDBC, statement vs PreparedStatement, Datasource 2. Hibernate ORM, Session, Cache 3. Optimistic Locking - add version column 4. Association: many - to - many |
15 | TRANSACTION JPA | 1. @Transactional - atomic operation 2. Propagation, Isolation 3. JPA naming convention 4. Paging and Sorting Using JPA 5. Hibernate Persistence Context |
16 | SECURITY | 1. How to implement Security by overriding Spring class 2. Basic Authentication and password encryption 3. JWT Token and workflow 4. Oauth2 workflow 5. Authorization based on User role |
17 | UNIT TEST | 1. Different Type of Tests in whole project lifecycle 2. Unit Test, Mock 3. Testing Rest Api with Rest Assured |
18 | AUTOMATION TEST | 1. BDD - Cucumber - annotations 2. Load Test with JMeter 3. Performance tool JProfiler 4. AB Test |
19 | MICROSERVICE | 1. Benefits/Disadvantage of MicroService 2. How to split monolithic to microservice 3. Circuit Breaker - concept, retry, fallback method 4. Load Balancer - concept and algorithms 5. API Gateway 6. Config Server |
20 | KAFKA | 1. Kafka - concepts, how it works and how message is sent to partition 2. Consumer Group, assignment strategy 3. Message in Order |
21 | KAFKA2 | 1. Kafka Duplicate Message 2. Kafka Message Loss 3. Poison Failure, DLQ 4. Kafka Security (SASL, ACLs, Encrypt etc) |
22 | DISTRIBUTED SYSTEM | 1. MicroService: how to communicate between services 2. Saga Pattern 3. Monitoring: Splunk, Grafana, Kabana, CloudWatch etc 4. System Design: distributed system |
23 | DEVOPS | 1. CICD 2. Jenkins pipeline with example 3. Git Commands: squash, cherry - pick etc 4. On - Call: PageDuty etc 5. How do you solve a production issue with or without log |
24 | KUBERNETES | 1. Kubernetes, EKS, WCNP, KubeCtl |
25 | CLOUD | AWS Modules with examples |