AGENT CALL · Mokabla · get_question
request ag_8d08d78c7157

Decision

Allowed   R6 · Within policy

input
{"company":"brightskies","question":"rtos-build-and-startup-code"}

Result

{
  "slug": "rtos-build-and-startup-code",
  "title": "RTOS, Build Process and Startup Code",
  "difficulty": "hard",
  "tags": [
    "embedded",
    "technical",
    "role-embedded"
  ],
  "is_free": true,
  "locked": false,
  "frequency": 1,
  "last_reported_at": "2026-05-20T20:12:38.800709Z",
  "url": "https://www.mokabla.com/en/c/brightskies/rtos-build-and-startup-code",
  "agent": {
    "page": "https://www.mokabla.com/agent/en/c/brightskies/rtos-build-and-startup-code",
    "question": "https://www.mokabla.com/agent/_call/get_question?company=brightskies&question=rtos-build-and-startup-code"
  },
  "company": {
    "slug": "brightskies",
    "name_en": "Brightskies"
  },
  "body_md": "## What they ask\nA second cluster of questions in the embedded technical round goes below the application layer. The Embedded Linux openings are the ones candidates rate hardest, and this is where the difficulty lives. Questions in this area, for example:\n\n**RTOS.** Task states and what a context switch saves. Preemptive vs cooperative vs round-robin scheduling, and what priority based preemption means for a low priority task. Mutex vs semaphore, and what priority inversion is and how priority inheritance fixes it. What you may and may not call from an ISR.\n\n**Build process.** What the preprocessor, compiler, assembler and linker each produce. What `.text`, `.data`, `.bss` and the stack and heap are, and how a linker script places them in flash and RAM. Why a global initialised array increases both flash and RAM usage while an uninitialised one only increases RAM.\n\n**Startup code.** What happens between reset and `main()`: the vector table, the reset handler, copying `.data` from flash to RAM, zeroing `.bss`, setting up the stack pointer, clock initialisation, then the jump to `main`. For Linux roles the same question becomes: bootloader, kernel, device tree, root filesystem, init.\n\n## What they look for\nWhether you can explain the boot sequence and memory map from memory, and reason about scheduling bugs (a missed deadline, a deadlock between two tasks) rather than recite definitions.",
  "follow_ups_md": "- A high priority task never runs after a certain event. List three causes.\n- Your firmware works in debug but hard faults in release. Where do you look?",
  "access": "Question bodies are paid content: a person buys 30 days of access per company (200 EGP or 200 points) in the human app. Agents get titles, tags and difficulty; bodies only for free questions."
}

Navigate (pre-filled links you can follow)