The vector table is an array of 32-bit entries at the start of flash (by default) that the Cortex-M hardware uses to find exception and interrupt handlers, essentially a function-pointer dispatch table implemented in hardware. Most entries are handler addresses: the reset handler, NMI, HardFault, SysTick, then one per peripheral IRQ (EXTI, timers, UARTs, etc.), indexed by the NVIC when an interrupt fires. The special one is the first entry (offset 0): it is not a handler address but the initial stack pointer value, a data word the core loads into MSP at reset before executing any instruction, which is why the stack is valid from the very first cycle. The second entry is the reset handler. Two practical consequences: ISRs must have exactly the names the table expects (so the linker places them in the right slots, overriding the weak defaults), and in C++ handlers must be extern "C" to avoid name mangling so the table entry resolves, otherwise the interrupt vectors to a default infinite-loop handler and your ISR silently never runs.
Embedded Systems Fundamentals · Interview question
What is the vector table and what's special about its first entry?
A strong answer
What a weak answer sounds like
You know the answer. Do you know what gets you dinged?
Pro breaks down the answer most candidates actually give to this question — and the specific reason an interviewer marks it down. It’s the difference between sounding correct and sounding senior, on all 472 questions.
From the lesson
Boot Sequence & Startup Code
Everything that runs before main(): the reset vector, copying .data and zeroing .bss, the vector table, and how a bootloader hands off via VTOR.