

Ask HN: Preparing for "design a scalable system" interview questions - throwaway23049

I'm currently in the process of interviewing with some big web companies.  From my experience, and talking with others, it seems like asking questions about designing a scalable system is popular.<p>What is the best way to prepare for these sorts of interviews?  I've been following the steps Steve Yegge recommends: http://steve-yegge.blogspot.com/2008/03/get-that-job-at-google.html and have been reviewing my college notes on data structures, algorithms, and theory.  I've also worked my way through "The Algorithm Design Manual" which I recommend.<p>I'm not sure this preparation has been helpful for these sorts of questions.  For example I recently had an interview about designing a scalable system and my solution involved thread pools, sharding, producer/consumer queues, and non-blocking I/O.  I have some general understanding of those topics, but no deep knowledge.  I was thinking of reviewing my notes from my distributed systems class, but it mainly covered topics like distributed mutual exclusion, and the byzantine generals problem.<p>Any ideas on how to better prepare?<p>In case you are wondering, I graduated with a Bachelors in CS a few years ago.<p>Thanks!
======
pbreit
The tone of your writing sounds too much like theoretical knowledge and too
little of practical knowledge. Maybe try and identify at least one aspect of
scaling that you could do a deeper dive on. You might cover an approach to
scaling which could include a bit of design, a lot of measurement and a lot of
iteration. And I wouldn't leave out caching.

------
JoachimSchipper
Highscalability.org should give you some idea of the architecture others are
using. Note that the more extreme scale porn - Facebook and the like - is
unlikely to be relevant.

~~~
pdenya
You may have meant <http://highscalability.com>

