Working for some of the best known names in the tech world like Google and Facebook is a dream for many programmers. But a major obstacle in this pursuit is the interview process at these companies, which are typically academic and pedantic, often involving testing of concepts not used in professional programming such as recursion and dynamic programming. Thus unconventional and self taught programmers, and those who rusty on academic fundamentals are put at a disadvantage. This session intends to provide a overview of the interview process at these companies, and a guideline for anyone, especially self taught programmers, to have a fair chance at cracking coding interviews. Key sections covered in the session are overview of the interview process, strategies to get noticed by recruiters, topics to prepare for algorithms and data structures based coding interviews along with an overview of abstract topics like time complexity, recursion and dynamic programming, and strategies to answer behavioral questions.