Tự ôn tập phỏng vấn về lập trình
Tự ôn tập phỏng vấn về lập trình (Coding Interview University)
🔖 Gợi ý từ Admin
📝 Tài liệu phỏng vấn kiến thức lập trình: Xem tại đây!!!
📌 Tìm hiểu về thuật toán: Xem tại đây!!!
📌 Roadmaps - Lộ trình trở thành một lập trình viên: Xem tại đây!!!
⚡️ Cheatsheet các ngôn ngữ lập trình: Xem tại đây!!!
⚡️ Handbook lập trình: Xem tại đây!!!
Ban đầu, đây chỉ là một danh sách to-do (danh sách các việc cần làm) ngắn về các chủ đề phải ôn tập của John Washam, để trở thành một kỹ sư phần mềm. Nhưng rồi nó lớn dần lên như ngày nay. Sau khi đi hết con đường này, John Washam đã được tuyển vào vị trí Software Development Engineer ở Amazon! Bạn có lẽ không cần phải học nhiều như John Washam đã học. Nhưng dù sao, mọi thứ bạn cần ở đây.
Những chủ đề này sẽ chuẩn bị cho bạn nền tảng kiến thức vững vàng cho bất kỳ công ty phần mềm nào, bao gồm cả những gã khổng lồ như: Amazon, Facebook, Google hay Microsoft.
Bài viết này chỉ tổng hợp mục lục. Để đọc, các bạn truy cập vào Github coding-interview-university
Hãy ủng hộ cho tác giả bằng cách tặng họ 1 ⭐️ nhé !
Bài viết có hỗ trợ đa ngôn ngữ (bao gồm cả tiếng việt)
- Bản gốc: nhấn vào đây !!!
- Bản tiếng việt: nhấn vào đây !!!
Tác giả: John Washam
MỤC LỤC
- Giới thiệu
- Mục lục
- Vì sao tôi cần tài liệu này?
- Sử dụng tài liệu này như thế nào?
- Đừng nghĩ rằng bạn không đủ thông minh
- Về nguồn video
- Quy trình phỏng vấn & các bước chuẩn bị tổng quát
- Chọn ngôn ngữ lập trình cho cuộc phỏng vấn
- Danh mục sách
- Trước khi bắt đầu
- Những phần không được đề cập
- Kế hoạch hàng ngày
- Kiến thức tiên quyết
- Độ phức tạp của thuật toán / Big-O / Phân tích tiệm cận
- Cấu trúc dữ liệu
- Kiến thức ngoài
- Cây
- Sắp xếp
- Đồ thị
- Kiến thức bổ sung
- Đệ quy
- Quy hoạch động
- Lập trình hướng đối tượng
- Mẫu thiết kế
- Tổ hợp và Xác Suất
- NP, NP-Complete và thuật toán xấp xỉ gần đúng
- Bộ nhớ cache
- Tiến trình và tiểu trình
- Các bài nghiên cứu
- Kiểm thử phần mềm
- Lập lịch
- Cài đặt các hàm hệ thống
- Tìm kiếm và xử lý chuỗi
- Tries
- Cách biểu diễn số thực
- Unicode
- Endianness
- Mạng máy tính
- Thiết kế hệ thống, Khả năng mở rộng, Xử lý dữ liệu
- Tổng kết
- Thực hành các câu hỏi về lập trình
- Giải bài tập lập trình
- Khi bạn tiến gần đến kỳ phỏng vấn
- Lý lịch (Resume) của bạn
- Hãy nghĩ đến những thứ bạn sẽ được hỏi
- Chuẩn bị câu hỏi dành cho phỏng vấn viên
- Khi bạn được nhận việc
- Sách bổ sung
- Học thêm
- Trình biên dịch
- Emacs và vi(m)
- Các công cụ chạy trên dòng lệnh của Unix
- Lý thuyết thông tin
- Parity & Hamming Code (videos)
- Entropy
- Mã hóa
- Thuật toán nén
- Bảo mật
- Trình dọn rác
- Lập trình song song
- Messaging, Serialization, và Queueing Systems
- Fast Fourier Transform
- Bloom Filter
- HyperLogLog
- Locality-Sensitive Hashing
- van Emde Boas Trees
- Augmented Data Structures
- Balanced search trees
- k-D Trees
- Skip lists
- Network Flows
- Math for Fast Processing
- Treap
- Linear Programming (videos)
- Geometry, Convex hull (videos)
- Discrete math
- Machine Learning
- Go
- Đọc thêm về một số đề tài
- Union-Find
- Đi sâu hơn vào quy hoạch động (videos)
- Xử lý đồ thị nâng cao (videos)
- MIT Xác suất (nặng toán học, và hãy đi chậm chậm, sẽ tốt cho các vấn đề toán học khác) (videos)
- So khớp chuỗi
- Sắp xếp
- Các chuỗi Video
- Các khóa học khoa học máy tính