Live data from Hacker News

Show HN: Free, anonymous coding interview practice

interviewing.io

201–210 of 223 posts

Re: Show HN: Free, anonymous coding interview practice

#202

None of my engineer friends have ever had a Google style technical interview. What makes software so different? You don't ask an electrical engineer to layout a complicated PCB on a whiteboard, you don't have a civil engineer build a bridge out of popsicle sticks. Surely hiring an incompetent electrical engineer is just as bad as hiring an incompetent software engineer, but from talking to the EEs I know, they just g…

Well if your job resembles writing on a whiteboard, solving problems, then they should make sure you can do that in the interview. Try going through some problems on a white board you'll probably enjoy it more than you assume!

Re: Show HN: Free, anonymous coding interview practice

#203
Reflections on whiteboarding:

Lately I have realized that I use google a lot less than I did in the past. I don't have to look things up as much, thus I have seen gains in speed when working on some functionality. The interesting part is that coding/reasoning without google feels a lot like whiteboarding. In fact I get into the same 'mental patterns' when solving a problem I don't need google for that I feel when brushing up on algorithm problems at the white board.

I don't come from long history of math rigor. I don't have a mathy degree at all and have hardly used a whiteboard in front of any professors or math nerds. But I'm also not an imbecile; computer science is built upon a foundation of mathematics and if you aren't willing to play ball then get off the fucking field.

Re: Show HN: Free, anonymous coding interview practice

#204
post #47

Earlier quoted context omitted.

>I have plenty of open source code, if they cannot figure how good I am looking at... I've interviewed several people with lots of code on github and what looks like lots of accepted pull requests to many projects who still can't seem to reason through a problem described as "write a function that takes two unsorted lists and returns one sorted list". I think I'll continue asking technical/coding questions...

I'm curious, what kind of a solution are you looking for with that problem? The trivial solution of concatenating the lists and then using a library sort (or cobbling together quicksort) is about as good as it gets for small lists. For large lists, the best you can do is copy the lists into an array, use a parallel n * log n array sort, then fix the pointers. The problem doesn't seem to require any real thought. It i…

You can do better by taking advantage of the fact that the lists are already sorted. O(n1 + n2) time, where n1 and n2 are the sizes of the original lists and O(n1 + n2) space for the output.

The "trick" is to iteratively merge your two lists: at each step you select the smallest of the two items you're at in both lists then move forward on the list whose item you picked.

An extension to this problem (I've asked, and been asked, many variations of this) is to merge K sorted lists of N items each. The naive solution is to merge them all together and sort but you can do better if you extend the algorithm above from 2 lists to K and choose a helpful intermediate data structure to optimize the "select the smallest of the K items" operation. AFAIK, all-up the best you can do then is O(NKlog[K]).

EDIT: Re-read the question, realized I read "unsorted" as "sorted" - not sure what you can do to merge two unsorted lists in better than O(Nlog[N]) time beyond non-comparison-based sorts where you make assumptions about the range or distribution of your input (radix/counting/bucket sorts).

Re: Show HN: Free, anonymous coding interview practice

#205
post #200

Dear software professional: if you have been rejected because of a coding interview, don't feel bad or discouraged. It has little to do with how smart you are. Unfortunately, this style of interviews is likely ineffective and leads to hiring people who look alike and have similar skills. Solving a problem with someone looking over your shoulder and forcing you to talk to explain what you are thinking is a skill that…

They don't want to do this because the secret to making money in IT is creating a glut in the supply of labor for IT workers. When you add licensing (i.e. requiring a license as a doctor or a lawyer does), this creates a barrier to entry, which will cause an upward pressure on wages for IT workers.

Good point. Perhaps we need to work through professional organization to look into hiring practices and propose practical solutions.

Re: Show HN: Free, anonymous coding interview practice

#206
post #202

None of my engineer friends have ever had a Google style technical interview. What makes software so different? You don't ask an electrical engineer to layout a complicated PCB on a whiteboard, you don't have a civil engineer build a bridge out of popsicle sticks. Surely hiring an incompetent electrical engineer is just as bad as hiring an incompetent software engineer, but from talking to the EEs I know, they just g…

Well if your job resembles writing on a whiteboard, solving problems, then they should make sure you can do that in the interview. Try going through some problems on a white board you'll probably enjoy it more than you assume!

Software engineering doesn't resemble anything like solving brain teasers on a white board while your boss watches over your shoulder.

No other engineering discipline does this, and software didn't do this until everyone started copying Google.

In fact an HR guy from Google basically said that interviews were useless. [1]

>Years ago, we did a study to determine whether anyone at Google is particularly good at hiring. We looked at tens of thousands of interviews, and everyone who had done the interviews and what they scored the candidate, and how that person ultimately performed in their job. We found zero relationship. It’s a complete random mess, except for one guy who was highly predictive because he only interviewed people for a very specialized area, where he happened to be the world’s leading expert.

Everyone else is copying Google assuming they are doing it right, but they're not. Once Google selects potential candidates and weeds out the people who lied on their resumes with basic questions, they'd probably do just as well hiring a random selection.

[1] http://www.nytimes.com/2013/06/20/business/in-head-hunting-b...

Re: Show HN: Free, anonymous coding interview practice

#207

I only have 1 sentence: “Coding interview (democ­racy) is the worst form of interview (gov­ern­ment), except for all the oth­ers”

Not a good analogy. You can design interviews and measure outcomes. The goal is not to eliminate coding if it is relevant for the position, you need to do it right. There are people who spend their life designing and validating tests, don't ask a busy engineer to wing it. Companies could use an unbiased computer-based test as a first pass. This way, candidates can prepare and feel they are getting a fair chance. In the second pass the interviewer can focus on higher level problems and soft skills.

Re: Show HN: Free, anonymous coding interview practice

#209
post #163

Earlier quoted context omitted.

Different people are going to have a different answer to your question, but here's how I approach things: You should commit things to memory the things your memory naturally keeps. If it doesn't it means you aren't using it often enough to bother remembering it. There's so much information I used to keep re-learning and forgetting because I never used it. I finally realized that it was a waste of time. I guess the pr…

As a self-taught developer, I have reached the same conclusion regarding memorization. I find your concept of 'cheatsheets' inspiring, and would love to know more about how you organize that kind of information.

I used to just use text files. Now I stick everything in Evernote. Text files are good enough though.

Organization is pretty simple. Just need a decently named file with the relevant information. E.g. I would have an sql.txt file containing sql database operations that I don't use often enough to remember, but use often enough to be annoyed by having to search the web on how to do them.

Another example might be a centos5.txt file, giving me a quick rundown of the various setup options I've wanted in the past, and the location of various configuration files.

For programming languages, there's many that I use maybe once every 3 or 4 months. So ruby.txt might contain a quick rundown of how to do basic things: how to define a function, a class, perform loops, instantiate an object, access command line arguments, etc. I find it much better than having to hunt down a tutorial which will also be more wordy than needed.

I also have some for more computer science related things, such as tables of graph and search algorithms, along with their tradeoffs.

Checklists are another good thing. I have checklists for processes I've messed up.

E.g. committing new code. If I don't use my checklist, I always seem forget to forget to update a sample file. Or add a file.

Another big checklist is for giving estimates. For example, one of our legacy products is translated into 5 languages. This checklist reminds me to think of translations, because they have been a huge bottleneck in the past.

Hope that helps some.

Re: Show HN: Free, anonymous coding interview practice

#210
post #120

Earlier quoted context omitted.

The analogy I use is a coding interview is like asking a musician to play a specific song; chances are, a classically trained pianist won't know the chords to a specific pop song, but that isn't any indication of their skill as a musician. The interviews I had with the company I work for now were amazing; they asked me some basic questions to verify my resume wasn't completely BS, then asked me to discuss previous pr…

I recently was flown to Austin for an interview. The entire reason I was brought down was because of Python ML projects on Github. The technical interview consisted of nothing, and I mean NOTHING but super advanced SQL questions. (over the phone, I had specifically stated I hadn't used SQL in years) My expectation was that I'd be interviewed using Python and asked to perform ML related tasks. When I mentioned that I…

Ugh, what a wasteful mess. The worst part could be my lack of surprise in reading your anecdote.
Post reply on HN