Junior Back-end Curriculum
Memory Management
- Primitive vs reference type
- Stack vs heap
- Pass by value / pass by reference
- Mutable vs Immutable objects
OOP
- Basic principles, their application and why they’re beneficial
- Being able to design an object hierarchy for a given problem
DSA
- Array, List, Stack, Queue
- List vs Map vs Set
- Binary Search
- Sorting - one of:
Design Patterns
- Dependency injection
- Singleton
- At least one of:
- Factory
- Builder
- Decorator
- Façade
- Observer
Spring or other web application framework
- Basic understanding of the framework
- Bean definition, injection and scope
- Creating basic API
- Basic DB connection
Databases
- Normalisation explanation
- Basic SQL – create, alter, drop, insert, update, delete, join
- Relationships in the DB – one-to-one, one-to-many, many-to-many
Client-server communication
- What is HTTP?
- HTTP request/response structure - headers, methods, body, status, parameters
- RESTful API – basic concept
GIT
- What is Version Control?
- What is Git?
- Creating and cloning repository
- Committing, pushing, and pulling changes
- Merging and conflict resolution