The technical interview process can be a long and grueling one. When I interviewed with Google, I was subject to four phone interviews and five back-to-back in person interviews. The following are strategies I used to succeed.
The interview is your chance to show off your skills. Silently thinking through a problem looks exactly the same to your interviewer as choking. Instead, think through the problem aloud. Cite any relevant fact and state your assumptions.
You likely will not know in advance what questions you will be asked, so you must prepare broadly. You may be given a programming problem, a mathematical problem, trivia questions ("How is X implemented in language Y?"), or personal questions. Anything on your resume is fair game. If you took a course in linear algebra, be prepared to solve problems involving linear algebra.
You may be given a problem that you have seen before and know the answer to immediately. If so, let the interviewer know and ask if they would like to give you another problem. This shows your integrity and that you are not just looking for an easy win.
Know the company and position you are applying to inside and out. What are their core values? What technical challenges do they face? What skillsets do they value? What kinds of questions will they ask? Ask your recruiter what the evaluation criteria are ahead of the interview. Be sure to know what the interviewer will be looking for so that you may prepare.
You may not be given all the information you need to solve the given problem. This is intentional. In the interview, just as in the workplace, you are expected to ask questions and "gather requirements" when solving a problem. Be prepared with questions about the company and job as well. This demonstrates that you really care about the job and sets your apart.