Live data from Hacker News

Data Structures for Coding Interviews

interviewcake.com

141–150 of 238 posts

Re: Data Structures for Coding Interviews

#141

Earlier quoted context omitted.

Hey, Microsoft was doing this long before google even existed.

I thought the traditional Microsoft interview was more along the lines of "how many golf balls fit in an airplane?"?

You mean "how to move mount Fuji?"

Re: Data Structures for Coding Interviews

#142

Earlier quoted context omitted.

You'd really be fine hiring a senior developer that had no idea how a linked list, a hash table or a binary tree worked? Understanding which data structures are good for speed and memory usage is at a minimum required for memory constrained apps and dealing with large scale data.

Most "senior developers" I know don't know much about data structures. Standards are pretty low in the industry. One reason might be that optimizing for memory consumption or handling "large scale data" almost never happens in practice.

I never had a software development job where optimizing memory consumption and handling large scale data (for whatever definition of large was for that particular system) wasn't a necessity. It was also useful to know when these measures were and weren't needed depending on the context in the system.

I do mostly what's called "systems programming" and did embedded previously but also did some work on "normal" software but in all cases it was useful to care memory, data structures and performance at some levels of the system.

Re: Data Structures for Coding Interviews

#143

I got an impression who their target audience is, based on the examples used, drinking kombucha and listening to Spotify. All the young, beautiful people who wouldn't have ever taken a computer science course if it weren't such a lucrative industry to be in right now. Maybe with this guide they can pass an interview at a big company where they just twiddle with bits all day. I won't be holding my breath until they ca…

To be honest, your comment doesn't make you seem like you're someone who actually knows anything about or is particularly good at coding -- rather, it makes you seem like someone desperate not to have to compete with a larger field of candidates, and grasping for any reason you can find to claim they shouldn't be allowed to try for the same jobs as you.

Also, I'm quite sure someone could easily come up with comments just as arrogant as yours, about you.

Re: Data Structures for Coding Interviews

#144
post #101

Earlier quoted context omitted.

It isn't science, or engineering, because many of the things that count in computing defy measurement : - code quality - software productivity - expected time between failure - tolerance to error - expected life in field - usefulness to users Because the science and engineering cultures of computing have failed to address these effectively, or even create cultural norms that support their development, a craft culture…

> Because the science and engineering cultures of computing have failed to address these effectively That doesn't automatically make coders 'Artists'. There is a huge gamut of software outside the CRUD world of HN. Software that runs mission critical applications like Mars Rovers, power plants, Public transport systems, etc. We should have a fair amount of rigour to ensure the software being written is rock solid, an…

Artizans, not artists. But I agree with your point, failure to understand hashtables is like failure to understand the secret nail in carpentry (I choose this as I've never understood the secret nail in carpentry and therefore do not count myself much of a carpenter).

We shouldn't delude ourselves, software (at the moment) is a craft discipline and craft disciplines can have huge blind spots. Comp-sci needs to spend real effort on the hard to do questions like working out how to make systems usable and other corner cases which are ignored in favour of reams of papers about verifiability and modular composition; note I am not against this work, but I just don't think it should be funded while the experience of watching a six year old trying to use google or a mac is as humiliating (to a professional) as it currently is... and boy is it.

Re: Data Structures for Coding Interviews

#145
post #131

Earlier quoted context omitted.

You'd really be fine hiring a senior developer that had no idea how a linked list, a hash table or a binary tree worked? Understanding which data structures are good for speed and memory usage is at a minimum required for memory constrained apps and dealing with large scale data.

Yes,I'd be fine with it as long as they could read and understand a table of data specifying the time and space complexity of various data structures and algorithms. The amount of programming done in memory constrained apps and for large scale data is tiny in comparison to all programming, most of which is very basic CRUD type work meant for use in resource rich environments at small scale.

> Yes,I'd be fine with it as long as they could read and understand a table of data specifying the time and space complexity of various data structures and algorithms.

I'd find it highly unlikely they could do that while being unfamiliar with core data structures and algorithms. A big reason to learn basic algorithms and data structures is not to reimplement them yourself but to help you design and understand your own algorithms and data structures.

> The amount of programming done in memory constrained apps and for large scale data is tiny in comparison to all programming, most of which is very basic CRUD type work meant for use in resource rich environments at small scale.

Those were just examples. I've seen plenty of cases of code for CRUD apps that had problems handling just a few 1000 records because the coder didn't understand memory usage and algorithmic complexity. I'd certainly want lead/senior developers to have this knowledge even if it's rare they have to step in to help in this area.

Re: Data Structures for Coding Interviews

#146

Earlier quoted context omitted.

You'd really be fine hiring a senior developer that had no idea how a linked list, a hash table or a binary tree worked? Understanding which data structures are good for speed and memory usage is at a minimum required for memory constrained apps and dealing with large scale data.

Most "senior developers" I know don't know much about data structures. Standards are pretty low in the industry. One reason might be that optimizing for memory consumption or handling "large scale data" almost never happens in practice.

> Most "senior developers" I know don't know much about data structures. Standards are pretty low in the industry.

Even if standards were low, the point of an interview is to gauge the standard of the developer. Algorithms and data structures knowledge is important.

Re: Data Structures for Coding Interviews

#147
post #131

Earlier quoted context omitted.

Yes,I'd be fine with it as long as they could read and understand a table of data specifying the time and space complexity of various data structures and algorithms. The amount of programming done in memory constrained apps and for large scale data is tiny in comparison to all programming, most of which is very basic CRUD type work meant for use in resource rich environments at small scale.

> Yes,I'd be fine with it as long as they could read and understand a table of data specifying the time and space complexity of various data structures and algorithms. I'd find it highly unlikely they could do that while being unfamiliar with core data structures and algorithms. A big reason to learn basic algorithms and data structures is not to reimplement them yourself but to help you design and understand your ow…

> I'd find it highly unlikely they could do that while being unfamiliar with core data structures and algorithms. A big reason to learn basic algorithms and data structures is not to reimplement them yourself but to help you design and understand your own algorithms and data structures.

But you so rarely want to implement a new algorithm or data structure. I suspect someone who knows how to implement a red-black tree is, all other things being equal (and I know all other things would not be in practice, but bear with me), worse for most programming jobs than someone who doesn't (but who knows what its performance characteristics are) - you'd never want a programmer to implement their own red-black tree, that's a maintenance nightmare even if they do it correctly, you'd want them to use the one from the standard library.

Re: Data Structures for Coding Interviews

#148

I got an impression who their target audience is, based on the examples used, drinking kombucha and listening to Spotify. All the young, beautiful people who wouldn't have ever taken a computer science course if it weren't such a lucrative industry to be in right now. Maybe with this guide they can pass an interview at a big company where they just twiddle with bits all day. I won't be holding my breath until they ca…

To be honest, your comment doesn't make you seem like you're someone who actually knows anything about or is particularly good at coding -- rather, it makes you seem like someone desperate not to have to compete with a larger field of candidates, and grasping for any reason you can find to claim they shouldn't be allowed to try for the same jobs as you. Also, I'm quite sure someone could easily come up with comments…

I didn't think their comment was arrogant.

When I saw "Data Structures" for interviews, I didn't think it would be explaining binary to us.

Re: Data Structures for Coding Interviews

#149
post #135
post #97

Earlier quoted context omitted.

You can finish that algorithm and then ask for a *2 wage LOL

Or you can refuse to do that and then work on getting a position where you aren't treated like a monkey expected to do tricks on demand and also have a better wage and social status.

Of course your extra wage goes straight into maintaining that status with uncomfortable clothes, overpriced cars, a big house in the suburbs to support your trophy family who you then spend hours of unpaid overtime avoiding...

I mean you do you, but any job is going to involve a certain amount of doing stuff; personally I find CS algorithm puzzles a lot more fun than status games.

Re: Data Structures for Coding Interviews

#150
post #147

Earlier quoted context omitted.

> Yes,I'd be fine with it as long as they could read and understand a table of data specifying the time and space complexity of various data structures and algorithms. I'd find it highly unlikely they could do that while being unfamiliar with core data structures and algorithms. A big reason to learn basic algorithms and data structures is not to reimplement them yourself but to help you design and understand your ow…

> I'd find it highly unlikely they could do that while being unfamiliar with core data structures and algorithms. A big reason to learn basic algorithms and data structures is not to reimplement them yourself but to help you design and understand your own algorithms and data structures. But you so rarely want to implement a new algorithm or data structure. I suspect someone who knows how to implement a red-black tree…

The analogy doesn't extend other fields, so I would be skeptical that it holds in computer science and software engineering.

Consider, for instants, a data scientist who does great in Kaggle competitions but has a poor understanding of probability theory. That data scientist will not be able to estimate or control the error in their models effectively, and will not even know that there is a way to do so. You do not want to hire that data scientist for a senior role.

Post reply on HN