Ayysz / backend-enginer-roadmap

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Backend Engineer Roadmap

Backend engineer roadmap from zero to one.

  • ⭐ (Beginner)
  • ❄️ (Intermediate)
  • πŸ”₯ (Advanced)

Table of Contents

  1. Big O(n) Notation
  2. Algorithm
  3. Data Structure
  4. Software Architecture
  5. Programming Language
  6. Database
  7. API
  8. Test
  9. Microservices
  10. DevOps
  11. Security

Big O(n) Notation

  1. O(1) ⭐
  2. O(n) ⭐
  3. O(log n) πŸ”₯
  4. O(n log n) πŸ”₯
  5. O(n^2) ⭐

Algorithm

  1. Recursion ⭐
  2. Search
    • Linear Search ⭐
    • Binary Search ⭐
    • Depth First Search πŸ”₯
    • Breadth First Search πŸ”₯
  3. Sort
    • Bubble Sort ⭐
    • Insertion Sort ⭐
    • Selection Sort ⭐
    • Merge Sort ❄️
    • Quick Sort ❄️
  4. Concurrency πŸ”₯
    • Multithreading
    • Multiprocessing

Data Structure

  1. Array ⭐
  2. LinkedList ⭐
    • Single LinkedList
    • Double LinkedList
    • Circular LinkedList
  3. Stack & Queue ⭐
  4. Tree ❄️
    • Tree Data Structure
    • Tree Traversal
    • Binary Search Tree Data Structure
    • Heap Data Structure
  5. Graph πŸ”₯
    • Graph Data Structure
    • DFS Traversal
    • BFS Traversal
  6. Hash πŸ”₯
    • Hash Map Data Structure

Software Architecture

  1. Paradigm ⭐
    • Object Oriented Programming
      • Encaptulation
      • Abstraction
      • Inheritance
      • Polymorphism
    • Procedural Programming
  2. Principle ❄️
    • SOLID Principle
    • ACID Principle
  3. Architecture ❄️
    • Clean Architecture
    • Hexagonal Architecture
  4. Design Pattern πŸ”₯
    • Creational
      • Abstract Factory
      • Builder
      • Singleton
      • Prototype
    • Structural
      • Adapter
      • Bridge
      • Composite
      • Facade
    • Behavioral
      • Command
      • Observer

Programming Language

  1. Golang

    1. Basic syntax ⭐
    2. I/O
      • Reader ⭐
      • Writer ⭐
      • Stream πŸ”₯
    3. Concurrency
      • Goroutine ⭐
      • Channel ❄️
      • Select ❄️
      • Sync Package ❄️
        • Wait group
        • Mutex
    4. Low Level πŸ”₯
      • Go runtime scheduler
      • Goroutine queues
      • Stealing work
  2. NodeJS

    1. Basic syntax ⭐
    2. I/O
      • Reader ⭐
      • Writer ⭐
      • Stream πŸ”₯
    3. Concurrency
      • Promise all ⭐
      • Child process πŸ”₯
    4. Low Level πŸ”₯
      • Non blocking I/O, single thread event loop

Database

  1. ACID ❄️
  2. Transaction Isolation Level ❄️
    • Serializable
    • Repeateble Read
    • Read Commited
    • Read Uncommited
  3. Optimization
    • Indexing ❄️
    • Replication ❄️
    • Sharding πŸ”₯
      • Consistent Hashing
  4. Type
    • SQL ⭐
      • Postgres
      • MySQL
    • No SQL πŸ”₯
      • MongoDB
      • Elastic Search

API

  1. TCP / UDP ❄️
  2. Rest API ⭐
  3. Grpc ❄️
  4. Websocket πŸ”₯
  5. Graphql ❄️
  6. Stream πŸ”₯
  7. Sftp ⭐
  8. Pubsub πŸ”₯
    • Kafka
    • Google Pubsub
  9. Queue πŸ”₯
    • RabbitMQ

Microservices

  1. Monolith ⭐
  2. API Driven ⭐
  3. Event Driven πŸ”₯
  4. CAP theorem πŸ”₯

Test

  1. Unit Test ⭐
  2. Integration Test ⭐

DevOps

  1. Container
    • Docker ⭐
    • Kubernetes πŸ”₯
  2. CI/CD
    • Jenkins ❄️
  3. Ops πŸ”₯
    • Grafana
    • Kibana
    • Logstash

Security

  1. Authentication ⭐
  2. Authorization ⭐
  3. CSRF ⭐
  4. XSS ⭐
  5. Validation ⭐
  6. Encryption ❄️
    • Symetrical
    • Asymetrical
  7. Race Condition πŸ”₯
  8. Docker Security πŸ”₯
  9. Linux Security πŸ”₯

Contributing

Your contributions are always welcome.

License

CC0

About