title: 4 program design interview questions
body: <p>I was preparing for technical interviews and would like to know how could I go about briefly explaining an interviewer about the approach to designing the following programs without going into unnecessary details</p>
  
  <pre><code>1. Program that lets people play tic tac toe with each other over the internet?               
  2. A suitable data structure for a photo editor or text editor? Why?
  3. Implementing code to operate the elevators?
  4. Implementing the rendering engine of a web browser?
  </code></pre>
  
  <p>I could come up with the following:  </p>
  
  <ol>
  <li><p>There are primarily 2 parts to the program. One deals with the rendering of the board display. The other is the actual engine containing methods to find the winning move, AI, game completion, etc. Then, there will be the code related to the network.   </p></li>
  <li><p>A linked list of strings seems appropriate for the text editor, since the primary element is text and related manipulations. Does a linked list of objects seem right for the photo editor?  </p></li>
  <li><p>This again involves a display rendering of the elevators along with resource synchronization.   </p></li>
  <li><p>Don't have much clue about how to approach this one.  </p></li>
  </ol>
  
  <p>Are the sufficient enough? Am I missing some important details in approaching these problems. </p>