Live data from Hacker News

Data structures and algorithms I actually used while working at tech companies

blog.pragmaticengineer.com

261–270 of 547 posts

Re: Data structures and algorithms I actually used while working at tech companies

#261
post #236
post #228

I'm increasingly convinced that Algorithms-and-Data-Structure interviews are essentially being used as a proxy for: - General IQ. Can this person understand and apply complex ideas - Grit. Is this person hard-working enough to learn things that take time and effort It's the software equivalent of the NFL scouting combine. The goal is not to create a test that is similar to the day-to-day job. But rather, create a tes…

- Retention. If this person spent hours on leetcode, they’ll be less likely to leave the job knowing the effort it takes to get through the gate

I hear this so often that I wonder if people actually believe it. If you do, keep in mind that it would require a fairly large conspiracy within tech circles to maintain. A more likely explanation is that it's less effort to come up with and apply a leetcode-style question in an interview scenario.

Never attribute to malice that which is adequately explained by laziness and cargo-culting.

Re: Data structures and algorithms I actually used while working at tech companies

#262
post #240

Earlier quoted context omitted.

Algorithms and Data Structures don't measure either of those things. General IQ is not measured by very specific technical problems. Nor is learning something specific an indication of "grit". It's a proxy for interviewers to jerk their ego.

> It's a proxy for interviewers to jerk their ego. Interviewers don't have choice here. Interviewers aren't free to come up with their own method. So this is not a valid explanation.

What? I'd go so far as to say this is universally incorrect. Having interviewed hundreds of people at multiple companies, at every level (intern to director), I have never been told what technical questions to ask....

Re: Data structures and algorithms I actually used while working at tech companies

#263
post #150

Earlier quoted context omitted.

I agree with this 100%. I'd also like to add that because of this I adapted the traditional whiteboarding exercise at my current company to be about problem solving and design, and not about how many data structures you've memorized. When a candidate comes in, I give them a fake-yet-realistic product requirement (like count elements in a real-time stream from field sensors) and let them run with it however they see f…

It sounds like you're trying which is encouraging. I'll give you a few tips that I hope help. > I adapted the traditional whiteboarding exercise Lots of engineer types freeze when they have to make a presentation. I remember a meeting early in my career with literally three people in a conference room and I almost had a panic attack. No white board. People I already knew. All I had to to do is explain my ideas to thr…

> Lots of engineer types freeze when they have to make a presentation.

I've seen one place that wanted developers to do a full presentation with slides and all to a group of people.

The topic of the presentation was completely up to you, didn't even have to be a technical subject. You could do a presentation on baking if you wanted.

Was doing presentations a part of the job of the developer? No. They wouldn't have to do presentations in their day job...

I didn't go for the job and have never understood what they were looking for.

Re: Data structures and algorithms I actually used while working at tech companies

#264
post #228

I'm increasingly convinced that Algorithms-and-Data-Structure interviews are essentially being used as a proxy for: - General IQ. Can this person understand and apply complex ideas - Grit. Is this person hard-working enough to learn things that take time and effort It's the software equivalent of the NFL scouting combine. The goal is not to create a test that is similar to the day-to-day job. But rather, create a tes…

Unfortunately, those kinds of interviews also select for some other things that they shouldn't. * Youth. People who have very recently studied these things in school, and use the same languages as the interviewers, have an advantage. * Free time. People who have families (for example) might have less free time to study "Cracking the Code Interview" and such. * Absence of anxiety. This disadvantages women, minorities,…

> Resistance to anxiety. This disadvantages women, minorities, and people with psychological conditions that should be covered by ADA.

I resemble some of those categories, and I don't know if I would feel comfortable making the leap to correlate them to a some inherent reduced level of resistance to anxiety. That seems like a generalization which I feel that, on an aggregate level, seems unsupportable by data.

I think that determination should be on a case-by-case basis, as is currently done at universities.

Re: Data structures and algorithms I actually used while working at tech companies

#265
post #262

Earlier quoted context omitted.

> It's a proxy for interviewers to jerk their ego. Interviewers don't have choice here. Interviewers aren't free to come up with their own method. So this is not a valid explanation.

What? I'd go so far as to say this is universally incorrect. Having interviewed hundreds of people at multiple companies, at every level (intern to director), I have never been told what technical questions to ask....

because if everyone is asking whatever they want there is no way to compare one candidate to another.

Most companies require interviewers to pick a question from their internal 'question bank'

Re: Data structures and algorithms I actually used while working at tech companies

#266
post #240

Earlier quoted context omitted.

Algorithms and Data Structures don't measure either of those things. General IQ is not measured by very specific technical problems. Nor is learning something specific an indication of "grit". It's a proxy for interviewers to jerk their ego.

It isn't this black and white It can be both From my experience, when you have a big pool of candidates, the ones that pass not necessarily super stars, but they tend to perform at a relative stable level.

No, it is black and white. Just because you have lots of candidates doesn't mean you need to pick sub-par questions.

Interview for the skills you actually need. If the person isn't implementing algorithms and data structures from scratch, it's a shit question. Why would you ask questions that don't match the actual work they'll be doing?

If they will be doing this work, then obviously it's a fair question.

See, black and white.

Re: Data structures and algorithms I actually used while working at tech companies

#267

This article is hurting its credibility right from the get-go by un-critically reproducing yet again this tired saw from Max Howell: > Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off. First, it's not remotely true that 90% of Google engineers use Homebrew, seeing as how almost all development is done on Linux (Max Howell is unjustifiab…

I get what you mean, but I think this can be looked at in a more neutral way, especially if we distance ourselves from the exact Homebrew example.

The expectation of a large engineering company is to hire someone who fits well into their way of doing things. Typically they want smart, humble team-players with predictable skills (AKA solid educational background and possibly industry experience).

However an open source tool author has completely different self-imposed requirements and capabilities. If successful, they have proven that they can ship reliable software, basically on their own, which people want to use. Which is great, exceptional even. But typically not in terms of the metrics of a large engineering company, except they actually do use the tool/library, deem it important and the role of the programmer would involve developing/supporting it.

This also poses the question of: "Why would open source author want to get hired by big company in the first place?"

Wouldn't this mismatch of expectations and skill-sets be a hindrance/waste?

Aren't there much better places for this exceptional open source author? Startups, other open source projects, self-employment/freelancing, SMEs etc.

Re: Data structures and algorithms I actually used while working at tech companies

#268
I don't think there is a right or wrong answer. My experience tells me that everyone is different when implementing solutions. I'm working with a new grad, with MS in CS from a top school. He is great theoretically, but this project requires learning and implementing new tech very fast. thinking outside the box and prototyping a lot unfortunately he is overthinking and delaying the project. On the other side I have seen people that doesn't excel in algos and create great products. My take is that the take home assignment provides a better perspective on candidates than just algos and ds

Re: Data structures and algorithms I actually used while working at tech companies

#269
post #262

Earlier quoted context omitted.

What? I'd go so far as to say this is universally incorrect. Having interviewed hundreds of people at multiple companies, at every level (intern to director), I have never been told what technical questions to ask....

because if everyone is asking whatever they want there is no way to compare one candidate to another. Most companies require interviewers to pick a question from their internal 'question bank'

> because if everyone is asking whatever they want there is no way to compare one candidate to another.

That's obviously not true....

> Most companies require interviewers to pick a question from their internal 'question bank'

Again, having worked at some fairly big and respected companies, this has never been the case.

I'm not interviewing for rote candidates. Everyone is different. Ergo, the questions are different. I could never imagine hiring senior developers and security engineers with questions from a "question bank".

If you're just doing boilerplate, you're probably getting very sub-par employees.

Re: Data structures and algorithms I actually used while working at tech companies

#270
post #236
post #228

I'm increasingly convinced that Algorithms-and-Data-Structure interviews are essentially being used as a proxy for: - General IQ. Can this person understand and apply complex ideas - Grit. Is this person hard-working enough to learn things that take time and effort It's the software equivalent of the NFL scouting combine. The goal is not to create a test that is similar to the day-to-day job. But rather, create a tes…

- Retention. If this person spent hours on leetcode, they’ll be less likely to leave the job knowing the effort it takes to get through the gate

Last I read, the average tenure for an employee at FB is about 1.5 years... Could be different at other place.
Post reply on HN