🌍 Back-end Web Developement · subject

Back-end Web Developement Programming Languages Syllabus

Every chapter and topic of Programming Languages examined in Back-end Web Developement — 4 chapters, 11 topics, plus 50 flashcards written against it.

4Chapters
11Topics
0Sub-topics
~8hEst. first pass
16%Of Back-end Web Developement
50Flashcards

Programming Languages syllabus — full chapter and topic list

Expand any chapter to see its topics and sub-topics. This is the whole examinable outline for Programming Languages in Back-end Web Developement, not a summary of it.

  1. JavaScript

    4 topics
    • Syntax and Basics
    • Asynchronous Programming
    • Node.js
    • Express.js
  2. Python

    3 topics
    • Syntax and Basics
    • Flask
    • Django
  3. Java

    2 topics
    • Syntax and Basics
    • Spring Framework
  4. Ruby

    2 topics
    • Syntax and Basics
    • Ruby on Rails

Programming Languages flashcards for Back-end Web Developement

22 of 50 cards from the Programming Languages deck — real questions with worked answers.

  1. In JavaScript, what is the difference between `let`, `const`, and `var` in terms of scope?

    `var` is function-scoped and hoisted; `let` and `const` are block-scoped. `const` additionally cannot be reassigned after initialization (though object contents may still mutate).

  2. What does the `===` (strict equality) operator check for in JavaScript that `==` does not?

    `===` compares both value and type with no type coercion, while `==` performs type coercion before comparing values.

  3. What is a JavaScript closure?

    A closure is a function that retains access to variables from its lexical (enclosing) scope even after that outer function has finished executing.

  4. In Python, how do you define a function, and what keyword returns a value?

    Use `def function_name(params):` to define a function, and the `return` keyword to send a value back to the caller.

  5. What is the difference between a Python list and a tuple?

    A list is mutable (elements can be changed, added, removed) and uses `[]`; a tuple is immutable and uses `()`.

  6. In Ruby, what symbol denotes an instance variable versus a class variable?

    An instance variable is prefixed with a single `@` (e.g. `@name`); a class variable is prefixed with `@@` (e.g. `@@count`).

  7. In Java, what is the difference between `==` and `.equals()` when comparing objects?

    `==` compares object references (identity/memory address), while `.equals()` compares logical value/content (as overridden by the class).

  8. What is the time-order behavior described by Big-O notation $O(n)$ versus $O(1)$?

    $O(n)$ means execution time grows linearly with input size $n$; $O(1)$ means constant time regardless of input size.

  9. What is asynchronous programming, and why is it important for back-end servers?

    Asynchronous programming lets a program start a long-running (I/O) operation and continue other work without blocking, so a server can handle many concurrent requests without waiting idly for each to finish.

  10. In JavaScript, what are the three states of a Promise?

    Pending (initial), fulfilled (resolved successfully), and rejected (failed).

  11. What do the `async` and `await` keywords do in JavaScript?

    `async` marks a function that returns a Promise; `await` pauses execution inside that function until a Promise settles, returning its resolved value (making async code read like synchronous code).

  12. What is the JavaScript event loop responsible for?

    It continuously checks the call stack and, when it is empty, moves queued callbacks (from the task/microtask queues) onto the stack, enabling non-blocking asynchronous execution in a single-threaded runtime.

  13. What is a 'callback hell' and one common way to avoid it?

    Callback hell is deeply nested callbacks that become hard to read and maintain; it is commonly avoided by using Promises with `.then()` chaining or `async`/`await`.

  14. In Python's asyncio, what keyword is used to await a coroutine, and how is a coroutine defined?

    A coroutine is defined with `async def`, and you await it using the `await` keyword inside another coroutine.

  15. What is the difference between concurrency and parallelism?

    Concurrency is managing multiple tasks that make progress by interleaving (not necessarily simultaneously); parallelism is executing multiple tasks literally at the same time on multiple cores.

  16. What is Node.js, and what JavaScript engine does it use?

    Node.js is a runtime that executes JavaScript outside the browser (typically for servers); it is built on Google's V8 engine.

  17. Is Node.js single-threaded or multi-threaded for executing JavaScript, and how does it achieve high concurrency?

    Node.js runs JavaScript on a single main thread but achieves high concurrency through its non-blocking, event-driven I/O model backed by the libuv thread pool for certain operations.

  18. In Node.js, what is `npm`?

    `npm` (Node Package Manager) is the default package manager for Node.js, used to install, share, and manage project dependencies listed in `package.json`.

  19. What is the purpose of the `package.json` file in a Node.js project?

    It stores project metadata, scripts, and the list of dependencies (and their version ranges) needed to install and run the project.

  20. In Node.js CommonJS modules, how do you export and import functionality?

    Export with `module.exports = ...` (or `exports.name = ...`) and import with `const x = require('./module')`.

  21. What is the difference between `require()` (CommonJS) and `import` (ES Modules) in Node.js?

    `require()` is synchronous CommonJS syntax; `import`/`export` is the standardized ES Module syntax that supports static analysis and is asynchronous by nature. ES modules typically need `"type": "module"` in package.json or a `.mjs` extension.

  22. What is Express.js?

    Express.js is a minimal, unopinionated web application framework for Node.js used to build web servers and APIs with routing and middleware support.

See more Programming Languages flashcards →

Planning Programming Languages for Back-end Web Developement

Programming Languages is about 16% of the Back-end Web Developement syllabus by topic count — 11 of 67 topics, spread over 4 chapters. At roughly 45 minutes per topic plus 12 minutes per sub-topic, a first pass runs to about 8 hours.

The heaviest chapters are JavaScript (4 topics), Python (3 topics), Java (2 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 Languages (Back-end Web Developement) FAQ

What is in the Back-end Web Developement Programming Languages syllabus?

Programming Languages is split into 4 chapters — JavaScript, Python, Java and Ruby, containing 11 topics and 0 sub-topics in total.

How many chapters are there in Programming Languages for Back-end Web Developement?

4 chapters. Programming Languages accounts for about 16% of the topics in the whole Back-end Web Developement syllabus (11 of 67).

How long should I spend on Programming Languages for Back-end Web Developement?

Budget around 8 hours for a first pass through Programming Languages — about 45 minutes per topic plus 12 minutes per sub-topic across its 11 topics. Add revision cycles on top.

Are there flashcards for Back-end Web Developement Programming Languages?

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