I'm curious to know what kinds of problems you work on, then?
I find that I need to have a strong working knowledge of data structures every day. Hashes, lists, trees, and so on. Knowing how to apply data structures in production code matters a lot: the difference between a hash lookup and a linear scan, for example, can mean the difference between a reasonable response time for an application and an absolutely terrible response time.
In interviews, I have found that good understanding of these data structures (and the algorithms one uses to manipulate them) correlates strongly with ability to solve larger and more complex problems.
I wrote real-time signal processing code in C for 5 years. I used lists and arrays. Indirectly I used queues as well, but those were buried down in the mailbox code in the middleware. Also was not allowed to malloc and free during runtime or use recursive calls without a very good reason. No DFS or BFS to be had anywhere in the code. No sorting, except for a couple calls to the Standard Library qsort function. My algorithm text of choice was Skolnik[1], not CLRS.
Guess I wasn't writing software for a living. Plenty of SV companies sure got that impression.
I don't consider an array much of a data structure. Its just a contiguous block of memory with a shortcut for addressing inside. List is at least a "proper" data structure. If "data structure" is defined that broadly, then its nearly impossible to write a non-trivial program without data structures. Its like trying to write without sentences.
However, when people around here refer to "data structures" they mean a whole lot more than those two. All of the data structures listed in the post I was replying to are widely considered "standard" data structures that are used all the time. I was pointing out that I worked in a significant, operational codebase of >150,000 lines total that used only the most basic of data structures, and used those sparingly.
You have a point. What I meant was I haven't used theoretical knowledge of data structures. Arrays and hashes does not count :) That's just basic programming knowledge.
Whenever someone uses the term "data structures" I think about the inner workings of different types of B-tree's. And since I don't know the inner workings of the more advanced data structures, I would probably disqualify myself.
Can you qualify this a little bit? I haven't used data structures since university. What are you expecting programmers to know and why?