ThoughtWire interview question

Standard OOP and API questions followed by some algorithm coding