4 ms·
I write code every day and I still had to ponder your question for quite a while before I could think of a data structure I use regularly by name. It is not ex
by randomdata 3y ago
I write code every day and I still had to ponder your question for quite a while before I could think of a data structure I use regularly by name.
It is not exactly useful knowledge to keep top of mind. It is not like you need to look up how to use daily data structures. I had an easier time remembering the names of data structures I almost never use, or even have never used, as retaining their names actually has some usefulness.
In an interview situation, I expect I would also give up with stating I could not recall any to save the awkwardness of sitting there silent for half an hour racking my brain.
- Shaanie 3y agoI'm sorry, but what? If you can't even remember what list/set/map whatever is called, how are you going to use them? We're not talking about exact syntax here, just what data structures you use...
- 40yearoldman 3y agoI think the part of the question that throws people is “most common”. It begins to sounds like a trick question, because it hat is the most common? Its going to very from code base to code base. Maybe id the question was name 3 data structures, any 3 it might sit well. But even so. The question did devolve into list of things somebody should know as a ex developer.
- alex_lav 3y ago> I think the part of the question that throws people is “most common”. It begins to sounds like a trick question, because it hat is the most common? Its going to very from code base to code base That’s pretty textbook overthinking for an interview. The point is that it varies from codebase to codebase. Tell me about what you normally use and I’ll ask questions. > Maybe id the question was name 3 data structures, any 3 it might sit well. Trying to get every human to agree on the wording for an extremely easy and general question isn’t a worthwhile use of time though. > But even so. The question did devolve into list of things somebody should know as a ex developer. Interesting use of “devolve”. An an interviewer for a technical role, am I not allowed to have a set of required skills? And is a basic understanding of common data structures not allowed to be in that set?
- randomdata 3y ago> And is a basic understanding of common data structures not allowed to be in that set? It may not be unreasonable, but the question didn't ask that. Granted, it is unlikely the interviewer was skilled in interviewing and the ill-conceived question was born out of their own lack of ability in the the job they were thrown into doing. The reality is that very little effort goes into researching the science of hiring in the first place, and it is even less likely to find people who are both experts in technical matters and experts in what little we do know about interviewing. For how critical businesses claim the hiring process is, it is amazing how they will so often happily throw the first bumbling idiot they can find willing to accept the interviewer role into it like it doesn't matter.
- deleted 3y ago[deleted]
- 40yearoldman 3y agoLanguages and English is hard. So asking clear questions is important. Proof is in this conversation. As you seem to have suggested so much from so few words. It devolved, because it went from what looked like a structured question with a finite expcted result, "Name the most common data structures" , to something more loose, a list of structures, any structures. Further more, we agree, the candidate was trash, and I don't think the wording would have helped. But I do think a more precise question, or maybe a less loaded, or bias inducing question of "name some data structures". Namely, because "common" is subjective as I pointed out. If you are writing lisp all day, well, list are your most common. If you happen to be in assembly then registers are. So to be a better interviewer you don't want to taint the question with your notions.
- alex_lav 3y ago> If you are writing lisp all day, well, list are your most common. That's the thing though. _Any data structure is fine_. Say anything!
- 3y ago
- randomdata 3y ago> If you can't even remember what list/set/map whatever is called, how are you going to use them? Certainly not by dictating their names to my coworker. Why would I need to know their names? I suppose some languages require you to know their names in order to use built-in implementations, but lots of languages use other syntax – often void of natural language (e.g. [], {}, etc.) – to do the same. I eventually got there, but it took awhile to remember. That's great if you have prioritized trivia to occupy your mind's space, but I have found no reason to.
- alex_lav 3y ago> Why would I need to know their names? Why would you need to _communicate about programming_? Because it's a core part of your job... > That's great if you have prioritized trivia Every interview question can be characterized as trivia if you squint hard enough.
- randomdata 3y ago> Why would you need to _communicate about programming_? Because it's a core part of your job... Honestly, I am not sure I have personally ever had to communicate low level details like that with anyone else. The people I have talked pogromming with in my life have all be capable technologists, which allow us to discuss in high level detail. If a list is the right data structure for whatever high level problem we are trying to solve, it is assumed we know that and understand how to use it. > Every interview question can be characterized as trivia if you squint hard enough. Well, I suppose. And there isn't anything wrong with trivia per se. But at the same time it should not be surprising when someone doesn't have an answer. A lot of this stuff just isn't worth having in immediate memory – unless you enjoy trivia, in which case, cool!
- alex_lav 3y ago> Honestly, I am not sure I have personally ever had to communicate low level details like that with anyone else. The people I have talked pogromming with in my life have all be capable technologists, which allow us to discuss in high level detail. If a list is the right data structure for whatever high level problem we are trying to solve, it is assumed we know that and understand how to use it This feels like either hyperbole or extremely rare/almost impossible, but regardless for myself and those I hire, I believe it to be a core competency.