I've heard skeptics talk about the difficulty of interviewing for software development positions. The process isn't realistic or expects too much from a single developer. Some might whine about the long and arduous process only to be rejected.
But every developer agrees reversing a linked list isn't only essential but a path towards software holiness.
Why Linked Lists?
Linked lists are special. They're frequently talked about in interview questions but rarely used in day-to-day work.
Then it hit. Linked lists are only used for times of need. Hence, reversing a linked list is a sect of the linked list religion. The only requirement is every member knows how to do this in pseudo, Python, Java, binary, and assembly code.
Before I spread the word, let's discuss why this is a religion. Everyone has been exposed to reversing a linked list at least once in their life. I have zero doubt about that previous statement. It's a necessary path to becoming a software developer. You aren't a software developer if you haven't successfully reversed a linked list.
No exceptions.
I proclaim everyone is exposed to the true nature of software development. The beauty and awe of reversing the best data structure known to man. No other data set is essential for coding—no arrays, hashmaps, trees, etc. Everything can be done with a linked list.
That's the truth of programming.
Without linked lists, banks wouldn't store transactions, planes would fall out of the sky, and LeetCode would have to transition to a real business.
Everything is linked lists once you free your mind from the limited view of college and work.
True enlightenment is not writing code to solve a problem but realizing it's already been solved with a linked list.
Thanks for the read.