🌍 Back-end Web Developement · subject

Back-end Web Developement Programming Languages Syllabus

The Programming Languages syllabus for Back-end Web Developement in full: 4 chapters and 11 topics, every one listed below, plus 50 Programming Languages flashcards with answers.

4Chapters
11Topics
50Flashcards

Programming Languages syllabus: all 4 chapters

Expand any chapter to see its topics and sub-topics.

  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

Back-end Web Developement Programming Languages flashcards — 50 questions with 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')`.

Show the other 30 Programming Languages flashcards
  1. 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.

  2. 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.

  3. In Express.js, what is middleware?

    Middleware is a function with signature `(req, res, next)` that runs during the request-response cycle; it can modify `req`/`res`, end the response, or call `next()` to pass control to the next middleware.

  4. In Express.js, how do you define a route that responds to HTTP GET requests at `/users`?

    `app.get('/users', (req, res) => { res.send(...) })`

  5. In Express.js, what objects are passed to a route handler and what do they represent?

    The `req` (request) object holds incoming request data (params, query, body, headers) and the `res` (response) object is used to send the response back to the client.

  6. In Express.js, how do you access a URL route parameter such as `:id` from `/users/:id`?

    Through `req.params.id`.

  7. What does the Express middleware `express.json()` do?

    It parses incoming requests with JSON payloads and populates `req.body` with the resulting JavaScript object.

  8. What is Flask, and what category of framework is it?

    Flask is a lightweight 'micro' web framework written in Python; it is minimal by default and relies on extensions for additional features.

  9. In Flask, what decorator is used to bind a URL to a view function?

    The `@app.route('/path')` decorator.

  10. In Flask, how do you specify that a route accepts POST requests?

    Pass the methods argument: `@app.route('/path', methods=['POST'])`.

  11. What templating engine does Flask use by default for rendering HTML?

    Jinja2, used via `render_template()`.

  12. In Flask, how do you capture a variable from the URL, such as a username in `/user/<username>`?

    Declare it in the route (`@app.route('/user/<username>')`) and accept it as a parameter in the view function: `def profile(username):`.

  13. What is Django, and what architectural pattern does it follow?

    Django is a high-level, 'batteries-included' Python web framework that follows the MVT (Model-View-Template) pattern, a variant of MVC.

  14. What is the Django ORM used for?

    The Object-Relational Mapper lets you define database tables as Python model classes and query/manipulate data using Python code instead of writing raw SQL.

  15. In Django, what is a migration?

    A migration is a versioned file that propagates changes made to models (adding fields, tables, etc.) into the database schema, applied with `manage.py migrate`.

  16. What is the difference between a Django 'project' and a Django 'app'?

    A project is the entire web application/configuration; an app is a modular, reusable component within the project that handles a specific piece of functionality.

  17. What built-in feature does Django provide for managing site content and models with almost no code?

    The Django admin site, an auto-generated web interface for creating, reading, updating, and deleting model records.

  18. Compare Flask and Django in one key trade-off.

    Flask is minimal and flexible (you add only what you need, more control), while Django is full-featured/opinionated (ORM, admin, auth included out of the box) enabling faster setup for large apps.

  19. What is the Spring Framework in Java?

    Spring is a comprehensive Java application framework providing infrastructure support such as dependency injection, aspect-oriented programming, and web (Spring MVC) capabilities for building enterprise applications.

  20. What is Dependency Injection (DI) as used by Spring?

    DI is a design pattern where an object's dependencies are supplied (injected) by an external container rather than created by the object itself, promoting loose coupling and testability.

  21. What is the Spring IoC (Inversion of Control) container responsible for?

    It creates, configures, wires together (injects dependencies), and manages the lifecycle of application objects called 'beans'.

  22. In Spring, what is a 'bean'?

    A bean is an object that is instantiated, assembled, and managed by the Spring IoC container.

  23. What is Spring Boot and how does it differ from the core Spring Framework?

    Spring Boot is built on top of Spring to simplify setup via auto-configuration, starter dependencies, and an embedded server, eliminating most boilerplate XML/configuration needed in plain Spring.

  24. In Spring, what does the `@RestController` annotation indicate?

    It marks a class as a controller where every method's return value is written directly to the HTTP response body (combining `@Controller` and `@ResponseBody`), typically for building REST APIs.

  25. In Spring, what does the `@Autowired` annotation do?

    It tells the Spring container to automatically inject a matching bean dependency into the annotated field, constructor, or setter.

  26. What is Ruby on Rails, and what design philosophy does it emphasize?

    Rails is a full-stack web framework written in Ruby that emphasizes 'Convention over Configuration' and 'Don't Repeat Yourself' (DRY) to maximize productivity.

  27. What architectural pattern does Ruby on Rails follow?

    MVC (Model-View-Controller): Models handle data/business logic, Views handle presentation, and Controllers handle request flow between them.

  28. What is Active Record in Ruby on Rails?

    Active Record is Rails' ORM layer that maps database tables to Ruby classes and rows to objects, providing methods for querying and persisting data without raw SQL.

  29. What does 'Convention over Configuration' mean in Rails, with an example?

    Rails assumes sensible defaults so you write less config; e.g., a model named `User` automatically maps to a database table named `users` without explicit mapping.

  30. In Rails, what command-line tool is used to generate scaffolding, models, and run the app, and what runs the local server?

    The `rails` command (e.g., `rails generate model User`) creates components, and `rails server` (or `rails s`) starts the local development web server.

Back-end Web Developement Programming Languages FAQ

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

Back-end Web Developement Programming Languages is split into 4 chapters: JavaScript, Python, Java and Ruby. Together they contain 11 topics.

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

4 chapters, containing 11 topics. The largest chapter is JavaScript, with 4 topics.

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

Yes — a 50-card Programming Languages deck, printed in full in the flashcards section of this page and available in the Examius app with spaced repetition. The free plan covers one exam of your choice, including its flashcards; Examius Pro, a one-time purchase, unlocks every other exam and deck.