Skip to content

Foundations

Core concepts and principles that underpin software engineering: methodologies, system design patterns, networking fundamentals, and testing practices. Essential prerequisite knowledge for technical interviews.


Topics

SDLC & Methodologies

Waterfall - Agile - Scrum - Kanban - CI/CD - DevOps - Release Planning
Software development lifecycle: Agile vs. Waterfall trade-offs, Scrum ceremonies, Kanban flow, continuous integration/deployment, sprint planning, velocity tracking.

Design Principles

SOLID - DRY - KISS - Design Patterns - Clean Code - Refactoring
Software design fundamentals: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion, code quality, maintainability.

Networking

TCP/IP - HTTP/HTTPS - DNS - Ports - Protocols - Sockets - Latency
Network communication: OSI layers, TCP vs. UDP, HTTP methods, connection handling, IP addresses, port ranges, network latency and optimization.

RegEx (Regular Expressions)

Pattern Matching - Metacharacters - Groups - Quantifiers - Lookahead - Anchors
Regular expression syntax and usage: pattern matching, common regex patterns, escaping, character classes, capturing groups, performance considerations.

Testing / QA

Unit Tests - Integration Tests - E2E Tests - Mocking - Coverage - Test Strategy
Testing methodologies: test pyramid, unit testing frameworks, mocking/stubbing, test coverage, TDD, BDD, acceptance testing, regression testing.


Quick Interview Prep

Master these fundamentals: - SDLC: Agile ceremonies, sprint planning, velocity - Design: SOLID principles, design patterns, code quality metrics - Networking: TCP/IP layers, HTTP/HTTPS, DNS resolution - Testing: Unit vs. integration vs. E2E, mocking, coverage targets - RegEx: Common patterns (email, phone, URLs), escaping, groups