This has not been my experience with the real world. Riddles and gotchas have played a very small role, so far.
“What’s the correct way to delete an element from a Java array while iterating over it?”
“Well I suppose you’d need to avoid invalidating the iterator state but I don’t recall the…”
“BZZT!”
And btw, some arrays are fixed, but many languages call something an “array” which is dynamically-sized.