35 ms·
This post is a mischaracterization of why tech companies as basic coding questions. Or at least Microsoft, where I learned to interview and coached my own team
by larsberg 13y ago
This post is a mischaracterization of why tech companies as basic coding questions. Or at least Microsoft, where I learned to interview and coached my own team of interviewers over several years.
1) Basic coding questions are a nice filter. If you can't remove an element from a doubly-linked list in C on a whiteboard immediately after graduating, what were you doing the last four/five years? It's like the height signs before an amusement park ride: "you must be at least this competent." These are not intended to be hard problems. You should not be crippled if you "think differently" or "form important theories." Further, dropping one on the floor is not a deal-killer; you just have to get most of them.
2) Do you really understand how a computer works? If I give you some inputs (or you come up with them), can you walk through your program and describe the execution and memory state in some detail? You'd be shocked how many 4.0 GPA CS students from Stanford/etc. cannot. I am willing to teach new graduates how to work at scale. At a top firm, I am not willing to send them back to school to take Operating Systems and Architecture again.
3) Can we have a discussion about your code and the problem without you breaking down completely? More edge cases, expand it to a broader domain, increase perf (MSFT), scale it to web size (Google), etc.
None of these are raw IQ measures. If you want to see such measures, look to the finance industry where, for example, my wife had to take the Wonderlic Test during one interview, which is definitely more a measure of "raw sprinting smarts."
- olalonde 13y ago> point 1) I remember what a doubly linked list is but I wouldn't remember C well enough to pass the test. Does that make me a bad programmer? > point 2) Depending on the position, this might or might not matter. If you are modeling high level concepts in functional languages for example, does it really matter if you don't know what a logic gate is or how processes are scheduled? > point 3) Agreed. I would say whatever questions you chose, it will only filter out for a certain type of programmer. Your questions are most likely targeted at C/C++ systems programmers.
- Arelius 13y ago> I remember what a doubly linked list is but I wouldn't remember C well enough to pass the test. Does that make me a bad programmer? Unless the position was for a C role, Most people would accept psuedo code, or help you along with enough syntax to get you through.
- kyllo 13y agolarsberg dated himself by saying C; most companies today would want you to do it in your choice of either Java or C++. They would let you use objects, not make you do it with structs.
- ep103 13y agoCould I have an example of walk though and describe the memory state? Do you mean just describing what references are in the stack and heap?