Blog
Notes on backend engineering, system design, and practical software architecture.
51 posts
March 14, 2026
How Databases Implement Isolation Internally — Locks & MVCC Explained
March 8, 2026
Understanding Transactions, Isolation Levels & Concurrency Problems in Databases
November 22, 2025
Flyweight Design Pattern Explained: How Text Editors Save Memory
November 15, 2025
Simplifying Complex Systems with the Facade Design Pattern
April 20, 2025
Decorating Your Objects: A Guide to the Decorator Design Pattern
June 5, 2024
Understanding the Java Memory Model and 'Happens-Before' Principle
March 23, 2024
Exploring the Composite Design Pattern: Simplify Object Hierarchies
February 21, 2024
Beginners Guide to Service Mesh and Istio
February 13, 2024
A Guide to Bridge Design Pattern
February 4, 2024
Adapter Pattern Explained: Building Bridges in Your Codebase
January 21, 2024
Simplify Object Creation with Prototype Pattern
January 14, 2024
Creating Java Objects Like a Pro: Mastering the Builder Design Pattern
January 11, 2024
Abstract Factory Pattern
January 7, 2024
Factory Design Pattern
January 3, 2024
Singleton Design Pattern
October 21, 2023
Mutual Authentication with Two-Way SSL: A Step-By-Step Guide
October 20, 2023
How exactly one-way SSL works?
October 19, 2023
A Beginners Guide on ETags
August 16, 2023
Simplify Your Code with SOLID Principles: A Beginner's Guide
July 30, 2023
Getting Started with SOLID Principles: A Beginner's Guide
November 26, 2022
Top String Interview Questions & Answers
August 10, 2022
Top OOPS Interview Questions & Answers
April 20, 2022
Spring Security: Architecture and Internal Workflow
April 19, 2022
Why super() must be the first statement in a constructor?
April 18, 2022
Can the main() method be overloaded in Java?
April 9, 2022
Spring Security: What is CSRF all about?
April 6, 2022
Spring Security: Permission-based Authentication
April 3, 2022
Spring Security: Role-Based Authentication
March 30, 2022
Understanding Roles and Authorities & How to create them using Enums?
March 26, 2022
What is Basic Auth and How to secure APIs using it?
March 23, 2022
Getting Started with Spring Security
March 21, 2022
What is Spring Security? & Important terms in Spring Security
February 14, 2022
Why static block executes before the main() ?
February 12, 2022
Complete Guide to Java enum
February 5, 2022
Deep Dive into Inner and Nested Classes in Java
January 30, 2022
Spring JDBC Template: Complete CRUD application in SpringBoot
January 23, 2022
Top Commonly Used Spring Boot Annotations
January 14, 2022
How to create an ArrayList from a File using BufferedReader?
January 13, 2022
Understanding "==" on String Objects
January 10, 2022
Spring Dependency Injection and Autowiring
January 7, 2022
Java OOPS - Polymorphism - Part 3
January 6, 2022
Java OOPS - Polymorphism - Part 2.
January 5, 2022
Java OOPS - Polymorphism - Part 1
January 4, 2022
JAVA OOPS - Inheritance
January 3, 2022
Java OOPS - Encapsulation
January 2, 2022
Java OOPS - Data Hiding and Abstraction
January 1, 2022
Java OOPS - Introduction & Classes and Objects
December 5, 2021
Guide to Stream API in Java
November 27, 2021
Lambda Expression in Java - Part 2
November 21, 2021
Lambda Expression in Java - Part 1
August 19, 2021