Forget about palindrome and reverse strings IT interview questions, here is how I do it.
Interviewing is one of the major steps in the hiring process, one of my friends told me your resume will get you the interview while the interview will get you the job. This might be right to a great extent. If you are the best among the pool of candidates being interviewed and you are fit for the job, an offer most likely will follow.
Trying to find the right fit for a potential position can be daunting and time consuming. Nevertheless, people (interviewers here) have standard questions set that they usually ask in an interview including knowledge algorithms and data structures or certain information about specific programming language. Because most interviewers do not deal with the nitty gritty details of very complex algorithms and data structures in daily basis they tend to repeat common interview problems including writing a program to find out whether a string is palindrome or to write one to reverse a string!
These questions can be in second year computer science homework or exam, but it does not measure nor assess the candidate ability to do the job even when you select more involved standard problem set. Moreover, it won't help the candidate know what type of problems they are going to encounter in daily basis. In addition, jobs in IT varies considerably across teams in an organizations, and across companies in terms of the type of tasks, processes, and what is expected. Hmmm, you are getting the point to what I want to say here: Interview problems has to assess the candidate ability to fit the role they are applying for, in addition to their interest and competence. Also, it should help them decide whether this job is something they would like to pursue.
Rather than searching the the internet for common interview problems or referring to certain books to pick up a problem and present it to the candidate, I suggest, after drinking your cup of coffee, to pick a problem you solved or you were part of the solution of this problem. Then modify the problem considerably to fit in the hour of interview and to hide internal detail the candidate need not to know about. This type of questions will assess and test the candidate ability to reasonably solve a real life problem. Note: do not present to the candidate unresolved problem as the purpose of the interview is to assess the candidate ability and fitness and not to solve a real problem the business is facing.
The final and important step, is to present this problem to your colleagues and get suggestions to improve the problem until it is ready to be presentable to the interviewee. An important step also to judge the candidate according to set of criteria that you or the hiring manager determine before the interview to help you reduce your bias. You can set a weight for each criteria and multiply the weight by the mark of the criteria then sum up to come up with numeric evaluation of the candidate to help you sort the candidates.
One last point, is to study the candidate read their resume, go through the LinkedIn profile and prepare questions to learn more about them. Happy hiring!