So far, I have had many interviews, and also I learnt a lot from them, even I failed most of them.
I think the problem of me is that I keep moving so fast, and sometimes I do not dive in to the technologies deeply（In other words, I may just care about what I am doing, for example, Java can do a lot of works, but I just focus on Java web）.
I found my weakness, and I need to know more about design pattern, not only for interviews, but also for my professional quality.
A lot of compnaies like question you with OO design, so if you know something about design pattern, you can solove these problems more elegantly. But please also keep in mind that: