System design questions are a type of questions that tech companies tend to ask in the interviews in addition to more common algorithmic and knowledge based questions. This term covers both abstract Object Oriented Design
sketch a class diagram for the game of monopoly
and more down to earth performance oriented questions like
How would you design an event logging system for a large Facebook game?
An increasing number of these questions touches on topics of concurrency and distributed computation nowadays. The problem with these types of questions is - good resources are hard to find. Unlike algorithmic questions there are no online judges that tell you immediately whether you are doing things right. Questions posted on sites like careercup come with no answer or an unreliable one. The books that there are that deal with system design are too broad in scope to be useful for interview prep. So: how do you prepare for system design questions short of designing systems for a couple of years? Are there tutorials online? Question - answer (explanation) - type guides?
I found this answer in Quora which has some very useful documents, videos and articles. Both answers are really good:
Also:
How to Rock a Systems Design Interview
How do I design an arbitrary system in an interview?
System design - This is a very complete step-by-step guide/tutorial
System Design Tutorials - A collection of commonly asked System Design Interview Questions with Solutions