I see this thread has become a point of interest for many. I wish I could offer some wise advice. But the truth is that I have not done anything special or done any special preparation in my career.
The only thing I have done is learn tech and non-tech stuff. I do it everyday. It is easy for me because I like technology. Computers have been my hobby for a long time. I read a lot of books in all kinds of domains. And I read a lot more for my special domain of interest (distributed systems). So I think this naturally makes me equipped for most kinds of interviews. I do not like solving or reading about puzzles that do not have a relation with real world projects, so I am naturally bad at such kind of interviews.
I am myself not a fan of CTCI. But I think CLRS is a good start. Sorry I don't have better advice than this. Someone else in this awesome forum could be of better help to you.
The only thing I have done is learn tech and non-tech stuff. I do it everyday. It is easy for me because I like technology. Computers have been my hobby for a long time. I read a lot of books in all kinds of domains. And I read a lot more for my special domain of interest (distributed systems). So I think this naturally makes me equipped for most kinds of interviews. I do not like solving or reading about puzzles that do not have a relation with real world projects, so I am naturally bad at such kind of interviews.
I am myself not a fan of CTCI. But I think CLRS is a good start. Sorry I don't have better advice than this. Someone else in this awesome forum could be of better help to you.