TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

The Programming Interview Experiment

39 点作者 matm大约 11 年前

20 条评论

donretag大约 11 年前
At this point in my career (professional developer since the late &#x27;90s), I am extremely picky about who I work for. The interview is a two way street, where the prospective employee also gets to ask questions to the potential employer.<p>In the described workflow, the candidate must spend several hours before talking to anyone in depth at a company. This scenario would simply not work for me. I will not spend hours of my time for a company that I potentially might not want to work for.
评论 #7308463 未加载
评论 #7308583 未加载
评论 #7309345 未加载
评论 #7308450 未加载
fishtoaster大约 11 年前
To start, I think your interviewing practices are significantly better than the stock whiteboard-based version (and your criticisms thereof are spot-on).<p>That said, some concerns:<p>Leading with the source graph challenge seems a bit much. My experience has been that it’s necessary to have at least <i>some</i> filter for the unwashed masses before requiring that much work of someone. At my last company, we had a 30-minute non-technical talk with a founder (later replaced by our well-trained recruiter&#x2F;office-manager). This helped filter out the people who weren’t what we were looking for at a really high level (e.g., an ops engineer applying for a dev role, a really junior person applying when all we have room for right now is a senior one, a dev who only knows pascal, etc) before making them invest the time required for an in-depth take-home test.<p>Also, what’s with the 24-hour limit? It seems too long to prevent cheating, but short enough to be annoying. For similar challenges, I’ve given people as long as they want (up to a few weeks), but asked for a blow-by-blow writeup of how it went and how long it took them. We may have gotten some liars, but we never had someone arrive on-site who claimed it took them 2 hours when, based on their skill, it probably took them much longer. People seemed reasonably honest about it, and the convenience seemed to be appreciated.<p>Asking to see source code for a significant project is tricky. I know good developers who wouldn’t have any code to show for that because everything significant they do they got paid for, and can’t in god conscience show to someone else. For example, I worked pretty long hours at my first job and built some interesting stuff, but I didn’t have much time for side-projects because of it. A friend of mine works normal hours now, but does contracting on the side. Plenty of good code, but nothing he could show to someone else. That said, asking to see some source is very high-signal, so it may be worth the tradeoff of only selecting people with significant free side projects.<p>That said, it’s still a way better process than teasers and whiteboard algorithms. If I were looking for a job, I’d definitely apply. :)
评论 #7307769 未加载
评论 #7307725 未加载
jasonpeacock大约 11 年前
&quot;Bring the source code—we’ll ask to take a look at it.&quot;<p>Seriously?? What actual company do you know that would allow its IP to walk out the door? And possibly to a competitor?<p>Additionally, projects are usually the work of a team, and are heavily iterated upon. &quot;your contribution&quot; is usually hundreds of little changes building upon other changes, not &quot;this is the application I wrote&quot;.
评论 #7307676 未加载
评论 #7307704 未加载
评论 #7307863 未加载
RunForFun大约 11 年前
In 12 years and more than 10 clients I have yet to run into any developer so incompetent technically as not to be able to perform his&#x2F;her job effectively. However, what I do run into are individuals who cannot conduct themselves appropriately, those who cannot work in teams, and those who overlook delivering the value for their client&#x2F;employer that they were hired to deliver.<p>All of these individuals can code, no question. However, they are impediments to accomplishing the business goals that my teams are tasked with solving.<p>I find it interesting that everyone I know who has been terminated or laid off has been done so for reasons not related to technical ability, however technical ability is the majority of what&#x27;s interviewed for.<p>I think it is much more important to hire people who can work with others and deliver the value desired, but yet this is not what most employers interview for. In my opinion, if I can get a credible recommendation that a candidate is technically competent, then I don&#x27;t think spending an extra minute on technical questions is important. I would rather be sure they they are competent in all other aspects of the role.
bduerst大约 11 年前
As someone who completed grad school and went through many interviews not too longer ago - I can tell you that this type of process is a much, much more enjoyable than the typical phone + whiteboarding interviews.<p>I think that some companies become so intensely focused on hiring the best candidate that they sometimes lose touch with the fact that the candidates are human too. Interviewees are rational and trying to find a job that has a best fit. By taking the time to give them a project to work on, it allows them to get a taste while demonstrating that you have respect for them.<p>My favorite interview was where a company gave me a sample data set, and basically said &quot;Do anything with this in python&quot;. I ultimately didn&#x27;t get that job (not enough experience), but I remember that company and the guy who I went over my creation with, and now respect them more than the dozen other companies who made me feel like I was on a conveyor belt.
fsk大约 11 年前
What about candidates who don&#x27;t have several hours to spend on a programming assignment? Everyone seems to want one nowadays, and I don&#x27;t have time to do one for everyone who asks.<p>I&#x27;ve done a bunch of programming tests, without progressing to the interview stage after doing them, and now I usually refuse.
评论 #7308551 未加载
bri3d大约 11 年前
Why ask to see source for a project above and beyond the work-sample test you&#x27;ve already administered?<p>I think work samples are a wonderful way to screen candidates (really, the best way) but to presume that all qualified candidates will have an additional sample of code (to the scale of a &quot;significant project,&quot; even) available upfront for you without requiring an additional commitment seems disingenuous.<p>You end up applying an implicit filter for &quot;developers who feel confident and comfortable contributing to OSS and&#x2F;or possess copious free time for a personal project,&quot; which probably isn&#x27;t really what you were trying to select for and tends to unfairly filter out certain types of candidate.
mathattack大约 11 年前
Doing real code is very important. I&#x27;m curious if the OP has had any instances of catching cheating. I&#x27;ve seen instances of this with work products in other areas.
评论 #7307751 未加载
nanook大约 11 年前
This is a great post and I agree with everything you say and I am glad you guys are doing this.<p>I just wish you had more information about your company online (Angellist&#x2F;Crunchbase etc). I think few people would be willing to put in 3-4 hours on a coding challenge unless they had a good idea about your funding, size etc.<p>I might have got a coding challenge from you a few weeks back but skipped it because I didn&#x27;t have enough information. Ah well.. might do it this weekend.<p>Hope this helps!
danbruc大约 11 年前
Not in a single interview ever have I been asked about the runtime of an algorithm. On the other hand it is mentioned in almost every article about interviews for programming jobs. How many companies do actually ask such questions? If your future job is mainly building standard business applications, web sites or whatever, no one cares about theoretical runtimes. If your future job is somewhere in research, game, database or operating system development or some other fancy stuff, no one will care to ask for trivial things like asymptotic runtimes. Personally I think most of the time people - interviewers and article-about-interviews writers - just mention Landau notation because they think it makes them look smart without realizing how trivial it actually is.
评论 #7308391 未加载
评论 #7310690 未加载
fatman大约 11 年前
What would happen if an interviewee &#x27;flipped the script&#x27; - gave the interviewer a coding challenge? Maybe under the guise of assessing the skill level of his potential co-workers? Is there any way an interviewer takes the bait?
评论 #7308174 未加载
mamcx大约 11 年前
This part is the key, to me:<p>&gt;The second thing is the strong focus on topics taken from &gt;classroom algorithms and the lack of concern about &gt;practical programming ability. A candidate might somehow &gt;remember that the way to implement an optimal string &gt;suffix matching function is to use a suffix tree, but &gt;where is the question that gauges the ability to create, &gt;test, and deploy a complete application in a reasonable &gt;amount of time? Which skill is more important to you?
评论 #7308079 未加载
Bahamut大约 11 年前
I had an interview once where I did not have to write a line of code - it felt very refreshing to have my capabilities respected, although I just somehow lucked out it turned out.
评论 #7307673 未加载
评论 #7307707 未加载
评论 #7307796 未加载
评论 #7307822 未加载
OhHeyItsE大约 11 年前
When I get asked things like: “Write a function that finds the longest positive-sum subsequence in an int array and runs in O(n) time.”<p>I really wonder if those places ever find people that can do this. I never get offers from the places that ask this. I always get offers from the ones that have a similar process to the one in the article. I don&#x27;t think I&#x27;ve ever even met someone who could answer these questions on-the-spot, with a marker on a whiteboard.
评论 #7308396 未加载
评论 #7308419 未加载
评论 #7308412 未加载
akanet大约 11 年前
Anyone interested in doing more complicated questions during the phone screen should check out <a href="https://coderpad.io" rel="nofollow">https:&#x2F;&#x2F;coderpad.io</a> - you get a live REPL or compiler (depending on whichever language you&#x27;re using), and can run code instantly from your browser.<p>The best part is the environment is shared between you and your candidate, so you can both see the code being written and execute, live.
qianyilong大约 11 年前
I would add that the respect for candidate time is critical. I applied to one place and they requested a similiar coding project but this was just before the christmas holiday and they gave me a deadline of christmas day which just struck me as a little arrogant to think that I am really going to be doing their challenge on christmas.
owenjones大约 11 年前
Whenever a post like this comes up I&#x27;m always curious why so much of developer interviews are focused an algorithmic performance. Is it because it can be mathematically proven while so much of what otherwise makes &quot;good code&quot; is subjective?
lauradhamilton大约 11 年前
Asking candidates to write actual code for your real app could be legally problematic.<p>Legally, the candidate will have the copyright to any code he writes unless there is a &quot;work done for hire&quot; agreement in place.
iggym001大约 11 年前
This interview process assumes candidates don&#x27;t have anything else to do. I think they should pay the candidate for time spent looking at their code and making suggestions for improvements
bitcrusher大约 11 年前
It&#x27;s a total nit and pet-peeve for me, but one does not &quot;Architect&quot; code. You architects domains.<p>You &quot;design&quot; code.