What are the "Real World" programming interview questions that everyone keeps talking about?
-
I have never, ever, needed to do a bubble sort in my professional career as a software engineer (15+ years). If someone asked me that question, I would leave the interview, after flipping them the bird.
+1
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
No, I think it is a stupid question.
+1
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
I'm going through interview cycles for a Software Engineering type job right now. I've been reading a few forums and blogs about general interview advice/rants from others. One of the things a lot of people keep complaining about is something along the lines of, "I've had 7-10 years of experience, and they wanted to test me on so-and-so algorithm which I could've googled in two minutes. Why test memorization? Why not ask questions about / in-depth discussions on how to solve difficult real world problems?" My question for those of you who have been part of plenty of interviews, what sort of questions qualify as "real-world non-trivial problems"? I guess the question is also directed at the Sr. Software Engineers who have complained in the past that the interview didn't test their "experience"; what type of questions would have highlighted your "non-trivial real-world experience" instead of asking about specific data structures or algorithms or implementation details?
I started in a new job in February. During the first interview: They started to ask me some questions about the technology I was going to use... My answer: Stop this sort of questions. I have never used this technology, so I can't tell anything about it right now. But I am not afraid of new topics and I learn fast. Then they started to ask about my previous company... My answer: I am happy in my current job, I don't really want to leave. I am getting married and previous company is very far for a daily basis. That's why I am searching for something new not so far. Then they started to ask about my personality and my skills: My answers were honest, even when speaking about my defects. I got hired. Conclusion: Tech questions can say little. IMHO the most important thing is: try to know who are going to work with you and determine his/her principles, if he/she is fitting in the team, willing to learn and things like that. The rest... is only a question of time to learn. (btw... now I am already "walking solo" in the projects) I would probably hire a newbie willing to learn and showing engagement, than a lazy guru coming back from everything.
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
-
1. Write a bubble sort in your favorite language, you have 10 minutes. 2. In configuration management terms what is a "trunk" directory and how does it differ from a "tag" directory. 3. Who is Tom Demarco.
Rage against the narrative.
"To Build a Fire" - A dystopian novel about project management, and I am the dog.Ernst Iliov Stavro Blofeld wrote:
Write a bubble sort in your favorite language
Who the heck cares. It's an inefficient algorithm and I would never write one myself.
Ernst Iliov Stavro Blofeld wrote:
In configuration management terms what is a "trunk" directory and how does it differ from a "tag" directory.
Obsolete. At best, describe how branches work in Git.
Ernst Iliov Stavro Blofeld wrote:
Who is Tom Demarco.
That's DeMarco. ;) Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
-
Ernst Iliov Stavro Blofeld wrote:
Write a bubble sort in your favorite language
Who the heck cares. It's an inefficient algorithm and I would never write one myself.
Ernst Iliov Stavro Blofeld wrote:
In configuration management terms what is a "trunk" directory and how does it differ from a "tag" directory.
Obsolete. At best, describe how branches work in Git.
Ernst Iliov Stavro Blofeld wrote:
Who is Tom Demarco.
That's DeMarco. ;) Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
Marc Clifton wrote:
Ernst Iliov Stavro Blofeld wrote:
Write a bubble sort in your favorite language
Who the heck cares. It's an inefficient algorithm and I would never write one myself.
I would hope that the questioner would accept your response (apart from the mild expletive) as being the correct answer. Refusing to do something because it is flawed shows that you are a programmer, not a code monkey. If the questioner still insisted, then you know that the company is not a good place to work at.
-
I started in a new job in February. During the first interview: They started to ask me some questions about the technology I was going to use... My answer: Stop this sort of questions. I have never used this technology, so I can't tell anything about it right now. But I am not afraid of new topics and I learn fast. Then they started to ask about my previous company... My answer: I am happy in my current job, I don't really want to leave. I am getting married and previous company is very far for a daily basis. That's why I am searching for something new not so far. Then they started to ask about my personality and my skills: My answers were honest, even when speaking about my defects. I got hired. Conclusion: Tech questions can say little. IMHO the most important thing is: try to know who are going to work with you and determine his/her principles, if he/she is fitting in the team, willing to learn and things like that. The rest... is only a question of time to learn. (btw... now I am already "walking solo" in the projects) I would probably hire a newbie willing to learn and showing engagement, than a lazy guru coming back from everything.
M.D.V. ;) If something has a solution... Why do we have to worry about?. If it has no solution... For what reason do we have to worry about? Help me to understand what I'm saying, and I'll explain it better to you Rating helpful answers is nice, but saying thanks can be even nicer.
Nelek wrote:
I learn fast.
Being able to show examples of this, is how excellent engineers get hired. End of story.
-
I've only given a handful of tech interviews. What I did was pick some easy technical questions that anyone should know, since nobody really likes being put on the spot. I was more interested in how the person thought it out, and way more interested in their personality. I've been on a lot more than I've given though. Very few of them are real world and more academic-type questions, such as "can you find an anagram of blah blah blah", which you just Google that nowadays. Very few tech interviews care about personality.
Jeremy Falcon
I agree. One of the interview questions I had for my current job was to write up a quick little code snippet of doing the recursive power function in either C++ or Java. My colleagues said all they were really interested in was that all of the applicants had a general idea of what the basics are for recursion; and I did get this particular question right even though I hadn't seen it be asked since the very early days as a college student :-\
"I've seen more information on a frickin' sticky note!" - Dave Kreskowiak
-
_Maxxx_ wrote:
except for the last one unless you add "and why?"
I would, of course. Just want to see them justify and hold a position.
-
I'm going through interview cycles for a Software Engineering type job right now. I've been reading a few forums and blogs about general interview advice/rants from others. One of the things a lot of people keep complaining about is something along the lines of, "I've had 7-10 years of experience, and they wanted to test me on so-and-so algorithm which I could've googled in two minutes. Why test memorization? Why not ask questions about / in-depth discussions on how to solve difficult real world problems?" My question for those of you who have been part of plenty of interviews, what sort of questions qualify as "real-world non-trivial problems"? I guess the question is also directed at the Sr. Software Engineers who have complained in the past that the interview didn't test their "experience"; what type of questions would have highlighted your "non-trivial real-world experience" instead of asking about specific data structures or algorithms or implementation details?
-
I've only given a handful of tech interviews. What I did was pick some easy technical questions that anyone should know, since nobody really likes being put on the spot. I was more interested in how the person thought it out, and way more interested in their personality. I've been on a lot more than I've given though. Very few of them are real world and more academic-type questions, such as "can you find an anagram of blah blah blah", which you just Google that nowadays. Very few tech interviews care about personality.
Jeremy Falcon
Jeremy Falcon wrote:
Very few tech interviews care about personality
Ironically, that's what I interview for. Whether I'm interviewing a candidate, or I am the candidate, there's only a single question I want answered: "Are you a jerk?" If I'm the candidate, I want to know what the place is like. Not to borrow a cliche, but I want to know what the culture is: constant panic, laid back, demoralized drone farm, happy unicorns. If I'm looking for a candidate, I have to know I can stand being around you for 40 hours a week. Do you have a life, or is code your holy calling? Can you take direction without whining? Can you give direction without being a prick? Our products have a 10-15 year life span. Will you deign to work on code that old, or are you a New Stuff Nancy? I've turned down job offers because the place had a dress code (ties, for fuck's sake). I've turned down candidates because they were too good, and to convinced of their own superiority.
Software Zen:
delete this;
-
I've been on both sides of the table. There is no set pattern for an interview that works well with everyone. I usually ask these: What was a project that got you excited and why? How do you react to people criticizing your code/documents? What do you do when you get stuck with a problem you can't solve? What are your strengths and weaknesses as a developer? Do you favor Webforms or MVC? [Edit: the latter includes "and why?" :-)] Much better than technical questions since people will inevitably start discussing technology and how they used it.
I agree, but you should beware about asking about an interviewee's weakness: I would answer that question like this...[^] (thanks, Oatmeal)
-
Jeremy Falcon wrote:
Very few tech interviews care about personality
Ironically, that's what I interview for. Whether I'm interviewing a candidate, or I am the candidate, there's only a single question I want answered: "Are you a jerk?" If I'm the candidate, I want to know what the place is like. Not to borrow a cliche, but I want to know what the culture is: constant panic, laid back, demoralized drone farm, happy unicorns. If I'm looking for a candidate, I have to know I can stand being around you for 40 hours a week. Do you have a life, or is code your holy calling? Can you take direction without whining? Can you give direction without being a prick? Our products have a 10-15 year life span. Will you deign to work on code that old, or are you a New Stuff Nancy? I've turned down job offers because the place had a dress code (ties, for fuck's sake). I've turned down candidates because they were too good, and to convinced of their own superiority.
Software Zen:
delete this;
Gary R. Wheeler wrote:
"Are you a jerk?"
Simple and to the point. Too bad we can't just flat out ask that.
Jeremy Falcon
-
Ernst Iliov Stavro Blofeld wrote:
Write a bubble sort in your favorite language
Who the heck cares. It's an inefficient algorithm and I would never write one myself.
Ernst Iliov Stavro Blofeld wrote:
In configuration management terms what is a "trunk" directory and how does it differ from a "tag" directory.
Obsolete. At best, describe how branches work in Git.
Ernst Iliov Stavro Blofeld wrote:
Who is Tom Demarco.
That's DeMarco. ;) Marc
Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project!
Not to mention, nobody uses the term "configuration management" to explain source control.
Jeremy Falcon
-
I agree, but you should beware about asking about an interviewee's weakness: I would answer that question like this...[^] (thanks, Oatmeal)
Hilarious. When I've been asked that question, I usually say "My greatest weakness is not tolerating people who don't do what they say they will do".
-
Gary R. Wheeler wrote:
"Are you a jerk?"
Simple and to the point. Too bad we can't just flat out ask that.
Jeremy Falcon
As always, the devil's in the details. As programmers, we should be used to that.
Software Zen:
delete this;