NA contractor knowledge outline

. . .

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