Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Software created for some business domains don't require heavy use of algorithm problem solving skills on the job from the programmers working there. For example, a JEE developer might most of the time only need to move data from system to system, doing data transformations, then crunch that data for various reports, designing systems with well defined boundaries etc.

As a programmer you are a problem solver and you should know how to solve algorithm problems. But some programmers haven't really been doing that since school if their domain of expertise hasn't required that skill, so the skill isn't up to date.

For such domains, does it still make sense to have an interview selection that requires candidates to solve algorithm problems (like math problems, string manipulations, sorting arrays etc) or should the interview be focusing only on the skills needed for the particular domain?

share|improve this question

closed as primarily opinion-based by gnat, GlenH7, MichaelT, Bart van Ingen Schenau, Greg Hewgill Dec 5 '13 at 4:28

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

1 Answer 1

up vote 3 down vote accepted

I think it may be relevant for students/fresh graduates. From what I know about most schools, that's what they've been doing during the studies, so the interviewer might get a glimpse of how they think to solve a problem. If they have previous job experience, internships etc., I would focus on those.

For more experienced programmer it's IMHO irrelevant if it's not part of the job. As you mention, the actual job is different and they probably haven't done that since school anyway, so there's no point in evaluating that, when you have an actual past experience to talk about (or other tests).

Maybe the interviewers think that knowing the algorithms somehow correlate with the ability to solve problems in the other domain. I have no data on that.

What IS IMHO important are data structures. Programmers work with them on every level; they should know when to use an array, list, stack or hashmap for example (and how they work internally on their platform of choice - ideally the same as the job requires)

share|improve this answer
1  
What you haven't yet mentioned is that a large proportion of developers who apply for a job either can't program, or don't know how to solve a problem programatically, regardless of what their résumé says. Algorithmic questions are therefore relevant, even for experienced programmers. –  Robert Harvey Dec 3 '13 at 23:32
    
@RobertHarvey, Assuming that the test is a sanity check and actually has some relevance to the job I agree with you. Leads forced into writing these kinds of questions for HR sometimes don't do such a great job, unfortunately. –  Patrick Hughes Dec 4 '13 at 4:24

Not the answer you're looking for? Browse other questions tagged or ask your own question.