FYI-
For your preliminary phone interviews with software companies, do not spend a huge time preparing for difficult questions, only to be bowled over by super simple question in the interview.
Devote a decent amount of time to prepare for simple questions as well.