4 ms·
Yes, I've interviewed at companies that have interview type puzzles and coding, and take home tests. I greatly prefer the former regarding time use. And, know
by yters 8y ago
Yes, I've interviewed at companies that have interview type puzzles and coding, and take home tests. I greatly prefer the former regarding time use.
And, knowing the basic CS algorithms and data structures seems to be a good thing, since they make solving problems easier and lead to cleaner solutions. There's a reason they are considered the fundamentals in CS, even if they are baked into most languages nowadays.
- jboy55 8y agoWhen I do whiteboard questions, its never to see someone regurgitate a common question. Its just nice to see someone solve a problem and what their thought patterns are. CS is pretty much an art, would you hire a violinist without hearing them in person?
- courtf 8y agoWould you ask a violinist to draw the chords they would play on a whiteboard, or would you hand them a violin?
- spudlyo 8y ago> Would you ask a violinist to draw the chords they would play on a whiteboard, or would you hand them a violin? The violin is not generally considered chordal instrument. While you can technically pluck all the strings at once, or bow two strings at once, it's most often used for melodic and not harmonic parts. ;)
- jboy55 8y agoYou would of course, you can do the exact same questions on a whiteboard with a shared computer. In my experience of doing either, some people are better at one or the other, but the challenge is essentially the same.
- grogenaut 8y agoNo but I'd have an architect give me plans for a house written out. I'm not hiring artists I'm hiring engineer's. I'm not hiring your for your gorgeous code in x language, I'm hiring for problem solving skills and communication. And I do let people use computer or whiteboard, computer tends to more complicated logistically (wifi, preference of ide, power, logins, etc). A whiteboard only fails to work if I don't have new pens.
- courtf 8y agoSoftware is far more art than you think, and rigid, formulaic thinking can be a detriment to good problem solving skills. Especially when solving something you can't just look up on the internet. If your engineers aren't writing clean, readable, maintainable code that solves problems as simply as possible (ie, gorgeous), I'm not sure your hiring practices are doing you any good.
- grogenaut 8y agoI don't think you even read what I said. I didn't say that I was looking for sloppy people who could use a whiteboard. I specifically interview for understandable (maintainable) code, good problem solving, and communication skills.
- courtf 8y agoI was responding to these lines: I'm not hiring artists I'm hiring engineer's. I'm not hiring your for your gorgeous code in x language, I'm hiring for problem solving skills and communication. I agree with the second half (problem solving and communication) but take some issue with the the way you dismissed the art of it all. Maybe we have different ideas of what an artist is? I tend to think of software in more blue-collar terms myself, perhaps more like a carpenter (who has to consider more than just aesthetics, but certainly can't ignore them) than a violinist, but my earlier comment was just continuing the established metaphor. Either way, I get the sense we agree more than we disagree here.
- sh87 8y ago
- thomascgalvin 8y ago> There's a reason [basic CS algorithms and data structures] are considered the fundamentals in CS, even if they are baked into most languages nowadays. A linked list is such a fundamental piece of technology, and so obvious to anyone that's been working in a language for a while, that I feel it's perfectly acceptable to rule out a candidate who cannot write one. It doesn't have to be perfect, and it doesn't have to have all of the optimizations and utility methods that you find in the standard libraries, but the ability to understand and work with a node that has a value and a pointer to the next node is kind of bare-minimum competency, isn't it?
- BurningFrog 8y agoThe linked list is such a fundamental piece of technology that you never have to implement it. I mean, I understand the linked list quite well, but in my multi decade software career, I've probably actually implemented one less than once a decade. So I think it's a very unrealistic interview question, and will sigh quite hard (internally) when asked to implement one in an interview. You just can't please everyone...
- thomascgalvin 8y agoI agree, if you implement a linked list in production code, you've almost certainly made a mistake. My point is that a linked list is such a simple concept that anyone with real programming experience should be able to write a basic implementation. It's a Shibboleth; I only care about your ability to perform the task because it tells me something else about you.
- BurningFrog 8y agoOK, I have to kinda agree. It almost levels the playing field in the sense that since no one actually writes these things, we're probably all equally half clumsy with them :)
- SamReidHughes 8y ago