Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions backend/general/generalTopics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# General Topics

#### Before choosing a specific stack, master these fundamentals:

* **Programming Concepts**
*Converting Programming Code to Binary Code Process ,Compilers,Interpreters ,Variables ,Loops, Functions ,OOP, error handling,Etc..*

* **Basic Data Structures**
*Array, Linked List, Stack, Queue, Hash Map/Dictionary, Tree, Graph*

* **Basic Algorithms**
*Sorting, searching, hashing, mapping, graph algorithms (BFS/DFS)*

* **Problem Solving**
*Practice on LeetCode, HackerRank*

* **Database Concepts**
*Tables, Keys, Relationships, Normalization, Indexing, Transactions*

* **Back-End Fundamentals**
*HTTP Request/Response lifecycle, Web/Application Servers, Client-Server Model, DNS, Latency, Hosting, Proxy, Caching, Authentication/Authorization,First Byte*

* **MVC (Model-View-Controller)**
*Used by most backend frameworks to organize projects*

* **APIs (REST/GraphQL)**
*Critical for frontend-backend integration*

---

#### **Choose a Backend Stack** (Examples):
* C# & ASP.NET Core
* Java & Spring Boot
* JavaScript & Node.js
* PHP & Laravel
* Python & Django
* Ruby on Rails
* others

#### **Notes**:
1. **Selection Criteria**:
- Pick a stack you’re comfortable with and that aligns with job markets in your target region or a specific company.
2. **Learn the Framework First**:
- Understand its workflow, features, and request lifecycle *before* coding to be aware what happen behind the seen.