Software Engineering
Data Structures
Algorithms
Design Patterns
Dev Principles
Ruby
Java
Golang
JavaScript
Microservices
RDBMS
NoSQL
CI/CD
Sidekiq
Kafka
RabbitMQ
Elasticsearch
Grafana
Prometheus
Sentry
Docker
K8S
About me
Core
  • Data Structures
  • Algorithms
  • Design Patterns
  • Dev Principles
Programming Languages
  • Ruby
  • Java
  • Golang
  • JavaScript
Extra
  • Microservices
  • RDBMS
  • NoSQL
  • CI/CD
Tools
  • Sidekiq
  • Kafka
  • RabbitMQ
  • Elasticsearch
  • Grafana
  • Prometheus
  • Sentry
  • Docker
  • K8S
Java Core
Basics
Lifecycle
Data Types
Type Casting
Variables and Scopes
Strings
Math Operations
Arrays
Conditionals
Loops
Stack and Heap
OOP
Basics of OPP
Classes and Objects
Attributes and Methods
Access Modifiers
Static Keyword
Final Keyword
Nested Classes
Packages
More OOP
Object Lifecycle
Methods Chaining
Initializer Block
Inheritance
Abstraction
Encapsulation
Interfaces
Method Overloading and Overriding
Static vs Dynamic Binding
Pass by Value / Pass by Reference
Enums
Record
Exception Handling
Lambda Expressions
Annotations
Modules
Optionals
Dependency Injection
I/O Operations
Files Operations
Generics
Collections
The Iterable and Collection Interfaces
The List Interface
The Queue Interface
The Set Interface
The Map Interface
Concurrency
Threads
Virtual Threads
Java Memory Model
Volatile Keyword
Regular Expressions
Networking sockets
Date and Time
Cryptography
Functional Programming
High Order Functions
Functional Interfaces
Functional Composition
Streams
Testing
Unit Testing
JUnit
TestNG
Integration Testing
REST Assured
JMeter
Behavior Testing
Cucumber-JVM
Mockito
Build Tools
Maven
Gradle
ORM
JDBC
Ebean
Hibernate
JPA
Spring