One of the things which bothers me with the current interview process relevant in most companies if the focus on measuring candidate’s capabilities on the basis of his knowledge of particular sub-technology. There might be wrong with this approach, but what if the Candidate is a strong programmer who unfortunately hadn’t got the opportunity to work on the particular technology/framework ?
Programming or analytical skills, according to me, is something which is heart and soul of a software programmer. He might or might not have worked in a particular technology, but that doesn’t mean he cann’t do good when given a chance. After all, none has worked in every technology under sun. What matters is his ability to solve a problem.
Recently I saw an article in Medium and was quite fascinated by the thought. What if ask something very familiar to candidate, but prompting him to think outside the box.
For example, counting the odd numbers in an array of integers or checking if a given day is weekday or weekend is something we would have done when we learn the first steps in programming. What if we ask the candidate to accomplish the same without any form of conditional operators ?
Now that would get his thought process reset. He would have think, which is more important than remembering something and answering. So, revisit your interview strategies and allow the candidate on put on his thinking cap on
Here is my 2 cents on accomplishing the above mentioned questions in C#
public int CountNonConditional(int[] Arr) { var sum = 0; Array.ForEach(Arr, (x) => sum+= x % 2); return sum; } public bool IsWeekDayNonConditional(DayOfWeek Day) { return Convert.ToBoolean(((int)Day % 6)); }