Mình thấy bài viết này hay nên post cho các bạn sinh viên tham khảo. Nhiều phần trong danh sách này được giảng dạy ở trường đại học nên các bạn có thể đầu tư đúng mức từ bây giờ để có 1 nền tảng vững chắc.
Nguyên gốc tiếng Anh: https://github.com/jwasham/coding-interview-university
Bản dịch tiếng Việt: https://github.com/jwasham/coding-in...s/README-vi.md
Do giới hạn về độ dài nội dung nên mình chỉ đăng phần mục lục, bản đầy đủ các bạn xem ở 2 link trên.
--------A complete computer science study plan to become a software engineer-----
I originally created this as a short to-do list of study topics for becoming a software engineer, but it grew to the large list you see today. After going through this study plan, I got hired as a Software Development Engineer at Amazon! You probably won't have to study as much as I did. Anyway, everything you need is here.
I studied about 8-12 hours a day, for several months. This is my story: Why I studied full-time for 8 months for a Google interview
The items listed here will prepare you well for a technical interview at just about any software company, including the giants: Amazon, Facebook, Google, and Microsoft.
Best of luck to you!
Table of Contents
---------------- Everything below this point is optional ----------------
Additional Resources
Nguyên gốc tiếng Anh: https://github.com/jwasham/coding-interview-university
Bản dịch tiếng Việt: https://github.com/jwasham/coding-in...s/README-vi.md
Do giới hạn về độ dài nội dung nên mình chỉ đăng phần mục lục, bản đầy đủ các bạn xem ở 2 link trên.
--------A complete computer science study plan to become a software engineer-----
I originally created this as a short to-do list of study topics for becoming a software engineer, but it grew to the large list you see today. After going through this study plan, I got hired as a Software Development Engineer at Amazon! You probably won't have to study as much as I did. Anyway, everything you need is here.
I studied about 8-12 hours a day, for several months. This is my story: Why I studied full-time for 8 months for a Google interview
The items listed here will prepare you well for a technical interview at just about any software company, including the giants: Amazon, Facebook, Google, and Microsoft.
Best of luck to you!
Table of Contents
- What is it?
- Why use it?
- How to use it
- Don't feel you aren't smart enough
- About Video Resources
- Interview Process & General Interview Prep
- Pick One Language for the Interview
- Book List
- Before you Get Started
- What you Won't See Covered
- Prerequisite Knowledge
- The Daily Plan
- Algorithmic complexity / Big-O / Asymptotic analysis
- Data Structures
- More Knowledge
- Trees
- Trees - Notes & Background
- Binary search trees: BSTs
- Heap / Priority Queue / Binary Heap
- balanced search trees (general concept, not details)
- traversals: preorder, inorder, postorder, BFS, DFS
- Sorting
- selection
- insertion
- heapsort
- quicksort
- merge sort
- Graphs
- directed
- undirected
- adjacency matrix
- adjacency list
- traversals: BFS, DFS
- Even More Knowledge
- System Design, Scalability, Data Handling (if you have 4+ years experience)
- Final Review
- Coding Question Practice
- Coding exercises/challenges
- Once you're closer to the interview
- Your Resume
- Be thinking of for when the interview comes
- Have questions for the interviewer
- Once You've Got The Job
---------------- Everything below this point is optional ----------------
Additional Resources
- Additional Books
- Additional Learning
- Compilers
- Emacs and vi(m)
- Unix command line tools
- Information theory
- Parity & Hamming Code
- Entropy
- Cryptography
- Compression
- Computer Security
- Garbage collection
- Parallel Programming
- Messaging, Serialization, and Queueing Systems
- A*
- Fast Fourier Transform
- Bloom Filter
- HyperLogLog
- Locality-Sensitive Hashing
- van Emde Boas Trees
- Augmented Data Structures
- Balanced search trees
- AVL trees
- Splay trees
- Red/black trees
- 2-3 search trees
- 2-3-4 Trees (aka 2-4 trees)
- N-ary (K-ary, M-ary) trees
- B-Trees
- k-D Trees
- Skip lists
- Network Flows
- Disjoint Sets & Union Find
- Math for Fast Processing
- Treap
- Linear Programming
- Geometry, Convex hull
- Discrete math
- Machine Learning
- Additional Detail on Some Subjects
- Video Series
- Computer Science Courses
- Papers