Cache locality and per-element overhead. Array elements are contiguous, so a scan loads cache lines that are fully used and the hardware prefetcher predicts the access pattern, sequential, fast. Linked-list nodes are scattered across the heap or pool, so each next dereference is a pointer-chase to a potentially-cold cache line, with no prefetchable pattern; an O(n) traversal of a linked list can be several times slower than an O(n) traversal of an array despite identical Big-O. Each node also carries a pointer (8 bytes on a 64-bit host, 4 on a 32-bit MCU) of overhead, so the same data takes more memory, fitting less in cache. This is why, for pure iteration or small collections, a packed array often beats a linked list in practice, Big-O models operation counts, not the memory hierarchy.
Data Structures & Algorithms · Interview question
Why might a linked list be slower than an array even when Big-O says they're equal?
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
Linked Lists
Nodes chained by pointers: O(1) splice anywhere, O(n) search and no random access, and how embedded does them without a heap via static node pools and intrusive lists.