Earlier quoted context omitted.
Coding interviews are very stressful, and churn through a lot of really awesome potential hires. I imagine there are tons of false negatives, but it's nearly impossible for a terrible programmer to get through a gauntlet of programming interviews. However, I agree. They don't give a full picture of a developer's abilities. As a developer, I prefer take-home projects. As an interviewer, I prefer a few coding interview…
I have not tried it. But in my next business venture, I plan to actually do peer programming with the candidate. This is will allow members of my team (or myself) to get to know the candidate, evaluate the 'wave lengths', and how effective he/she is at finding patterns on the internet/books -- rather than thinking things up. It also demonstrates to the candidate commitment on our side, and it naturally forces us to f…
How to Pass a Programming Interview
401–410 of 570 posts
Re: How to Pass a Programming Interview
#402Earlier quoted context omitted.
> including (time/space) complexity analysis. I think this is one of the most inane things to be asked during an interview. personally, I've never found myself in a situation where I truly needed to choose between a vector/map/list/hashmap. Or had to find the O(x^n) and replace it with O(x^2) Obviously it depends on the application, but many jobs are simply maintenance coding: find bug, fix bug, test fix. Often times…
You should have an intuitive idea around complexity and when it makes sense to optimise. I don't think though you need to know that for example fastsortx is n log n in the best case off the top of your head in an interview situation. You should be able to reason your way through why it is faster than some other sort though.
Re: How to Pass a Programming Interview
#403Re: How to Pass a Programming Interview
#404Being a good programmer has a surprisingly small role in passing programming interviews. And that just says it all, doesn't it? I agree that interviews should test candidates on certain basic skills, including (time/space) complexity analysis. But do you really learn anything by asking the candidate if they can recite the time complexity of a moving window average algorithm (as I was asked to do by an interviewer yes…
> including (time/space) complexity analysis. I think this is one of the most inane things to be asked during an interview. personally, I've never found myself in a situation where I truly needed to choose between a vector/map/list/hashmap. Or had to find the O(x^n) and replace it with O(x^2) Obviously it depends on the application, but many jobs are simply maintenance coding: find bug, fix bug, test fix. Often times…
Re: How to Pass a Programming Interview
#405Earlier quoted context omitted.
You should have an intuitive idea around complexity and when it makes sense to optimise. I don't think though you need to know that for example fastsortx is n log n in the best case off the top of your head in an interview situation. You should be able to reason your way through why it is faster than some other sort though.
What the heck is fastsortx? This is another problem I have. I study all these algorithm books then when I get to the interview they ask something that either isn't in the books or they've come up with some nickname for it and expect me to know it.
Re: How to Pass a Programming Interview
#406> The good news is that interviewing is a skill that can be learned. When I hear folks complain about programming interviews, I point to that. The month I spend gearing up for coding interviews usually guarantees me a job, that offers at minimum a $10k raise. I consider that a very good use of my time.
Ho, but there is a solution to walk around the problem of job interviews being unable to select good developers: so let's avoid investing in being a good developer and fix the problem at hand and just be good at interviews.
Problem solved.
Brilliant!
Are not interviews kind of de facto selecting scammers by giving them an unfair advantage, then?
Is it not causing a problem of credibility of the profession, hence the of the value of our earnings?
Growth is shrinking, recession is coming. Will they keep people whose values are uncertain when time will come to get rid of the fat?
Re: How to Pass a Programming Interview
#407Earlier quoted context omitted.
On the positive side, no one can stop you from making lots of money using the internet. And if you have something that really takes off, those same investors will line up at your door.
Right, but it's still discouraging to be forever branded a "2nd tier engineer/human/etc" because of where I went to school (unless I get into a good grad school).
Re: How to Pass a Programming Interview
#408Earlier quoted context omitted.
I have more than once in my professional career run into programmers who tested on small inputs and assumed the timing would scale at least close to linearly.
Fair point. But is it not much more common to encounter a programer who cannot break a complex system into loosely coupled components? Or who does not use consistent naming conventions? Or who is smart but lazy? I'd rate all of these as equally important things to try to evaluate in an interview. I am a strong believer in looking for strength in an interview. Someone really rocking complexity analysis is a strong pos…
[edit]
Also, I care far less about whether they can solve some problem on paper about asymptotic complexity than if they have some sense of what it means. Someone with little formal training who discovered the classic python "Add to the end of string" algorithm is N^2 and figured out a working knowledge of N^2 vs. N is better than someone who memorized a bunch of math but can't apply it because it went in the "math box"[1]
1: http://zenoferox.blogspot.com/2009/10/deep-inside-math-box.h...
Re: How to Pass a Programming Interview
#409Earlier quoted context omitted.
That's fine, as long as you _never_ need to trust said dev to do anything complex. It's fine to have mediocre developers perform mediocre tasks, but if you want more from them someday you may be in trouble.
to me, complex, and complex-ITY are entirely different matters. I want a smart programmer who can figure out really complex bugs (something you cant figure out from google/wikipedia). Not someone who memorized the big-O performance tables of 8 different data structures (something you CAN look up on wikipedia ).
Re: How to Pass a Programming Interview
#410Earlier quoted context omitted.
I have more than once in my professional career run into programmers who tested on small inputs and assumed the timing would scale at least close to linearly.
There are a lot of situations where a "worse" algorithm will be significantly faster that another algorithm that's faster in theory, due to memory locality. In practice, it is very hard to know beforehand what parts of your program will scale and what parts won't.