🌍 Backend Development · subject

Backend Development Programming Foundations and Server Runtimes Syllabus

Every chapter and topic of Programming Foundations and Server Runtimes examined in Backend Development — 6 chapters, 31 topics, plus 51 flashcards written against it.

6Chapters
31Topics
0Sub-topics
~25hEst. first pass
19%Of Backend Development
51Flashcards

Programming Foundations and Server Runtimes syllabus — full chapter and topic list

Expand any chapter to see its topics and sub-topics. This is the whole examinable outline for Programming Foundations and Server Runtimes in Backend Development, not a summary of it.

  1. Internet and Web Fundamentals

    5 topics
    • How the Internet Works
    • HTTP and HTTPS Protocol
    • Client-Server Architecture
    • TLS, SSL and Certificates
    • Browsers and Rendering Basics
  2. Programming Language for the Backend

    6 topics
    • Choosing a Language
    • Variables, Types and Operators
    • Control Flow and Functions
    • Object-Oriented Programming
    • Functional Programming Concepts
    • Error and Exception Handling
  3. Asynchronous Programming and Concurrency

    5 topics
    • Synchronous vs Asynchronous Execution
    • Callbacks, Promises and Async/Await
    • Event Loop and Non-Blocking I/O
    • Threads, Processes and the Thread Pool
    • Concurrency vs Parallelism
  4. Node.js Runtime

    5 topics
    • Node.js Architecture and Event Loop
    • Modules and npm/package.json
    • Core Modules
    • Express.js Framework
    • Environment Variables and Configuration
  5. Data Structures and Algorithms

    5 topics
    • Arrays, Lists, Stacks and Queues
    • Hash Maps and Sets
    • Trees and Graphs
    • Sorting and Searching
    • Big O and Complexity Analysis
  6. Development Tooling

    5 topics
    • Version Control with Git
    • Package Managers and Dependency Management
    • Linters, Formatters and Editors
    • Debuggers and Logging
    • Build Tools and Task Runners

Programming Foundations and Server Runtimes flashcards for Backend Development

23 of 51 cards from the Programming Foundations and Server Runtimes deck — real questions with worked answers.

  1. What are the four steps a browser performs to load a website after you type a URL?

    1) DNS lookup resolves the domain name to an IP address; 2) A TCP connection is established with the server (often with a TLS handshake for HTTPS); 3) The browser sends an HTTP request; 4) The server returns an HTTP response, which the browser renders.

  2. In networking, what is the role of DNS (Domain Name System)?

    DNS acts as the internet's phonebook, translating human-readable domain names (e.g., example.com) into numerical IP addresses (e.g., 93.184.216.34) that computers use to locate servers.

  3. What is a packet, and why is data split into packets when sent over the internet?

    A packet is a small unit of data. Data is broken into packets so each can be routed independently across the network, reassembled at the destination, and re-sent if lost, making transmission efficient and reliable.

  4. Compare TCP and UDP as transport-layer protocols.

    TCP is connection-oriented and reliable, guaranteeing ordered, error-checked delivery via acknowledgements and retransmission. UDP is connectionless and faster but unreliable, with no delivery or ordering guarantees; it is used for streaming, gaming, and DNS.

  5. What does HTTP stand for, and what kind of protocol is it?

    HyperText Transfer Protocol. It is a stateless, application-layer, request-response protocol used for transferring hypermedia (web pages, APIs) between clients and servers.

  6. Why is HTTP described as a 'stateless' protocol?

    Each HTTP request is independent; the server retains no memory of previous requests. State (like login sessions) must be maintained separately using cookies, tokens, or sessions.

  7. List the main HTTP methods and their typical purposes.

    GET (retrieve data), POST (create/submit data), PUT (replace a resource), PATCH (partially update), DELETE (remove), HEAD (headers only), OPTIONS (query supported methods).

  8. What do the HTTP status code classes 2xx, 3xx, 4xx, and 5xx each represent?

    2xx = success (e.g., 200 OK, 201 Created); 3xx = redirection (e.g., 301, 304); 4xx = client error (e.g., 400, 401, 404); 5xx = server error (e.g., 500, 502, 503).

  9. What is the core difference between HTTP and HTTPS?

    HTTPS is HTTP layered over TLS/SSL, encrypting the communication so data is confidential and tamper-resistant. Plain HTTP sends data in cleartext. HTTPS typically uses port 443; HTTP uses port 80.

  10. What is the main difference between the client and the server in client-server architecture?

    The client requests services or resources and typically handles presentation/user interaction; the server listens for requests, processes them (business logic, data access), and returns responses. One server can serve many clients.

  11. What is a stateless vs. stateful server, and why does statelessness aid scalability?

    A stateless server keeps no client session data between requests, so any server instance can handle any request, making horizontal scaling and load balancing easy. A stateful server stores session context, complicating scaling and failover.

  12. What problem do TLS and SSL solve, and what is their relationship?

    They provide encryption, authentication, and data integrity for network communication. SSL is the deprecated predecessor; TLS (Transport Layer Security) is its modern, secure successor, though 'SSL' is still used colloquially.

  13. What are the goals of the TLS handshake?

    To authenticate the server (and optionally the client) via certificates, agree on a cipher suite and TLS version, and securely establish a shared symmetric session key for encrypting the rest of the communication.

  14. What is a digital certificate, and what does a Certificate Authority (CA) do?

    A digital certificate binds a public key to an identity (domain owner) and is digitally signed by a trusted Certificate Authority. The CA vouches for the identity so clients can trust the server's public key without prior contact.

  15. Explain the difference between symmetric and asymmetric encryption in TLS.

    Asymmetric (public/private key) encryption is used during the handshake to securely exchange or establish a shared secret. Symmetric encryption (one shared key) is then used for the bulk data because it is much faster.

  16. What are the four main stages of a browser's rendering pipeline?

    1) Parse HTML into the DOM and CSS into the CSSOM; 2) Combine them into the render tree; 3) Layout (reflow) computes geometry/positions; 4) Paint and composite pixels to the screen.

  17. What is the difference between the DOM and the CSSOM?

    The DOM (Document Object Model) is the tree representation of the page's HTML structure. The CSSOM (CSS Object Model) is the tree of style rules. They are merged into the render tree to determine what is displayed and how.

  18. What factors typically guide choosing a programming language for a project?

    The problem domain and ecosystem/libraries, performance requirements, team expertise, community and tooling support, hiring availability, and the target platform (web, mobile, systems, data science).

  19. Contrast statically typed and dynamically typed languages.

    Statically typed languages (e.g., Java, Go, TypeScript) check types at compile time, catching type errors early. Dynamically typed languages (e.g., Python, JavaScript) check types at runtime, offering flexibility but deferring type-error detection.

  20. What is the difference between a compiled and an interpreted language?

    A compiled language is translated ahead of time into machine code (e.g., C, Rust), running directly on hardware. An interpreted language is executed line-by-line by a runtime/interpreter (e.g., Python), often more portable but slower.

  21. What is the difference between a variable's value being stored by value vs. by reference?

    By value means a copy of the actual data is stored/passed (typical for primitives), so changes don't affect the original. By reference means a pointer to the same object is shared (typical for objects/arrays), so mutations are visible everywhere.

  22. Distinguish primitive types from reference (composite) types.

    Primitives are basic, immutable single values like numbers, booleans, characters, and strings (in many languages). Reference types are composite structures like objects, arrays, and functions, accessed via a reference to their location in memory.

  23. What is the difference between the `==` and `===` operators in JavaScript?

    `==` is loose equality and performs type coercion before comparing (e.g., $0 == \text{''}$ is true). `===` is strict equality and requires both the same type and the same value, with no coercion.

See more Programming Foundations and Server Runtimes flashcards →

Planning Programming Foundations and Server Runtimes for Backend Development

Programming Foundations and Server Runtimes is about 19% of the Backend Development syllabus by topic count — 31 of 165 topics, spread over 6 chapters. At roughly 45 minutes per topic plus 12 minutes per sub-topic, a first pass runs to about 25 hours.

The heaviest chapters are Programming Language for the Backend (6 topics), Internet and Web Fundamentals (5 topics), Asynchronous Programming and Concurrency (5 topics) . Front-load those while your energy is high; the short chapters are better revision filler later.

Work top-down: read the chapter, then tick topics off individually rather than marking the whole chapter done. Sub-topics are where silent gaps hide.

Programming Foundations and Server Runtimes (Backend Development) FAQ

What is in the Backend Development Programming Foundations and Server Runtimes syllabus?

Programming Foundations and Server Runtimes is split into 6 chapters — Internet and Web Fundamentals, Programming Language for the Backend, Asynchronous Programming and Concurrency, Node.js Runtime, Data Structures and Algorithms and Development Tooling, containing 31 topics and 0 sub-topics in total.

How many chapters are there in Programming Foundations and Server Runtimes for Backend Development?

6 chapters. Programming Foundations and Server Runtimes accounts for about 19% of the topics in the whole Backend Development syllabus (31 of 165).

How long should I spend on Programming Foundations and Server Runtimes for Backend Development?

Budget around 25 hours for a first pass through Programming Foundations and Server Runtimes — about 45 minutes per topic plus 12 minutes per sub-topic across its 31 topics. Add revision cycles on top.

Are there flashcards for Backend Development Programming Foundations and Server Runtimes?

Yes — a 51-card Programming Foundations and Server Runtimes deck. Sample cards are printed on this page, and the full deck is free in the Examius app with spaced repetition scheduling.