Live data from Hacker News

An Algorithm for Passing Programming Interviews (2020)

malisper.me

271–280 of 352 posts

Re: An Algorithm for Passing Programming Interviews (2020)

#271
post #117

Earlier quoted context omitted.

Not especially experienced with interviewing, but definitely agree with this. Leetcode sucks, but I’ll take it over how finance jobs are where it’s all about connections and where you interned when you were 19.

> but I’ll take it over how finance jobs are where it’s all about connections and where you interned when you were 19 Is this different than Big Tech really? If you do not go to the right schools, internships, whatever it can take years to have the right employers in your CV to be called for an interview.

Not true in my experience. I went a no-name state school, graduated with a mediocre GPA and an unremarkable local internship and I still got the same interview and job opportunities as my friends that went to Berkeley and other top schools. I know people at top tech companies that never finished their college degree.

I don't know of anyone at a top law/medicine/consulting/finance firm like this.

Re: An Algorithm for Passing Programming Interviews (2020)

#272

Earlier quoted context omitted.

As someone who has studied and passed before in this manner, and is now an interviewer, I have a simple solution that other companies should follow: for at least one round of interviewing, let me (the interviewer) use my own custom question, where the goal is not so much to solve it but rather to reason outloud collaboratively about many different aspects of the question. I like to use 3d graphics as a domain that ca…

> If someone doesn't quickly and intuitively grasp that a shape is a collection of faces, ..., I'm not sure that they have what I am personally looking for I was doing the same to weed out the bad candidates - asking them something they should know, something logical and basic - but got bad feedback once, been asked to instead focus my questions on the strong points described in the CV. I mean, for the practical part…

I program in C++ daily and wouldn't know the currently accepted way to read lines from a text file in it off the top of my head. It's simply not something I ever have to do. A good candidate should still manage to figure it out in 30 minutes, but your programming experience is most likely a lot less universal than you think.

Re: An Algorithm for Passing Programming Interviews (2020)

#273

Earlier quoted context omitted.

Google translate is sufficient. They’ll do it pretty carefully, complete with “pretend you get stuck at this specific point and if you get asked why to use a hashmap, act baffled for a moment, and then say X”

It’s ridiculously obvious when people have seen the question before. The way we do it is like this: we have like 3 or 4 different small variations on each question. Such that the solution is measurably different, in quite telling ways, but that the given problem looks almost identical. In one specific case the given is identical, but there are 3 variations to the question based on how the candidate asks questions abo…

> It’s an arms race. And one that I enjoy.

This sounds like focusing on the wrong thing in the interview process.

Re: An Algorithm for Passing Programming Interviews (2020)

#274

Earlier quoted context omitted.

> Why? You're testing their ability to produce the right answer to a given problem - not their problem solving ability. To that end it shouldn't matter if they've seen the problem or not. Pretty sure most people want to test problem solving ability, and hopefully your problem solving ability solves the problem correctly. If you method to solve the problem is to find the answer online and repeat it... that may not be…

Really? In my position as a senior member on my team, one of the biggest mentoring costs is just teaching junior members how to search and find answers for themselves. Yes, day to day I'm not copy and pasting huge blocks of code from Stack Overflow, but when I need an answer and I don't immediately know it my first move is always to search internally or externally for others who may have already shared it. Why is bei…

> Why is being able to effectively search for for answers not considered good problem solving?

Memorizing interview questions is decidedly not "effectively searching for answers".

Effectively searching for answers requires breaking the problem down into separate pieces that you can actually search for. This is one of the skills that can actually be demonstrated during the interview. And then showing that you can also come up with the solution (or be guided towards it in discussion with the interviewer) is the natural way to round it out, instead of "ok, now google for this sub-problem while I'm watching you".

Re: An Algorithm for Passing Programming Interviews (2020)

#275

Earlier quoted context omitted.

I’ve gotten interview questions I’d recently solved and my problem was it was too easy. I had trouble acting like it was the right amount of struggle. Is there a trick for that?

I've interviewed folks for FAANG roles. If you know how to solve the problem already, just tell the interviewer up front. Either they have another question or they will go deeper into a discussion about why and how you solved it the way you did, testing it, other approaches and why they are or are not good tradeoffs, etc. It's pretty obvious to interviewers if you've solved a problem before, and we appreciate the hon…

To some extent it paradoxically sounds like you guys want applicants to not have studied basic algorithm problems, since the problems you find if you try to study are the same problems you guys ask in interviews.

Re: An Algorithm for Passing Programming Interviews (2020)

#276

Earlier quoted context omitted.

Google translate is sufficient. They’ll do it pretty carefully, complete with “pretend you get stuck at this specific point and if you get asked why to use a hashmap, act baffled for a moment, and then say X”

It’s ridiculously obvious when people have seen the question before. The way we do it is like this: we have like 3 or 4 different small variations on each question. Such that the solution is measurably different, in quite telling ways, but that the given problem looks almost identical. In one specific case the given is identical, but there are 3 variations to the question based on how the candidate asks questions abo…

You might want to learn to read the room buddy. Not everyone’s enthusiastic about this entire shared.

Re: An Algorithm for Passing Programming Interviews (2020)

#279

The anagram solution leaves the actual hard part unfinished^. Also, to solve in O(n) you need a bit array (or a database like Postgres that can do an XAND on a string). > Sort the characters of the words alphabetically. Since anagrams are all made up of the same letters. This will give us the same string for any pair of words that are anagrams of each. Correct. > Produce a dictionary of the number of times each lette…

>which is (maxWordlength*26) long. Each segment of 26 represents a

>^We're going to assume normalized words, which are all lower case and no punctuation, comprised of English letters from the 26 character alphabet. Getting the set of all of the possible words of any given length, is also quite an exercise.

I hate solutions like this because they'd never be even close to being viable in real world

Re: An Algorithm for Passing Programming Interviews (2020)

#280

Earlier quoted context omitted.

It’s ridiculously obvious when people have seen the question before. The way we do it is like this: we have like 3 or 4 different small variations on each question. Such that the solution is measurably different, in quite telling ways, but that the given problem looks almost identical. In one specific case the given is identical, but there are 3 variations to the question based on how the candidate asks questions abo…

I don't get it. Your candidates show that after learning how to solve a problem, they can demonstrate they're able to solve it. Have you considered just hiring candidates and then training them, or expect them to learn approaches that are new to them? Right now, you're pretending that your company needs random puzzles solved, and they're pretending that they're able to solve random puzzles without looking them up in…

Being able to implement a solution after having already been shown how to do it is sufficient for many roles. But not all. Some roles require that you are also able to figure out solutions to problems you have never seen before.

If your company requires only the former that's fine. But if you also require the latter, that's fine too and it's ok to test for it in your interviews.

If a company generally requires candidates to be overqualified for their intended role, that's a bit dumb. But I imagine that such a problem would eventually be fixed by the free market (supply of workers at various qualification levels vs. demand for said qualifications).

Post reply on HN