Have you ever...
- Wanted to work at a hot futuristic company?
- Struggled with an interview problem that could have been solved in 15 minutes?
- Wished you could study computing in the context of real-world problems?
If so, you need to read Elements of Programming Interviews (EPI).
The code of EPI is a collection of 300 problems with detailed solutions, including over 100 figures and 200 tested programs. The problems are challenging, well-motivated, and accessible. They are representative of the questions asked at interviews at the most exciting companies.
The book begins with a summary of patterns for data structure, algorithms, and problem solving that will help you solve the most challenging interview problems. This is followed by chapters on basic and advanced data structures, algorithm design, concurrency, system design, probability and discrete mathematics. Each chapter starts with a brief review of key concepts and results followed by a deep and wide set of questions.
EPI concludes with a summary of the nontechnical aspects of interviewing, including common mistakes, strategies for a great interview, perspectives from across the table, negotiating the best offer, and much more.
Adnan, Amit, and Tsung-Hsien have worked at Google, Facebook, Microsoft, IBM, Qualcomm, and several startups. They co-developed algorithms and systems that are used by over one billion people everyday. They have extensive experience with interviewing candidates, making hiring decisions, and being interviewed.
Here's a blurb about Alephus:
"Cut out the middle man! Effortlessly buy and sell textbooks with your friends! Alephus is designed for university students to economically trade textbooks with their friends and classmates. It uses barcode scanner, camera, instant messaging, maps, and GPS functionality to allow you to effortlessly find nearby items. You can login with your Gmail and Facebook accounts."The screenshots below should give you an idea of how it works. You can also read the help page. Direct link to app at Google Play.
I received my PhD in EECS from UC Berkeley; my undergraduate degree is from IIT Kanpur. I joined The University of Texas in Spring 1996. Click here for my CV, and here for a list of co-authors.
My interests have moved from technology to applications. You can get an idea of what I am excited about these days from MS reports I recently supervised:
hits since October 1, 2001 (as counted by www.digits.com).