See "Interview Guide > Practice" on my GitBook
I hate programming interviews.
- Interviews reward people who are good at interviewing
- Interviews have no direct correlation with a person's ability to do their job.
- They usually require a special "trick" to solve.
- You are at the mercy of the interviewer.
- If your interviewer sucks, so will your interview.
- The system is a black box.
- Computer science questions suck, they don't always directly represent what you may be doing on a day to day basis.
Special Tricks To Solve Programming Questions
- Binary Search
- Exponential Growth
- Using maps or hashes
- Using a combination of data structures (for example: LRU Cache that uses Maps and a Doubly Linked List)
Best to Worse:
- O(log N)
- O(N log N)