Show HN: Free, anonymous coding interview practice
201–210 of 223 posts
Re: Show HN: Free, anonymous coding interview practice
#202None 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…
Re: Show HN: Free, anonymous coding interview practice
#203Lately 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
#204Earlier 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…
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
#205Dear 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.
Re: Show HN: Free, anonymous coding interview practice
#206None 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!
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
#207I only have 1 sentence: “Coding interview (democracy) is the worst form of interview (government), except for all the others”
Re: Show HN: Free, anonymous coding interview practice
#208Being Berlin based I am really curious on how tough the interviews are gonna be.
The interviews I have had here were not challenging at all. The technical problems did not even reach the difficulty of qualification round problems in Google's Code Jam.
Re: Show HN: Free, anonymous coding interview practice
#209Earlier 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.
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
#210Earlier 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…