Live data from Hacker News

Software engineering interview questions

oj.leetcode.com

61–70 of 98 posts

Re: Software engineering interview questions

#61
post #10

Best way is to paid-intern an engineer for a week/month and try them out (if they're willing) and see how they fit and might be able to expand on your current culture. That's really the only good way. Asking questions in an interview, no matter how clever or insightful they may be, has been and will forever be a crap shoot.

I agree strongly this is the best way to interview a candidate. It's even relatively easy to set up for a new grad or junior candidate who isn't currently working. They should of course also be local or have no family or professional commitments that make a week-long non-work trip difficult. Sadly, many of the best engineers I've worked with do have families, are working, don't live in the same town, and would absolu…

it could be done evenings or weekends. i'd make it async/flextime as much as possible. the main point is to try a real project, however small, and pay the person, therefore it's real and fair for both parties. from my observation over a few decades, all other methods are noise and circuses and mysticism and propaganda in comparison. at least, I'm so done letting myself be the victim of other people's theories and guesses and unpaid meta makework.

Re: Software engineering interview questions

#62
post #60

I am not able to answer any of these easily and still get a lot of job done and job offers every day/two days. Interviewing for a frontend Facebook job is all about doing an Array.map/reduce no more. What matters is what you can do. Few engineers really need to learn and master "Binary Tree Level Order Traversal" every day after coffee.

I like to give slightly more difficult versions of these questions as take-home problems, rather than interview problems. Give them out after phone screen, but before in-person interview.

And yes, something involving a binary tree order traversal would be the kind of thing that I'd be interested in. Because I want to work with programmers who can code, who at the very least know what recursion is and are able to employ it in the solution to a problem.

Concrete example: the startup I'm at has an expression editor. Expressions are tree structured. Typing an expression tree involves a post-order traversal. If there's an error in the validation, I need the programmer who's working on it to not be phased by these simple concepts. This typing currently happens in an async background task in Java, but it could give a better experience to the end user if it occurred in JS on the client's machine. This stuff just got really relevant after coffee.

But more importantly, I want to see what kind of code - how convoluted or not, how elegant or not, etc. - the person writes. I want to know what kind of code I'm going to see in pull requests, and how much of a PITA it's going to be to get them up to scratch.

Standard engineering stuff like unit tests can be taught. Writing tight, readable and elegant code is much more difficult.

Re: Software engineering interview questions

#63
From the description: "Pick from an expanding library of more than 150 questions, code and submit your solution to see if you have solved it correctly" the Project Euler site tops that number with a similar proposition. Project Euler has almost 500 problems at https://projecteuler.net/.

OK, perhaps it is more targeted to the mathematically inclined, instead towards engineers on their route to a technical coding interview. Nevertheless it has a very interesting set of (challenging) problems, and I see a number of similar problems at LeetCode.

Project Euler is also a great environment for trying out new programming languages, as the code is not part of the submission. As long as you come up with the correct answer (which is always a number), Project Euler considers it solved. You might solve the problem with C, Python, ACL, Ruby, pen-and-paper, Ada, Mathematica, Wikipedia... Euler doesn't care. So, sometimes I solve some problems multiple times, just to try different concepts or algorithms in other languages.

(By the way, the title "Software engineering interview questions" is a little broad. It is a set of (mainly mathematical) problems that may be solved by writing some code, but it doesn't address other relevant software engineering experience/aspects.)

Re: Software engineering interview questions

#64

From the description: "Pick from an expanding library of more than 150 questions, code and submit your solution to see if you have solved it correctly" the Project Euler site tops that number with a similar proposition. Project Euler has almost 500 problems at https://projecteuler.net/ . OK, perhaps it is more targeted to the mathematically inclined, instead towards engineers on their route to a technical coding inte…

The original title was not "Software engineering interview questions" ... Administrator of hacker news changed it ...

Re: Software engineering interview questions

#65

btw, this website is well-known among Chinese and Indian. It's really really very hard to encounter an interview question that is not on this list nowadays, if you are interviewing with big name companies like linkedin, google, facebook ... It's more like preparing for final exam in college.

True, but I didn't expect someone post it on Hacker News. It's supposed to be a secret weapon. Not so secret anymore.

Re: Software engineering interview questions

#66

From the description: "Pick from an expanding library of more than 150 questions, code and submit your solution to see if you have solved it correctly" the Project Euler site tops that number with a similar proposition. Project Euler has almost 500 problems at https://projecteuler.net/ . OK, perhaps it is more targeted to the mathematically inclined, instead towards engineers on their route to a technical coding inte…

The original title was not "Software engineering interview questions" ... Administrator of hacker news changed it ...

The original one was like "Most engineering interview questions of hot companies". My point was, very few companies are innovative for recruiting. Interview questions can be practiced, which only test a small subset of skills for software engineer position.

Re: Software engineering interview questions

#67

Best way is to paid-intern an engineer for a week/month and try them out (if they're willing) and see how they fit and might be able to expand on your current culture. That's really the only good way. Asking questions in an interview, no matter how clever or insightful they may be, has been and will forever be a crap shoot.

> has been and will forever be a crap shoot

This is too strong a statement. It's an imperfect heuristic, and it's painful for all involved (which makes negative reactions to it be over-represented in online discussions), but it's better than shuffling the deck of resumes and randomly choosing one. You ask candidates what they know about tech, and it quickly becomes obvious who's in the know and who's able to think outside the box, and who isn't. It's more of a crap shoot in terms of gauging work ethic and personality. Week-long trials are simply not feasible for most companies (or candidates, for that matter).

Re: Software engineering interview questions

#68

From the description: "Pick from an expanding library of more than 150 questions, code and submit your solution to see if you have solved it correctly" the Project Euler site tops that number with a similar proposition. Project Euler has almost 500 problems at https://projecteuler.net/ . OK, perhaps it is more targeted to the mathematically inclined, instead towards engineers on their route to a technical coding inte…

The original title was not "Software engineering interview questions" ... Administrator of hacker news changed it ...

OK, the administrator could have been a little more precise then. Unfortunately the LeetCode page also does not contain a clear title for the page, which make the administrator's job harder. Changing the title on HN is probably done after a quick one-time impression at the site.

(I don't think that we can see the original title as posted to HN?)

Re: Software engineering interview questions

#69
post #21

Earlier quoted context omitted.

iterating over the file, incrementing the key/values as they occur Isn't that exactly what the Hadoop job would have to do anyway? The whole point of Hadoop is to process the data in a single pass, which is what your method does. As long as you iterate over the file without reading the whole thing into memory first.

Yeah, if you described an actual fucking program, and their answer was the name of a software package that you could learn in a day and they've been trying to hire an expert in for six months, and you would still just use that software package to run your program, be glad you didn't get the job. ;)

Oh, in retrospect, I'm very happy.

Re: Software engineering interview questions

#70

Earlier quoted context omitted.

The original title was not "Software engineering interview questions" ... Administrator of hacker news changed it ...

The original one was like "Most engineering interview questions of hot companies". My point was, very few companies are innovative for recruiting. Interview questions can be practiced, which only test a small subset of skills for software engineer position.

Well, I can see the reasons for a title change then; the page does not really explain the claim in the original title. It is an interesting collection of problems applicable for a coding interview -- which is not the same as "most interview questions" -- and it doesn't mention the companies (hot or not) that asked them. Nevertheless, it's a good find and a relevant submission to HN.
Post reply on HN