Elements-Of-Programming-Interviews
Elements-Of-Programming-Interviews copied to clipboard
This is a project that helps me and friends to prepare programming interviews using the book, "Elements of Programming Interviews"
ElementsOfProgrammingInterviews
This is a project that helps me and my friends to prepare programming interviews using the book, "Elements of Programming Interviews"
Update: As I started practising more and more questions, I realized that python is a great language however it is a high-level language. As someone who's usually more on the theoretical side, I decided to switch to Java which requires a bit more low-level thinking. Therefore, much of the code here will be continued in Java.
For Whom
People who have multiple work projects, a hectic scheudle and little time to prepare.
Introduction
Let's try to be really focused and efficient about studying different problems.
Language:
- Python3
- Java
Books:
- Elements Of Programming Interviews Python Insiders
- Introduction to Algorithms
- Cracking the Coding Interview
- Introduction to Programming in Java Note: This book has a lot of materials online, includes chapter and section summaries, and example code, etc.
Key focus areas:
- Data Structures
- Algorithms
- System Design
Other Resources:
- MIT Algorithm class
- Cracking the Coding Interview videos This is speically useful for refreshing your memories on most of the algorithms.
Chapter 4 Primitive Types
Chapter 1-3 are about non-technical parts of programming interviews, e.g. resume. We will skip these.
Key Concepts
- Booleans, integers and characters (in Python everything is an object)
- Build-in types: numerics, sequences, mappings, etc
- sys.maxsize
- sys.float_info
- XOR
- Two's complement
- Python: bit-wise operators
- Java: Bitwise and Bit Shift Operators
Problems
Each link takes you directly to the code with comments
- Count Bits in Python3
- Number Complement from Leetcode problem number 476
[Typo] At the bottom of page 23, it should be "-16>>2".