Adnan Aziz

[Adnan's Picture] [Elements of Programming Interviews] [Algorithms for Interviews] [The Science of Interviewing]

Elements of Programming Interviews

Amit, Tsung-Hsien and I have completed "Elements of Programming Interviews"! This book vastly subsumes "Algorithms for Interviews". Buy it from Amazon.com. Here's the chapter on general problem solving techniques.
Have you ever...

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.

Scaligent - self-serve scalable business intelligence

Scaligent will revolutionize the way businesses look at data. It's a Silicon valley start-up founded by my PhD student Amit Prakash, and I'm proud to serve as a technical adviser. Scaligent is looking for very talented developers, specifically for high-performance C++ computing, Java middleware, and UIs. Check out the job openings at Scaligent.com. (Be prepared for some really hard interview problems, Amit's a co-author on Elements of Programming Interviews.)

Mobile apps

Alephus book trading app

I helped Jing-Tang (Keith) Jang develop Alephus, an Android app for trading textbooks, which is now available for free at the Android marketplace.

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.

Sport Mingles sports social network app

Check out Sport Mingles, a beautiful, easy-to-use sports social network app that helps you manage games, teams, and leagues. Its roots are in a class project done by the developer, Frank Huang, in my Advanced Programming Tools class.

All Things Google

I took leave over the 2008-2009 academic year to work at Google, and learned many wondeful things. I've gave a series of talks based on my experiences there to students at UT: What I learned at Google, My favorite google products, How to get into Google, Designing a modern website

Biography

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.

Contact information

Classes

Representative research

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:

Articles

Software

Advice on research and teaching

Good books I'm reading these days

Berkeley course notes

I'm scanning my course notes from Berkeley, starting with my favorite classes.

Useful tools

General coding tips, VIM reference, Code snippets, Pike on programming, C, gdb, emacs, LaTex, CVS, C++

Calendar

hits since October 1, 2001 (as counted by www.digits.com).