Drowning in a C of Interviews(blog.bitquabit.com) |
Drowning in a C of Interviews(blog.bitquabit.com) |
It was appealing knowing that interviews were conducted in a language that wasn't really being used. Lots of companies claim they will hire smart people regardless of skills, but then you show up to interview and the guy across the table really expects you to know python and is flabbergasted that you bothered applying without it. I felt Fog Creek really demonstrated commitment to the principle by interviewing in a "useless" language. As someone with a bit of experience looking to make a change, it was a nice touch.
My full response to Ben is at http://news.ycombinator.com/item?id=2442696.
Though I am still in school, I feel everyone should understand how Memory works.
My assumption is that everyone should at least know about:
1. Pointers and their physical meaning
2. Difference between Process specific virtual memory and physical memory
3. Difference between Static, Stack and Heap Memory.
4. Also it is important to understand what happens when a disk access is required, and difference between Random reads and Sequential reads.
5. Bonus if you can understand, how swapfs is utilized and L2,L3 cache work.
If you enforce such kind of interviews in C, you will miss lots of great FP programmers. Maybe you don't care anyway.
I would guess that people might know 1 when they think about it some, but really don't know anything about the rest.
Joel's observation about pointers is dead-on, but I've personally beat that horse on HN in the past and will spare everyone a greatest hits anthology.
I like (FTA): "So I’ve picked a question that forces candidates to design a data structure" . . . "I’ll continue conducting my interviews in the language of the candidate’s choice"
As an even more general question to hackers here, what would impress you more? A candidate who comes in, whiteboards out an algorithm and data structure in C to solve a problem, or a candidate solves the same problem in Clojure?
Particularly if your org uses neither of those two languages :-) Of course, you have to grok the different paradigms you might use in both languages or you'll probably be unable to make a decent judgment.
A dev candidate who solves a problem in clojure may be impressive, but since I'm less qualified to judge, I will be less confident hiring them. Your best chance to get hired is to convince me that you are better than everyone else, and the best way to do that is to do something impressive that I can compare to everyone else.
I've also had people go from passing to failing because they overreached. More than one candidate successfully produced a correct C solution and then sunk their own battleship by volunteering a completely wrong soliloquy on heap vs stack memory. "Noone knows you're stupid until you open your mouth." Do NOT use clojure if you're betting the interviewer won't catch your mistakes.
(I believe I'm allowed to say this about the interview. If Joel or someone at Fog Creek comes across this and takes issue, just let me know and I'll remove the post.)
Much more relevant would be to ask questions about what to do if you're spending too much time in GC and how to tune it rather than how you'd perform your own garbage collection.
Edit: So what did I do wrong here? I admitted that I'm shooting in the dark, admitted that I'd be surprised if my hypothesis was true, and had absolutely no knowledge of who the person I'm replying to is. It's certainly not on his profile.
I put forth an incorrect assertion, a couple comments corrected me and I was happy to learn this insight, but my comment is already -1 because I'm what, not contributing to the conversation? Or because I was wrong? Do you have to vote on everything?
It's really interesting to me that HN whines daily about the decline in comment quality, then turns around and grays this comment. Decline of HN, indeed, downvote everyone unless they're correct or a valued member of the community. After yesterday's observations I figured I'd give it one last go, but now I just hope this community dies the hypocritical death it deserves.
I did an internship there but didnt ever look directly at wasabi. I know that it's not really in active development (only FogBugz even uses it) though so even if K&R hacked it up themselves, I'd argue it's not really important there anymore.
Also, I think it's interesting when people use the word "interesting" when they probably really mean to use the word "annoying". If something really bugs you just say it bugs you.