Table of Contents
Basic Intro
File me tickets or star the repo.
Solve all leetcode.com problems in Python
http://brain.dennyzhang.com/contact
People will ask silly algorithm questions.
About Code Interview
General Procedure
- Read and explain the question to the interviewr: Show you understand the questions
- Interviewer may ask: tell me what you are thinking
- Show your programming skills: how fluent you are with the language and lib
- Watch out Complexity trade-off, and you may need to explain them
- You can run unit test
Lessons Learned
- Learn to write bug-free code. Test-driven may lead you to waste time? If you think clearly and pass with once
- Understand data structure and common library in your languages: Python TreeNode, Python Interval
- Write your idea, before you coding. Update time/space complexity in advance.
- Know how to use library. Thus we can think and design in a higher layer. But make sure you can evaluate the time and space performance
- Think in a natural way, instead of a complicated way
- Time complexity of n is similar to 2n, but it's 100% faster in our real production!
- Don't write in your IDE. emacs/vi
- Choose the proper variable names: easy to understand
- Explain the usage of your key data structure
- Read other people's code, then learn something
Fundamental Prep
Check: BASIC.md
About this Github Repo
Commands
- Find amusing tickets
find . -name *.py | xargs grep -C 3 amusing | grep -v Author \
| grep -v Description | grep -v "\-\-" | grep -v "File:" | grep -v "^$" | grep https
Grow Influence
- Why people would want to use your GitHub repo? TODO: think about it!
Similar Websites
- http://brain.dennyzhang.com
- http://bangbingsyb.blogspot.com
- https://en.wikipedia.org/wiki/Online_judge
- https://www.interviewbit.com
- http://www.geeksforgeeks.org
- https://careercup.com
- http://blog.csdn.net/linhuanmars
- https://siddontang.gitbooks.io/leetcode-solution/content/
- https://github.com/algorhythms/LeetCode
- https://github.com/jw2013/Leetcode-Py
License
- Code is licensed under MIT License.
Basic tests
Basic Data Structure
- Bloom filter
- Hash
- Bit-map
- Heap
- Inverted index/Trie tree
- Segment tree
- Red-Black tree
Basic Methodologies
- Divide & Conquer
- Hash
- Sort: heap/quick/merge sort
- Bloom filter/Bitmap
- Inverted index/Trie tree
- External sorting
- Mapreduce
Misc
- Permutation & Combination
https://www.sigmainfy.com/blog/leetcode-handbook-all-problem-solution-index.html
-
LinkedIn list manipulation is disgusting: https://leetcode.com/problems/sort-list/
-
Easy puzzles are problems we will be dealing with in daily work
-
TODO: Complexity estimation for https://leetcode.com/problems/decode-ways/description/