How to answer 11 fiendishly hard interview questions posed by Google, Microsoft, and Dropbox