I am preparing for an interview at google, and it will involve programming questions as well as design questions. I have done interviews with facebook and amazon, and I didn't do well in the design part of the interview for both companies.
I was asked to design a restaurant reservation system, an array of caches, and the facebook friends list. The questions vary in very different ways.
Can anyone give me suggestions on how to prepare for this kind of interviews and how to get better at this in general?
I wonder if there are places like careercup.com which is very helpful preparing for algorithm interviews, it has some design problems as well, but not nearly enough.