Backend Engineering Learning Map

Learning Mind Map for Backend Engineering

Get Started. It's Free
or sign up with your email address
Backend Engineering Learning Map by Mind Map: Backend Engineering Learning Map

1. Dynamic Programming

1.1. Memoization

1.2. Tabulation

2. Java

2.1. Java Master Class Course

2.1.1. Core Java

2.1.2. Generics

2.1.3. Concurrency API

2.1.4. Collections API

2.1.5. Exceptions

2.1.6. Regex

2.1.7. Streams API

2.1.8. Serialisation

2.1.8.1. Kryo

2.1.9. Message Formats

2.1.9.1. JSON

2.1.9.1.1. JSON API

2.1.9.2. XML

2.1.9.3. Protocol Buffer

2.1.10. JDBC

2.1.11. RMI

2.1.12. RPC

2.1.13. Garbage Collection

2.2. Testing

2.2.1. Unit Testing

2.2.2. Integration Testing

2.2.3. JUnit

2.2.4. Mockito

2.2.5. Stress Testing

2.2.5.1. Apache JMeter

2.3. Backend

2.3.1. Spring

2.3.1.1. SpringBoot

2.3.1.1.1. Tracing & Observability (Spring Actuator)

2.3.1.2. Spring Data

2.3.1.3. Spring Security

2.3.2. Hibernate

2.3.2.1. JPA

2.3.3. Web Services

2.3.3.1. REST

2.3.4. Microservices

2.3.4.1. Microservices Patterns

3. Security

3.1. Standards & Protocols

3.2. AuthN vs AuthZ

3.3. Basic Authentication

3.4. Identity & Access Management

3.5. OAuth

3.6. SSO

3.7. JWT

3.7.1. JWT vs Cookies

4. Books

4.1. Clean Code

4.2. Designing Data Intensive Applications

4.3. Clean Architecture

4.4. Pragmatic Programmer

5. Legend

5.1. I have a good understanding about

5.2. I know something about

5.3. Yet to learn

6. Web Design

6.1. HTML

6.1.1. Symantic HTML

6.2. JavaScript

6.2.1. Asynchronous Execution in JS

6.3. CSS

6.4. TypeScript

7. Build Systems

7.1. Maven

7.2. Gradle

8. System Design

8.1. Caching

8.2. Clusters High Availability

8.2.1. Active-Active

8.2.2. Active-Passive

8.2.3. Fail Over

8.3. Scaling

8.4. Consistent Hashing

8.5. Load Shedding

9. Logging & Monitoring

9.1. ELK Stack

9.2. Prometheus

9.3. Grafana

10. VCS

10.1. GIT

10.1.1. GitFlow

11. Serverless

11.1. AWS

11.2. Azure

11.3. GCP

12. Problem Solving

12.1. Leetcode

12.2. Neetcode’s Grind75

13. Cloud Native Architecture

13.1. 12 Factor Application

14. Web Security Concepts

14.1. SOP

14.2. CORS

14.3. CSRF

14.4. SSRF

14.5. Broken Access Control

14.6. SQL Injection

14.7. Command Injection

14.8. XSS

14.9. Content Security Policy

14.10. Vulnerability Variants

14.10.1. In-Band

14.10.2. Out-of-Band

14.11. Penetration Testing

14.11.1. Black Box

14.11.2. White Box

15. Data Structures

15.1. Binary Trees

15.2. Graphs

15.3. Heaps

15.4. LinkedLists

15.5. Trie

15.6. Stack

15.7. Queue

15.8. Bloom Filters

16. Concepts & Principles

16.1. SOLID

16.2. KISS

16.3. DRY

16.4. YAGNI

16.5. Dependency Injection

16.6. Inversion of Control

16.7. Object Oriented Programming

16.8. Test Driven Development

16.9. Object Oriented Design

16.10. Domain Driven Design

16.11. Event Driven Architecture

16.12. Behavior-driven Design

16.13. Declarative Programming

16.14. Reactive Programming

16.15. Big O

16.16. Hashing

16.17. Encryption

16.17.1. Asymmetric

16.17.1.1. RSA

16.17.1.2. Diffie-Hellman

16.17.1.2.1. Key Exchange Problem

16.17.2. Symmetric

16.18. CQRS

16.19. Event Sourcing

16.20. Concurrency vs Parallelism

16.21. Asynchronous vs Multithreading vs Multiprocessing

16.22. Single Threaded vs Multi Threaded Languages

16.23. Asynchronous vs Synchronous Execution

16.24. Abstraction

16.24.1. Leaky Abstractions

17. APIs

17.1. API Design

17.2. API Security

17.3. API Versioning

17.4. REST

17.5. GraphQL

18. Databases

18.1. Concepts

18.1.1. CAP Theorem

18.1.2. ACID vs Base

18.1.3. Normalisation

18.1.4. Eventual Consistency

18.1.5. SQL vs NoSQL

18.2. Fundamentals of Database Engineering Udemy Course

18.3. SQL DBs

18.3.1. PostgreSQL

18.3.2. MySQL

18.4. NoSQL DBs

18.4.1. MongoDB

18.5. In Memory DBs

18.5.1. Redis

18.5.2. Memcached

18.6. GraphDB

18.7. Wide-Column DBs

18.7.1. Cassandra

18.7.2. HBase

18.8. SQL Theory

18.8.1. Relational Algebra

18.8.1.1. Cartesian Product

19. CICD

19.1. GitHub Actions

19.2. GitLab

20. Containerization

20.1. Virtualisation Concepts

20.2. Docker

20.3. Kubernetes

21. Messaging Systems

21.1. Kafka

21.1.1. Spring Kafka

21.2. Rabbit MQ

22. Scripting

22.1. Bash

23. Infrastructure

23.1. Terraform / Ansible

24. Build Your Own X

24.1. codecrafters.io

25. Network Fundamentals

25.1. Network Overview

25.2. HTTP & HTTPS

25.3. TLS (SSL)

25.4. OSI Model

25.5. TCP/IP Model

25.6. TCP Client-Server App

25.7. UDP Client-Server App

25.8. High Level APIs [URIs, URLs]

25.9. Simple HTTP WebServer

25.10. HTTP Headers

25.11. HTTP Cookies

25.12. HTTP1, 2, 3

25.13. NAT

25.14. QUIC

25.15. FTP & SFTP

25.16. ICMP

25.17. gRPC

25.18. Proxy vs Reverse Proxy

25.18.1. L4

25.18.2. L7

25.19. Load Balancer

25.20. API Gateway

25.21. Port Forwarding / Tunneling

25.22. SSH

25.23. DNS

25.24. Hosting

25.25. WebSockets

25.26. Server Sent Events

25.27. Long Polling

25.28. Short Polling

25.29. CDN

25.30. Routing

25.30.1. Onion Routing

25.31. Web Servers

25.31.1. Apache Tomcat

25.31.2. Apache httpd

25.31.3. NGINX

26. Design Patterns

26.1. Creational

26.1.1. Singleton

26.1.2. Object Pool

26.1.3. Factory Method

26.1.4. Abstract Factory

26.1.5. Builder

26.1.6. Prototype

26.2. Structural

26.2.1. Decorator

26.2.2. Adapter

26.2.3. Bridge

26.2.4. Composite

26.2.5. Facade

26.2.6. Proxy

26.2.7. Fly Weight

26.3. Behavioural

26.3.1. Command

26.3.2. Chain of Responsibility

26.3.3. Iterator

26.3.4. Memento

26.3.5. Observer

26.3.6. State

26.3.7. Strategy

26.3.8. Template Method

26.3.9. Visitor