Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale
Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale__after

Description

Product Description

This is the Python version of our book. See the website for links to the C++ and Java version.Have you ever...

  • Wanted to work at an exciting futuristic company?
  • Struggled with an interview problem thatcould have been solved in 15 minutes?
  • Wished you could study real-world computing problems?

If so, you need to read Elements of Programming Interviews (EPI).

EPI is your comprehensive guide to interviewing for software development roles.

The core of EPI is a collection of over 250 problems with detailed solutions. The problems are representative of interview questions asked at leading software companies. The problems are illustrated with 200 figures, 300 tested programs, and 150 additional variants.

The book begins with a summary of the nontechnical aspects of interviewing, such as strategies for a great interview, common mistakes, perspectives from the other side of the table, tips on negotiating the best offer, and a guide to the best ways to use EPI. We also provide a summary of data structures, algorithms, and problem solving patterns.

Coding problems are presented through a series of chapters on basic and advanced data structures, searching, sorting, algorithm design principles, and concurrency. Each chapter stars with a brief introduction, a case study, top tips, and a review of the most important library methods. This is followed by a broad and thought-provoking set of problems.

A practical, fun approach to computer science fundamentals, as seen through the lens of common programming interview questions.
Jeff Atwood/Co-founder, Stack Overflow and Discourse

Review

"A practical, fun approach to computer science fundamentals, as seen through the lens of common programming interview questions."
Jeff Atwood / Co-founder, Stack Overflow and Discourse

"This book prepares the reader for contemporary software interviews, and also provides a window into how algorithmic techniques translate into the workplace. It emphasizes problems that stem from real-world applications and can be coded up in a reasonable time, and is a wonderful complement to a traditional computer science algorithms and data structures course."
Ashish Goel / Professor, Stanford University

"A wonderful resource for anyone preparing for a modern software engineering interview: work through the entire book, and you''ll find the actual interview a breeze. More generally, for algorithms enthusiasts, EPI offers endless hours of entertainment while simultaneously learning neat coding tricks."
Vineet Gupta / Principal Engineer, Google

From the Author

Have you ever...

  • Wanted to work at an exciting futuristic company?
  • Struggled with an interview problem that could have been solved in 15 minutes?
  • Wished you could study real-world computing problems?
If so, you need to read  Elements of Programming Interviews (EPI).

From the Back Cover

  • The core of EPI is a collection of 300 problems with detailed solutions, including over 150 figures and 300 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 includes 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.

About the Author

The inside story

All three of us successfully made it through the  Google interview process, and went on to work at  Google, where, among other things, we interviewed candidates for our teams.

We have complementary backgrounds (large company, startup, academia) and have held multiple roles (tech lead, CTO, consultant, professor), that gives us unparalleled insight into the job market.

In addition to Google, some of the other places we have worked at include  FacebookUber, Microsoft, IBM, and  Qualcomm.

About the authors

We co-developed algorithms and systems that are used by  over one billion people everyday. We have extensive experience with interviewing candidates, making hiring decisions, and being interviewed.

Adnan Aziz is a Research Scientist at  Facebook. Previously, he was a professor at the Department of Electrical and Computer Engineering at  The University of Texas at Austin, where he conducts research and teaches classes in applied algorithms. He received his PhD from  The University of California at Berkeley; his undergraduate degree is from the  Indian Institute of Technology at Kanpur.

Tsung-Hsien Lee is a Staff Software Engineer at  Toyota Research Institute. Previously, he worked at  Facebook,  Google, and  Uber. He received both his MS and undergraduate degrees from  National Tsing Hua University. He has a passion for designing and implementing algorithms. He likes to apply algorithms on every aspect of his life.He takes special pride in helping to organize  Google Code Jam 2014 and  Google Code Jam 2015.

Amit Prakash is a co-founder and CTO of  ThoughtSpot, a Silicon Valley startup. Previously, he was a Member of the Technical Staff at  Google, where he worked primarily on machine learning problems that arise in the context of online advertising. Before that he worked at  Microsoft in the web search team. He received his PhD from  The University of Texas at Austin; his undergraduate degree is from the  Indian Institute of Technology at Kanpur. 

Product information

Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Videos

Help others learn more about this product by uploading a video!
Upload video
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Customers who bought this item also bought

Customer reviews

4.4 out of 54.4 out of 5
531 global ratings

Reviews with images

Top reviews from the United States

Manu Rastogi
2.0 out of 5 starsVerified Purchase
Great questions but extremely poor explanations
Reviewed in the United States on November 25, 2018
The Good stuff: 1. Book has a very good set of problems. 2. Covers a lot of ground. 3. Problems in here are hard and one wouldn''t find them elsewhere. The bad stuff: 1. Really poor explanations. The authors assume that you know the algorithms... See more
The Good stuff:
1. Book has a very good set of problems.
2. Covers a lot of ground.
3. Problems in here are hard and one wouldn''t find them elsewhere.

The bad stuff:
1. Really poor explanations. The authors assume that you know the algorithms and for a lot of complex problems there is a one-two line explanation. If someone knew these he or she won''t be looking for a book.
2. While reading through I found myself increasingly looking on the web for solutions/explanations for the questions. Making the point moot for buying this book in the first place. Very frustrating!

I get it that the authors are accomplished and brilliant. But, explaining is something that they haven''t been able to provide in the book. Having said that it has some very good questions sprinkled.

My advice stick to Leetcode or Hackerrank.
84 people found this helpful
Helpful
Report
Brian
5.0 out of 5 starsVerified Purchase
Hands Down the best resource for Python Interviews - especially with EPI Judge
Reviewed in the United States on April 22, 2018
This is by far the best resource out there for someone who''s interviewing in Python. There''s a large variety of interesting questions, and the book includes challenging variants on many of those questions. These variants require even more creative algorithmic thinking.... See more
This is by far the best resource out there for someone who''s interviewing in Python. There''s a large variety of interesting questions, and the book includes challenging variants on many of those questions. These variants require even more creative algorithmic thinking.

One of the biggest advantages of this book is that it''s specifically geared towards Python. The Python solutions in this book are clean and well-thought out, and they habitualize good Python practices. It''s much more effective than picking up an interview preparation book that''s written in another programming language, and trying to port all the code over yourself.

The authors also give some serious consideration to space complexity, and there are some really clever solutions in the book that aren''t just time-efficient, but space-efficient as well.

The second part of this book is the Honors Class section, which provides harder problems to solve once you''re comfortable with the preceding material. It''s roughly 60 pages of significantly harder questions/solutions that are meant to solidify your problem solving skills.

I think the biggest strength of this book is the EPI Judge. It''s a Git repository that you can clone, and gives you a playground to test out your own solutions to the problems listed in the book. It will then run your code against a correct solution across many test cases, and let you know if your code passes validation.

I can''t understate how useful that is. Especially for problems involving graphs and trees, setting up your own data structures and test cases can be an incredibly time-consuming process. If you go through this book and solve the problems with EPI Judge, you will be a much stronger interviewing candidate.

UPDATE: Received 4 job offers from 6 on-sites, started at Google in October 2018.
53 people found this helpful
Helpful
Report
Mandeep
3.0 out of 5 starsVerified Purchase
Great problems, terrible code
Reviewed in the United States on June 5, 2020
There are a lot of positives in this book. The strategies, interview prep, and types of problems are all great. Each chapter starts with some good details about how to attack the specific problems you''ll see. Having said that I can''t recommend this book. The... See more
There are a lot of positives in this book. The strategies, interview prep, and types of problems are all great. Each chapter starts with some good details about how to attack the specific problems you''ll see. Having said that I can''t recommend this book.

The authors mention that the code solutions are "Pythonic". However, this is not the case. In fact a lot of the code in this book seems to be written by someone who doesn''t seem to grasp pedagogy. See the solution for string to int:

def string_to_int(s):
return functools.reduce(lamba running_sum, c: running_sum * 10 + string.digits.index(c), s[s[0]] == ''-'', 0) * (-1 if s[0] == ''-'' else 1)

Are you kidding me? How is this solution even remotely pedagogical, or even an acceptable solution in a coding interview?

Instead of buying this book, I would just grind Leetcode. There are plenty of lists available for free where you can work on problems seen in interviews. The discussion shows multiple solutions from people so that you can find a solution that makes sense to you in case you don''t solve the problem.

All in all, this book has really good explanations and information, but does not provide code in an acceptable pedagogical manner.
28 people found this helpful
Helpful
Report
Elyse
2.0 out of 5 starsVerified Purchase
Bad coding style - unnecessarily complex
Reviewed in the United States on August 22, 2018
I love Python. It''s a beautiful, clear, simple language. It''s perfect for whiteboarding. I do not love this book. The coding style in many cases is just... bad. The authors often use wonky Python tricks at the cost of readability and simplicity. For example,... See more
I love Python. It''s a beautiful, clear, simple language. It''s perfect for whiteboarding. I do not love this book.

The coding style in many cases is just... bad. The authors often use wonky Python tricks at the cost of readability and simplicity. For example, their definition of a BST search is a *one-line* nested ternary conditional (chapter 14, page 202). I sanity-checked with a friend who does interviews, and he said he would DOCK points for style if a candidate tried to pull something like that.

In addition, the explanations in many sections are just confusingly worded. And sometimes, the presented solution is completely unintuitive or badly styled - like using global variables instead of passing parameters.

Nothing is *wrong* per se, but if you''re trying to learn best practices for whiteboarding clean, simple code, this book is useful only as a supplement or for very advanced programmers who are already comfortable with whiteboarding.
54 people found this helpful
Helpful
Report
VTReader
5.0 out of 5 starsVerified Purchase
Better than Cracking the Coding Interview
Reviewed in the United States on May 11, 2017
This is the book I was looking for and I find it better than Cracking the Coding Interview for several reasons. 1. It''s written in Python 3.6, which is a more comfortable language than Java or C++ for beginners. 2. It covers bitwise operations and data structures,... See more
This is the book I was looking for and I find it better than Cracking the Coding Interview for several reasons.
1. It''s written in Python 3.6, which is a more comfortable language than Java or C++ for beginners.
2. It covers bitwise operations and data structures, showing how to implement them from scratch and common interview problems
3. Good coverage of standard algorithm questions, though this is not an algorithms book per se.
4. A lengthy section called "Honors Class" with reach problems that exceed the difficulty in most tech interviews but are nonetheless fascinating to solve and build up confidence.

All in all a great book. I wish I''d found it sooner.
52 people found this helpful
Helpful
Report
Brandon
3.0 out of 5 starsVerified Purchase
If it had the variants, would be five stars
Reviewed in the United States on October 24, 2018
I''ve been going through every problem in the book, and the content itself is fantastic. You can definitely tell there are multiple writers, and each one has their own style of solving problems. Usually this is fine, but sometimes there are problems that are not explained as... See more
I''ve been going through every problem in the book, and the content itself is fantastic. You can definitely tell there are multiple writers, and each one has their own style of solving problems. Usually this is fine, but sometimes there are problems that are not explained as well as others, or the explanation is fine, but they try and get too "cute" with the solution.

My biggest gripe is that some of the more popular problems that are asked in interviews have variant problems. These variants are usually more interesting and more difficult than the "core" problem. Unfortunately, none of these variants have printed solutions. I understand it''s meant as an exercise for the reader, but there''s so many problems in here that I''d rather see solutions to the variants than some of the cheesier problems.

This is still my number one pick for interview books though. The quality and difficulty of the problems are so much better than Cracking the Coding Interview.
15 people found this helpful
Helpful
Report
VIP customer
1.0 out of 5 starsVerified Purchase
such a waste of time
Reviewed in the United States on February 28, 2021
Ppl said the book is good, and the section is kind of nice to work on as guidance book before your section training in Leetcode. but you know what, the language is so hard to understand, I dont know who wrote these sentences. Taking hours to understand. And the logic in the... See more
Ppl said the book is good, and the section is kind of nice to work on as guidance book before your section training in Leetcode. but you know what, the language is so hard to understand, I dont know who wrote these sentences. Taking hours to understand. And the logic in the paragraph is just painful to follow. The authors are expecting ppl could read their minds? or just expecting everyone shares similar background as they did especially after they create a book on this topic. I mean so little things why create such a complexity for ppl to work on especially someone who dont have much background. But if ppl have background on these things, who will read this book. Such a pain, get professors or PhD students to work on the language. This can be done in an easier way!
3 people found this helpful
Helpful
Report
bike guy
5.0 out of 5 starsVerified Purchase
Its so much better than Cracking the Coding Interview
Reviewed in the United States on March 4, 2018
Its so much better than Cracking the Coding Interview, its hardly even comparable. I will go above and beyond and say this: the writers of this book are insanely talented. They have a very large number of difficult problems, explain them clearly, and have clear, working... See more
Its so much better than Cracking the Coding Interview, its hardly even comparable. I will go above and beyond and say this: the writers of this book are insanely talented. They have a very large number of difficult problems, explain them clearly, and have clear, working code. Working through the problems will make you feel humbled, but substantially stronger in data structures and algorithms.
13 people found this helpful
Helpful
Report

Top reviews from other countries

Thepnathi Stephenson
4.0 out of 5 starsVerified Purchase
Great contents, poor paper quality
Reviewed in the United Kingdom on October 5, 2020
Excellent book for technical interview. You most likely can pass the interview by going through most problems in the book. The book contains a great variety of moderate to advanced problems. Much more in depth than Cracking the Coding Interview. In addition to the quality...See more
Excellent book for technical interview. You most likely can pass the interview by going through most problems in the book. The book contains a great variety of moderate to advanced problems. Much more in depth than Cracking the Coding Interview. In addition to the quality problems, the author also shows a lot of tricks with Python 3. Great way to learn the language! Downside is the paper quality, if you highlight the text, you can see the highlighter mark on the back of the page.
One person found this helpful
Report
Amazon Customer
4.0 out of 5 starsVerified Purchase
Great book for python3 prep.
Reviewed in the United Kingdom on August 18, 2020
Great book. Well written and clearly shows the efforts the authors have put into it. I am also grateful for the online EPI materials provided. Only negative is that I really dont like the binding used on the book, e.g. as you can see in the second image, when opened, the...See more
Great book. Well written and clearly shows the efforts the authors have put into it. I am also grateful for the online EPI materials provided. Only negative is that I really dont like the binding used on the book, e.g. as you can see in the second image, when opened, the contents on the right side of the left page become out of sight.
Report
Pradeep Verma
4.0 out of 5 starsVerified Purchase
Between Awesome to Brilliant
Reviewed in India on May 11, 2019
I am an IT guy working for a service based IT company where copy paste is the norm. I used to ask for reference before taking up any new task(the usual Indian IT mindset). I was a little skeptical to think if this was the right approach of doing things; hence the motivation...See more
I am an IT guy working for a service based IT company where copy paste is the norm. I used to ask for reference before taking up any new task(the usual Indian IT mindset). I was a little skeptical to think if this was the right approach of doing things; hence the motivation to buy this book. Pros: -Python Language - Explanation - Paper Format, that you can read before you sleep and after you wake up, I don''t like staring the computer screen and reading PDFs. - A very good collection of problems ( I am on page 55 today, chapter 5) - Reader friendly - Written in Python 3.5 Cons: - Not a beginner friendly, you need to have a good grasp on language before you jump to buy this book. - Explanation may require two three rounds of studying again and trying to understand with paper & pencil ( this is good btw, but you cannot read that as a late night story book :-)) Overall, a masterpiece in the collection of DSA books I have. Now one point to note , nearly all the question you may find on many coding platforms, but its the explanation , the run-time analysis, the critical thinking and the approach that sets this book and its authors apart. Its not just finding the answer, but finding the best fit and the fastest solution within the given constraints. I am giving this four stars as it is a pricey book considering the Indian IT pay.
17 people found this helpful
Report
Reviewer
5.0 out of 5 starsVerified Purchase
Excellent resource
Reviewed in the United Kingdom on August 11, 2019
Excellent resource for interview prep if you''re using Python as your programming language. I love the study guide given in this book depending on the time period you has as well (weekend hackathon, 1 week, 1 month, etc.). High quality questions and answers. The Python 3...See more
Excellent resource for interview prep if you''re using Python as your programming language. I love the study guide given in this book depending on the time period you has as well (weekend hackathon, 1 week, 1 month, etc.). High quality questions and answers. The Python 3 answers are great, I''m leaning new things about Python 3 as well although I''ve been using it for a few years now!
Report
Sarjan
5.0 out of 5 starsVerified Purchase
Good book for practicing problems
Reviewed in the United Kingdom on July 10, 2018
Good book for practicing problems, however, it assumes you already have quite a bit of python knowledge so I would recommend another book if you''re just learning.
Report
See all reviews
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Customers who viewed this item also viewed

Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

What other items do customers buy after viewing this item?

Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Pages with related products.

  • applied mathematics books
  • Facebook Books
  • Force Tables
  • Writing Tools

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale

Elements of online sale Programming Interviews popular in Python: The Insiders' Guide sale