• Support PF! Buy your school textbooks, materials and every day products via PF Here!

Are programming interviews effective these days?

  • Thread starter kolleamm
  • Start date
351
32
From what I've come to understand is that, in order to get a programming position, you have to be able to answer white board questions. Basically random things such as Fibonacci sequence methods etc...

My question is : is this really the best way to asses whether someone is a good programmer or not?
These questions seem far too diverse and random to have any good meaning.
A person could have 20 years of good programming experience and get stuck on one of these questions and not get the job.

What are your thoughts?
Thanks in advance
 

rcgldr

Homework Helper
8,589
482
This might be true for a programmer seeking their very first job, but even in that case, usually the questions will be related to the type of work that the potential employee is expected to be doing. A long time ago (1960's, 1970's), some companies did use something similar to programming IQ type tests, but I haven't seen this done since the 1980's. For an experienced programmer, generally the questions will be about the projects the programmer has worked on, and what role the programmer had in the development team (such as being a lead).
 
10,696
4,258
In the sixties they used to give Aptitude tests to applicants unless you graduated from college recently. At IBM, they started to hire English majors as programmers because so much of programming at the time involved writing specifications and user manuals. IBM found that English majors had pretty good reasoning skills and could write better than the average natural sciences or engineering college graduates.

Later, it became a fad to ask technical questions that only someone versed in the field would know. In one case, I had an interview where I was asked some arcane feature of C++ which I answered and then asked the interviewer if he had read the recent Dr Dobbs journal article on C++ interview questions. He hadn’t, so I shared one with him and he couldn’t answer it but to avoid any embarrassment on his part I said something humorous and then answered it too.

They wanted to hire me but as a project manager and I knew in this company it would be an onerous job. I told them I’d prefer a programming position but they tried to entice me with more money and doing the project manager shot for a year. I knew that wouldn’t work and I just knew they would renege on their promise so I walked away.

Now it seems the questions are quite fanciful where they try to get the interviewee out of his/her comfort zone to see how they’ll react. This guarantees that they'll hire a certain kind of frat boy as I consider this type of interview demeaning.

Another kind of interview is the team interview where you’re invited to have lunch with the team and they pound you with questions so you can’t eat a thing. My strategy here was to ask questions back about the work environment setting up a dialog and getting one person to talk about how it was working for the hiring manager. Some embarrassment resulted but you can tell how well the team works.

On a different team interview, I thought it was odd that each person in round robin fashion asked a question. It turns out everything was carefully scripted with each team member reading the next question in line on their interview script. I didn’t like that interview much as I felt they were too stiff. Basically, you need to be prepared to just say no to the job when the vibes are wrong.

Back to the fanciful questions, you need to develop a sense of out of the box thinking. During the interview, think out loud and ask questions about what you can assume. It’s not expected that you solve the question rather they want to know how you pull the problem apart and develop a solution. Of course, there are always some folks who gloat a bit as you work, providing little guidance and hope you’ll really sweat. However, that gives you a clue of who not to work with once you get hired.

My candidate interview strategy has always been to ask questions based on what’s in the resume provided and to explore what I find. I also encourage a dialog telling them about the work environment and the tools we use and find out what tools they have experience with. It’s always great to hire someone with alternative experience to bring in new ideas for the team to consider.

College students are particularly fun to interview because they don’t always put down important stuff in their resume and you have to tease it out during the interview. In one case, I asked the student if they had any graphics programming experience and they said no but on the resume they had done a gaming project so I’d ask about that and lo and behold they did some graphics there.

My nephew lost a job once because he said he had no C programming experience when he actually did in some college courses. I asked him about it afterward and he said he didn’t feel he knew it well enough. A second interview fixed that issue and he got hired.

Often they feel if they don’t really know something then they won’t say which is a shame since you need to sell yourself and tell the interviewer what they want to hear particularly in how you can help their business.

My apologies for this long winded post. You got me to remembering the poor interviewing practices we now have in the industry.
 
351
32
In the sixties they used to give Aptitude tests to applicants unless you graduated from college recently. At IBM, they started to hire English majors as programmers because so much of programming at the time involved writing specifications and user manuals. IBM found that English majors had pretty good reasoning skills and could write better than the average natural sciences or engineering college graduates.

Later, it became a fad to ask technical questions that only someone versed in the field would know. In one case, I had an interview where I was asked some arcane feature of C++ which I answered and then asked the interviewer if he had read the recent Dr Dobbs journal article on C++ interview questions. He hadn’t, so I shared one with him and he couldn’t answer it but to avoid any embarrassment on his part I said something humorous and then answered it too.

They wanted to hire me but as a project manager and I knew in this company it would be an onerous job. I told them I’d prefer a programming position but they tried to entice me with more money and doing the project manager shot for a year. I knew that wouldn’t work and I just knew they would renege on their promise so I walked away.

Now it seems the questions are quite fanciful where they try to get the interviewee out of his/her comfort zone to see how they’ll react. This guarantees that they'll hire a certain kind of frat boy as I consider this type of interview demeaning.

Another kind of interview is the team interview where you’re invited to have lunch with the team and they pound you with questions so you can’t eat a thing. My strategy here was to ask questions back about the work environment setting up a dialog and getting one person to talk about how it was working for the hiring manager. Some embarrassment resulted but you can tell how well the team works.

On a different team interview, I thought it was odd that each person in round robin fashion asked a question. It turns out everything was carefully scripted with each team member reading the next question in line on their interview script. I didn’t like that interview much as I felt they were too stiff. Basically, you need to be prepared to just say no to the job when the vibes are wrong.

Back to the fanciful questions, you need to develop a sense of out of the box thinking. During the interview, think out loud and ask questions about what you can assume. It’s not expected that you solve the question rather they want to know how you pull the problem apart and develop a solution. Of course, there are always some folks who gloat a bit as you work, providing little guidance and hope you’ll really sweat. However, that gives you a clue of who not to work with once you get hired.

My candidate interview strategy has always been to ask questions based on what’s in the resume provided and to explore what I find. I also encourage a dialog telling them about the work environment and the tools we use and find out what tools they have experience with. It’s always great to hire someone with alternative experience to bring in new ideas for the team to consider.

College students are particularly fun to interview because they don’t always put down important stuff in their resume and you have to tease it out during the interview. In one case, I asked the student if they had any graphics programming experience and they said no but on the resume they had done a gaming project so I’d ask about that and lo and behold they did some graphics there.

My nephew lost a job once because he said he had no C programming experience when he actually did in some college courses. I asked him about it afterward and he said he didn’t feel he knew it well enough. A second interview fixed that issue and he got hired.

Often they feel if they don’t really know something then they won’t say which is a shame since you need to sell yourself and tell the interviewer what they want to hear particularly in how you can help their business.

My apologies for this long winded post. You got me to remembering the poor interviewing practices we now have in the industry.
Not to worry! I really enjoyed reading it.
 
709
317
At one company in the late '80s, they gave a battery of on-paper tests to prospective hires. I had already been hired based on interview, as the boss took it for granted that I would pass the tests, but I still had to take the tests. When I took the tests, I was the only one taking them who had already been hired.

The other test-takers, consequently, had more incentive to get a maximally favorable score than I did. I knew that I needed to perform well, but I didn't have an especial incentive to perform off-the-charts well, as that might increase the performance level expected of me, without necessarily bringing about a commensurate increase in compensation.

Some of the the tests were designed to measure reasoning abilities, and others sought to identify psychological characteristics. One of the psych tests asked the respondent to reply with yes, no, or can't answer, and advised resorting to the third option as infrequently as possible.

That test included e.g. 'I like to measure the temperature in various areas of the room', apparently intended to find OCD responders.

Anyway, while we test-takers were on break, clustered around the coffee station, nervously speaking quietly and politely to one another, I said aloud "you know that question where it says 'sometimes I think everyone's out to get me'?" (everyone went silent and waited and looked at me for a moment) -- after a brief pause, I said "well I put 'no' because I didn't want anyone to know that I knew", and everyone laughed -- it broke the tension, and the boss, hearing the laughter, came out of his nearby office, and quietly advised me that he had tests with questions that were a lot harder.
 
Last edited:
10,696
4,258
I sure hope you distanced yourself from that boss. He sounds somewhat vindictive. Sometimes there are people in power at your workplace who crack jokes like that, that are veiled threats.
 
1,497
607
I think you may be misunderstanding the purpose of the whiteboard exercise. I often ask white board questions that I know are very difficult to answer. We choose our questions primarily because we want to see how you approach the problem, not that you can actually solve it on your feet.
 

Born2bwire

Science Advisor
Gold Member
1,778
16
I've found that programming questions are still good at weeding out people with poor skills or not enough experience. We still come across the occasional person that cannot put together a basic algorithm. Beyond that, I've stopped asking programming questions like those. Most applicants are spending huge amounts of time on hard technical skills, particularly now that there are so many resources like LeetCode that have practically every kind of programming question imaginable.

I'm more interested now in a candidate's soft skills because those are becoming more of the limiting factors in team performance. In particular, I want candidates that understand computer science concepts and skills like writing maintainable code. I don't need someone that can come up with an log N algorithm to replace an N-squared. That's not where we are losing time, it's in the time it takes to add features and maintain the code. It's getting very hard to find people that actually take the time to write clean and maintainable code.

That's my viewpoint, but I still see a very heavy reliance on programming questions in interviews. I find it increasingly frustrating because they're still emphasizing them with mid-career candidates.
 
709
317
I sure hope you distanced yourself from that boss. He sounds somewhat vindictive. Sometimes there are people in power at your workplace who crack jokes like that, that are veiled threats.
To be fair to him: I was poking fun at the company's approved tests for candidate mental aptitude and attitude measurement, and he was merely letting me know that he had more demanding tests and could raise the admission bar if he deemed that to be appropriate.
 
1,792
163
It's not great, and it shouldn't be the only thing, but I do think it adds some value.
 
1,365
61
Are interviews effective in general? Is there a strong correlation between interview performance and job performance?
 

Vanadium 50

Staff Emeritus
Science Advisor
Education Advisor
22,975
5,239
Is there a strong correlation between interview performance and job performance?
Given that people who interview poorly don't get jobs, I would say "yes", almost by construction.
 

symbolipoint

Homework Helper
Education Advisor
Gold Member
5,591
901
Are interviews effective in general? Is there a strong correlation between interview performance and job performance?
Some common human understanding: People exchange information using spoken language communication. The interviewer wants to know if candidate knows what interviewer wants him to know, and in many cases, if candidate has the kind of experience that interviewer is looking for. This works well unless one or more of the participants is lying.

Here is an absolutely fascinating fictional example of a job interview from a movie. The relevant part begins at time 1:10 through the clip:
 
Last edited:

rkr

Gold Member
15
15
From what I've come to understand is that, in order to get a programming position, you have to be able to answer white board questions. Basically random things such as Fibonacci sequence methods etc...

My question is : is this really the best way to asses whether someone is a good programmer or not?
These questions seem far too diverse and random to have any good meaning.
A person could have 20 years of good programming experience and get stuck on one of these questions and not get the job.

What are your thoughts?
Thanks in advance
Context: I've hired dozens of programmers and conducted a few hundred technical interviews.

The interview process is definitely imperfect. The way I see it is that there's 3 categories of things: known knowns (A), known unknowns (B), and unknown unknowns (C).

We've definitely had situations where a candidate turns out to be amazing outside the interview setting because of things we did not assess (i.e. C) and we regret not hiring that person, but hiring someone is an expensive bet and it's usually better not to take on that uncertainty.

And in all cases, the set of items in A is much smaller (I say 2 orders of magnitude smaller) than the set of items in B, since there's just a limit to how much you can know about someone with just 10-20 hours of interaction. So even if a candidate turns out to be amazing based on what you've evaluated (in set A), and you hire said person, you'll most often find that there's a lot of issues working with that person that weren't discovered in the interview process (in set B).

I can however say we've almost never regretted rejecting a candidate if we did find a problem with the candidate during the interview process (in set A), so we've almost never had a situation where something in set C was discovered after-the-fact that would've made us change our minds about decision and regret that decision.
 

DaveC426913

Gold Member
18,148
1,721
...random things such as Fibonacci sequence methods etc...

My question is : is this really the best way to asses whether someone is a good programmer or not?
It gets them talking. You get insight into their thought processes.

See NewJerseyRunner's post above.
 

harborsparrow

Gold Member
523
103
Well if you're wanting to prepare for this ordeal or rite of passage or whatever it is, there is no better way that this:


The author, Gayle Laakmann, has said that the important thing is not to be perfect in coding, or even with the algorithm, but to keep working at the problem and showing how you can think about an issue to improve what is there so far.
 

Zap

154
46
They still give these tests. I have been asked to take programming aptitude tests and battery exams for a job. So far, the tests have been stupid easy. So, I don't understand what the point of them are. Are they to weed out the mentally handicapped? I don't have a PhD. So, they should at least know I'm not retarded.
 

symbolipoint

Homework Helper
Education Advisor
Gold Member
5,591
901
...I have been asked to take programming aptitude tests and battery exams for a job. So far, the tests have been stupid easy. So, I don't understand what the point of them are. Are they to weed out the mentally handicapped? ...
So imagine someone passes this or these examinations. Maybe this candidate is competent enough to do the work needed for the job.

Then imagine if someone does not pass this or these "stupid easy" test. This must mean that the candidate is absolutely incompetent for the job.
 
709
317
They still give these tests. I have been asked to take programming aptitude tests and battery exams for a job. So far, the tests have been stupid easy. So, I don't understand what the point of them are. Are they to weed out the mentally handicapped? I don't have a PhD. So, they should at least know I'm not retarded.
Can you provide any examples of what you think were among the least easy questions on the tests, so that we can have at least some basis for arriving at our own assessments of how easy the tests were?
 

Zap

154
46
I only took the CPAB and the Wonderlic test. I'm not exactly sure what those tests are suppose to measure. The Wonderlic is suppose to be similar to an IQ test, but it's really more like a measure of your test taking strategy. It's like a game where you're suppose to beat the clock instead of solve all the problems. If you don't know that ahead of time, you will most likely score low. So, it's easy in that you're suppose to skip all the difficult problems in order to achieve a high score. Maybe, it's suppose to measure your performance under pressure. Idk. I suppose it is an easy way to weed out incompetent people, or those who simply didn't bother to study what it was and weren't prepared for the small time limit.
 
Last edited:

symbolipoint

Homework Helper
Education Advisor
Gold Member
5,591
901
Looking over the original post again:
you have to be able to answer white board questions. Basically random things such as Fibonacci sequence methods etc...

My question is : is this really the best way to asses whether someone is a good programmer or not?
These questions seem far too diverse and random to have any good meaning.
Did that mean, the questions asked are not about programming or that the questions are either about programming or in an inferred way, or what?
 

symbolipoint

Homework Helper
Education Advisor
Gold Member
5,591
901
I only took the CPAB and the Wonderlic test. I'm not exactly sure what those tests are suppose to measure. The Wonderlic is suppose to be similar to an IQ test, but it's really more like a measure of your test taking strategy. It's like a game where you're suppose to beat the clock instead of solve all the problems. If you don't know that ahead of time, you will most likely score low. So, it's easy in that you're suppose to skip all the difficult problems in order to achieve a high score. Maybe, it's suppose to measure your performance under pressure. Idk. I suppose it is an easy way to weed out incompetent people, or those who simply didn't bother to study what it was and weren't prepared for the small time limit.
What would be nice is, some members who have had recent interviews for programming jobs, tell us what the assessment questioning was like. Did the assessment questions target programming knowledge or something else?
 

Zap

154
46
Wonderlic is not about programming. The CPAB is the computer programming aptitude battery exam, which is actually not about programming, either.
 

symbolipoint

Homework Helper
Education Advisor
Gold Member
5,591
901
What would be nice is, some members who have had recent interviews for programming jobs, tell us what the assessment questioning was like. Did the assessment questions target programming knowledge or something else?
Wonderlic is not about programming. The CPAB is the computer programming aptitude battery exam, which is actually not about programming, either.
My later posting placement was maybe not the best.

My question quoted above is regarding parts of post #1.

kolleamm said this:
My question is : is this really the best way to asses whether someone is a good programmer or not?
These questions seem far too diverse and random to have any good meaning.
A person could have 20 years of good programming experience and get stuck on one of these questions and not get the job.
My question is hopefully clearer now. I wonder what any forum members who have been given recent job interviews for programmer positions can tell us about the programming knowledge and skills assessments done in their interviews. Company should be able to do an interactive or some kind of precise assessment of the candidate, somehow. Like, "Show me/us what you can do"; or, "Show us that you can do this."
 

Want to reply to this thread?

"Are programming interviews effective these days?" You must log in or register to reply here.

Related Threads for: Are programming interviews effective these days?

Replies
5
Views
3K
  • Posted
Replies
7
Views
3K
Replies
73
Views
35K
Replies
8
Views
773

Physics Forums Values

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top