Microsoft Interview Question

Fibonacci, string compression, object-oriented design, etc...