Are programming interviews effective these days?

Click For Summary
Whiteboard questions in programming interviews are often criticized for being too random and not accurately reflecting a candidate's skills. While they may be useful for assessing problem-solving approaches, many argue they do not effectively gauge a programmer's real-world experience or capabilities. Experienced programmers typically face questions related to their past projects rather than abstract problems. Interview practices have evolved, with some companies favoring dialogue-based interviews that explore candidates' experiences and fit within the team. Ultimately, the effectiveness of these interview techniques remains a topic of debate in the tech industry.
  • #31
WWGD said:
I assume you meant 'assess' , instead of 'asses'? ;).
Don't worry, I have screwed up a few. Trying to make conversation with the interviewer, I asked, about a portrait on his table:
" How come you have a portrait of Bill Clinton wearing such an ugly dress?"
A: " That's my mom."
Me: " She looks really strong" (??)

Didn't know what else after screwing up so badly.
 
  • Like
Likes Michael Price
Physics news on Phys.org
  • #32
Jokes aside that kind of thing is a bad idea in an interview as the interviewer will think you’ve lost interest in the interview or worse have an attention deficit disorder. My manager told this happened once when he was interviewing someone and out of the blue they asked about a picture on the wall and then got back to the interview. Later he commented on the zone out oddity and wondered if other interviewers noticed it too.
 
  • #33
symbolipoint said:
jedishrfu, I wonder about this part:

What you say about certification tests seems very logical. But, really comprehensive? Many many skills and topics tested in enough detail? For how much time will the certified person hold his certified skills and knowledge? Maybe not all of them long enough after the testing; and this can be why an employer may directly test a job-candidate. Employer may want to know, "Do you have the skills and knowledge needed right now for the job we want to fill?" Hey, I am just asking and commenting.

Most certification tests revolve around specific vendor products and while someone can pass the test and still be bad for your company, most who do pass are quite qualified to do the work required. It’s most common for network management, and database management. However, I’m sure that for really big implementations these certifications are just a starting point and in-house training will take over with policies and procedures and how things are really coordinated for big data networks.
 
  • #34
I have been on both the interviewer and interviewee side of those "puzzle" questions.

As an interviewer, the first thing I do is compare the resume to what we need to fill the position.
Then, assuming there is a reasonable overlap, I will focus on the specific position-relevant experiences described in the resume.
For those experiences, I will quiz them on the application requirements and some of the specifics of their participation in the coding, testing, and documentation. This is a kind of "audit". There should be all kinds of "evidence" that someone really did participate in a development as they are describing.

In some cases, the interviewee will enthusiastically described parts of the process in such detail that there will be no doubt. In other cases, I need to keep up the search. I will attempt to focus of some of the things they were likely to have run into during their efforts - perhaps a HW interface, a communications protocol, data structures, resource arbitration, etc. And this commonly results in whiteboard use.

So all of that said, there have been times when I have formally "tested" applicants - although in all such cases, the tests were intended to be very rudimentary. In one case, the State Employment service decided that it was better to send us Veterans then programmers. So I created a programming test that was super-simple, specific to the type of coding they we would be expecting, and could be completed is minutes. When a candidate arrived, they were provided a desk with ample reference material (this was pre-internet), paper, pen, the instructions in writing, as much time as they wanted, solitude, and access to me should there be a problem. They were also told that bugs were fine. "Actual programmers" would complete the assignment in a few minutes and would move on to the interview process. The others would excuse themselves - sometimes after spending over an hour at the desk.

In another case, I was teaching a 1-week course for Fortran programmers that introduced them to everything they needed to know to develop their specialized code on the companies CAD/CAM system. Being a Fortran programmer was a prerequisite, so the test was given at the start of the course. Most of the "students" were actually managers - but this was fine. At the start of the course I alerted the marketing department to what I had in the way of non-programming students and those students were given the option of being taken out to dinner each day. I remember one guy who took this as being "caught". He said he was a Cobol coder. I told him that he could take the test in Cobol. When that didn't work for him, I told him to simply draw a flowchart. Needless to say, he ended up with our Marketing people.

In that test, I provided a function that when provided two line segments (Xa,Ya to Xb,Yb) and (Xc,Yc to Xd, Yd) would return the number of times that the line segments intersect (0 or 1). They were provided two triangles (Xe,Ye; Xf,Yf; Xg,Yg) and (Xh,Yh; Xi,Yi; Xj,Yj), and asked to write a function that would return the total number of times those triangles intersected - presumably using the function provided. I tested this test of several coworkers and decided I should allow 30 minutes. Ultimately, I allowed an hour.
 
  • #35
I am opposed on moral grounds to these kinds of tests. When I conducted interviews I realized that only a small portion of the job was actual coding so I looked for logical thinking more, experience, and out of the box thinking.

I never posed trick questions although I knew folks who did. Many of our applicants were college students who hadn’t yet graduated. Often they were very nervous and didnt know what they knew. One student when asked if he’d done any graphics program said no, but on his resume had done game programming. When asked about that, he got quite descriptive and I knew then that he had the skills to do interactive graphics.

At the time of the interview he was a borderline student because he had majored in engineering, got poor grades then switched to programming getting decidedly better grades. Ultimately though upper level management said no because we had a rule of minimum B average even though his CS coursework was A’s but his engineering work. More recently, I saw that he’s now a successful highly paid security programmer. One we missed.

Another time, I interviewed a student with little to no CS background who boldly presented her math proofs as evidence that she could do programming. She was an amazing programmer in the short time she worked for us and moved on to a major company upon graduation.

I myself once had the trick question sprung on me in an interview and immediately decidedly not to work for this company. The question was specific to C++ and had been described in a recent Dr Dobbs article on the top ten C++ interview questions. I answered it quickly and asked the interviewer if he had read the article and he said no so we discussed the article for the remainder of the interview.

In yet another interviewfor a senior position at a startup company, I got interviewed by a junior programmer who asked the variable swap question. I was dumbfounded like really you’re looking for a senior architect and you ask your candidates this kind of question.

Candidates will be interviewing you even as you interview them and the smart ones may well decide that your work environment sucks. I look at these kinds of tests as a form of hazing that should be dropped as they create an atmosphere of fear that will scare talented programmers away.
 
  • Informative
Likes berkeman
  • #36
My thoughts now are that they are a fair indicator of not just ones ability to program but to solve problems. You can practice them on leetcode.com.
 
  • Like
Likes WWGD

Similar threads

  • · Replies 1 ·
Replies
1
Views
894
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 16 ·
Replies
16
Views
4K
  • · Replies 21 ·
Replies
21
Views
2K
Replies
127
Views
21K
  • · Replies 7 ·
Replies
7
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 4 ·
Replies
4
Views
3K