Skip to content

Live Demo

Experience the MkDocs Free-Text Questions Plugin in action! All examples below are fully interactive - try typing in the answer boxes, toggling sample answers, and exploring the features.

Interactive Examples

All questions on this page are live and functional. Your answers are automatically saved in your browser's local storage.

Basic Question

Try answering this simple question using our modern syntax:

What is the capital of France?

(2 marks)
0 characters

Triple Quote Support for Complex Answers

The plugin now supports triple quotes (""") to handle answers containing commas, quotes, and complex punctuation:

List the programming languages you know and explain their primary use cases.

0 characters

Explain the time complexity of common sorting algorithms.

0 characters

Question with Code Block

This example shows how questions can include syntax-highlighted code blocks:

Analyze the following Python function and explain what it does:

def binary_search(arr, target):
    left, right = 0, len(arr) - 1

    while left <= right:
        mid = (left + right) // 2
        if arr[mid] == target:
            return mid
        elif arr[mid] < target:
            left = mid + 1
        else:
            right = mid - 1

    return -1

What is the time complexity and when would you use this algorithm?

0 characters

Mermaid Diagram Question

See how the plugin handles interactive Mermaid diagrams within questions:

graph TD
    A[Frontend App] --> B[API Gateway]
    B --> C[User Service]
    B --> D[Order Service]
    B --> E[Payment Service]
    C --> F[(User DB)]
    D --> G[(Order DB)]
    E --> H[(Payment DB)]
    D --> I[Email Service]
    E --> I
    I --> J[External Email API]

Consider scalability, reliability, and security aspects.

marks: 12, placeholder: Analyze the architecture and suggest improvements..., show_answer: true, answer: Potential issues: 1) Single API Gateway bottleneck, 2) No service discovery mechanism, 3) Direct database connections without connection pooling, 4) No caching layer, 5) Missing monitoring/logging. Improvements: Load balance the API Gateway, implement service mesh (Istio), add Redis caching, use database connection pools, implement circuit breakers, add distributed tracing, and use message queues for async communication between services.

0 characters

Visual Learning with Images

Questions can include educational images and diagrams:

Examine this data structure visualization and answer the following:

Binary Tree Structure

  1. What type of tree traversal would visit nodes in the order: 3, 5, 7, 10, 12, 15, 18?
  2. What is the height of this tree?
  3. Is this a valid Binary Search Tree?
0 characters

Algorithm Flowchart Question

Questions can include flowcharts to visualize algorithms and processes:

Study this algorithm flowchart and explain what sorting algorithm it represents:

flowchart TD
    A[Start: Array of n elements] --> B[i = 0]
    B --> C{i < n-1?}
    C -->|No| Z[End: Array sorted]
    C -->|Yes| D[j = 0]
    D --> E{j < n-i-1?}
    E -->|No| F[i = i + 1]
    F --> C
    E -->|Yes| G{arr[j] > arr[j+1]?}
    G -->|No| H[j = j + 1]
    G -->|Yes| I[Swap arr[j] and arr[j+1]]
    I --> H
    H --> E

What is the name of this algorithm and what are its time complexities for best, average, and worst cases?

0 characters

Multi-Language Code Example

Demonstrate code syntax highlighting across different programming languages:

Compare these three implementations of the same function in different languages:

Python:

def factorial(n):
    return 1 if n <= 1 else n * factorial(n - 1)

JavaScript:

function factorial(n) {
    return n <= 1 ? 1 : n * factorial(n - 1);
}

Java:

public static int factorial(int n) {
    return (n <= 1) ? 1 : n * factorial(n - 1);
}

What programming concept do all three implementations demonstrate, and what are the potential risks?

0 characters

The plugin supports comprehensive assessments with multiple questions:

Assessment

1.

title: Python Fundamentals Assessment shuffle: true

What is a variable in Python and how do you create one?

0 characters
2.

marks: 3, placeholder: Describe variables and their creation..., show_answer: true, answer: A variable in Python is a name that refers to a value stored in memory. You create one by simply assigning a value: x = 5 or name = "Hello". Python is dynamically typed, so you don't need to declare the type.

0 characters
3.

Explain the difference between a list and a tuple in Python.

0 characters
4.

marks: 5, placeholder: Compare lists and tuples..., show_answer: true, answer: Lists are mutable (can be changed after creation) and use square brackets: [1,2,3]. Tuples are immutable (cannot be changed) and use parentheses: (1,2,3). Lists are better for collections that may change, tuples for fixed data.

0 characters
5.

What is a function in Python? Write a simple example.

0 characters
6.

marks: 4, placeholder: Define functions and provide an example..., show_answer: true, answer: A function is a reusable block of code that performs a specific task. Example: def greet(name): return f"Hello, {name}!" - This function takes a name parameter and returns a greeting string.

0 characters

Character Counter Demo

Notice the character counter in the bottom-right of text areas (can be disabled):

Write a short paragraph (aim for 100-200 characters) explaining your favourite programming language and why you enjoy using it.

(3 marks)
0 characters

Long-Form Question

Perfect for essays and detailed responses:

Design a simple web application architecture for an online bookstore. Include the following components and explain how they interact:

  • Frontend (user interface)
  • Backend API
  • Database
  • Payment processing
  • Inventory management

Draw a simple diagram or describe the data flow between components.

0 characters