title: Algorithm/Data Structure Design Interview Questions
body: <p>What are some simple algorithm or data structure related "white boarding" problems that you find effective during the candidate screening process?</p>
  
  <p>I have some simple ones that I use to validate problem solving skills and that can be simply expressed but have some opportunity for the application of some heuristics.</p>
  
  <p>One of the basics that I use for junior developers is:</p>
  
  <blockquote>
    <p>Write a C# method that takes a string which contains a set of words (a sentence) and rotates those words X number of places to the right.  When a word in the last position of the sentence is rotated it should show up at the front of the resulting string.</p>
  </blockquote>
  
  <p>When a candidate answers this question I look to see that they available .NET data structures and methods (string.Join, string.Split, List, etc...) to solve the problem.  I also look for them to identify special cases for optimization.  Like the number of times that the words need to be rotated isn't really X it's X % number of words.</p>
  
  <p>What are some of the white board problems that you use to interview a candidate and what are some of the things you look for in an answer (do not need to post the actual answer).</p>