Tin mới nhất

Menu

Browsing "Older Posts"

Chia Sẻ Khóa Học Đi Sâu Vào System Design Interview [SKILL PATH] [Khóa 6763 A]

01 tháng 4 2024 / No Comments

Thiết kế hệ thống (System design) là nền tảng để xây dựng các hệ thống có thể mở rộng, một kỹ năng cốt lõi cần có cho tất cả kỹ sư phần mềm. Sự hiểu biết của bạn về thiết kế hệ thống sẽ quyết định trình độ kỹ thuật của bạn. Lộ trình này đi theo cách tiếp cận bottom-up và chứa các thành phần nền tảng mà một kỹ sư phần mềm cần chuẩn bị cho cuộc phỏng vấn thiết kế hệ thống. Bắt đầu bằng việc ôn lại nhanh về hệ thống phân tán (distributed systems), building blocks và web architectures. Bạn sẽ học RESHADED pattern để thiết kế các hệ thống quy mô lớn như Netflix, Facebook, Quora, v.v. Cuối cùng, một module machine learning system design sẽ trang bị cho bạn những phương pháp hay nhất để thiết kế, phát triển và tích hợp các mô hình máy học trong production ở quy mô lớn.

Mục tiêu học tập:

  • ✓ Review các khái niệm cơ bản về distributed system design.
  • ✓ Tìm hiểu software architecture fundamentals.
  • ✓ Nhận được cái nhìn tổng quan về buidling blocks cần thiết để thiết kế một hệ thống.
  • ✓ Thực hành các kỹ năng thiết kế hệ thống của bạn.
  • ✓ Áp dụng các machine learning model vào các hệ thống phần mềm hiện đại.

Nội dung lộ trình:

Mudule 1: Kiến trúc phần mềm trong các ứng dụng:

Mudule này cung cấp một cái nhìn sâu sắc về thế giới kiến ​​trúc phần mềm. Nó được thiết kế để trang bị cho các software developer và architect kiến ​​thức và kỹ năng cần thiết để tạo, đánh giá và tối ưu hóa hệ thống phần mềm. Nó bao gồm một loạt các chủ đề quan trọng để đảm bảo nền tảng vững chắc về các nguyên tắc và chiến lược kiến ​​trúc.

  • ✓ 1. Bắt đầu.
  • ✓ 2. Architecture Meta-Frame.
  • ✓ 3. Architectural Styles & Strategies.
  • ✓ 4. Phần kết luận.

Mudule 2: Distributed Systems:

Mudule này nói về việc thiết lập các nguyên tắc cơ bản của các Distributed System. Nó giải thích phạm vi chức năng của chúng bằng cách thảo luận những gì hệ thống phân tán có thể và không thể đạt được. Nó cũng bao gồm các thuật toán và giao thức cơ bản của hệ thống phân tán thông qua các ví dụ và sơ đồ dễ làm theo, minh họa suy nghĩ đằng sau các quyết định thiết kế và mở rộng cách chúng có thể được thực hiện.

  • ✓ 1. Giới thiệu về Distributed Systems.
  • ✓ 2. Các khái niệm và định lý cơ bản.
  • ✓ 3. Phần kết luận.

Mudule 3: System Design Essentials:

Thiết kế hệ thống là quá trình xác định các thành phần cũng như sự tích hợp, API và data model của chúng để xây dựng các hệ thống quy mô lớn. Mobile và cloud computing, kết hợp với khả năng truy cập internet mở rộng, khiến thiết kế hệ thống trở thành kỹ năng cốt lõi của nhà phát triển hiện đại. Mudule này cung cấp một cái nhìn tổng quan ngắn gọn về các khái niệm cần thiết để thiết kế các hệ thống có thể mở rộng.

  • ✓ 1. Giới thiệu.
  • ✓ 2. Abstractions.
  • ✓ 3. Non-functional System Characteristics.
  • ✓ 4. Back-of-the-envelope Calculations.
  • ✓ 5. Phần kết luận.

Mudule 4: Basic Building Blocks for Modern System Design:

Trong module này, chúng ta sẽ tìm hiểu về building blocks của các hệ thống hiện đại, mỗi thành phần trong đó là một ứng dụng hoàn toàn có khả năng mở rộng. Những building block này là nền tảng để thiết kế các ứng dụng có thể mở rộng. Mỗi building block phục vụ một mục đích riêng và có tầm quan trọng riêng trong các ứng dụng có thể mở rộng.

  • ✓ 1. Giới thiệu về Building Blocks.
  • ✓ 2. Domain Name System.
  • ✓ 3. Load balancers.
  • ✓ 4. Databases.
  • ✓ 5. Key-value Store.
  • ✓ 6. Content Delivery Network (CDN).
  • ✓ 7. Sequencer.
  • ✓ 8. Distributed Monitoring.
  • ✓ 9. Monitor Server-side Errors.
  • ✓ 10. Monitor Client-side Errors.
  • ✓ 11. Distributed Cache.
  • ✓ 12. Distributed Messaging Queue.
  • ✓ 13. Pub-sub.
  • ✓ 14. Rate Limiter.
  • ✓ 15. Blob Store.
  • ✓ 16. Distributed Search.
  • ✓ 17. Distributed Logging.
  • ✓ 18. Distributed Task Scheduler.
  • ✓ 19. Sharded Counters.
  • ✓ 20. Phần kết luận.

Mudule 5: Design Problems:

Module này trình bày RESHADED framework để thiết kế các web-scale application bằng cách xác định các yêu cầu, ràng buộc và giả định. Sau đó, nó đi sâu vào quy trình thiết kế từng bước. Ở phần sau của module này, chúng ta sẽ thiết kế một số service phổ biến bằng cách sử dụng các modular building block theo các kết hợp độc đáo.

  • ✓ 1. RESHADED Approach for System Design.
  • ✓ 2. Design YouTube.
  • ✓ 3. Design Quora.
  • ✓ 4. Design Google Maps.
  • ✓ 5. Design một Proximity Service / Yelp.
  • ✓ 6. Design Uber.
  • ✓ 7. Design Twitter.
  • ✓ 8. Design Newsfeed System.
  • ✓ 9. Design Instagram.
  • ✓ 10. Design một URL Shortening Service / TinyURL.
  • ✓ 11. Design một Web Crawler.
  • ✓ 12. Design WhatsApp.
  • ✓ 13. Design Typeahead Suggestion.
  • ✓ 14. Design một Collaborative Document Editing Service / Google Docs.
  • ✓ 15. Spectacular Failures.
  • ✓ 16. Phần kết luận.

Mudule 6: Machine Learning System Design:

Machine learning system design là một thành phần quan trọng của bất kỳ cuộc phỏng vấn machine learning nào. Khả năng giải quyết vấn đề, xác định yêu cầu và thảo luận về sự cân bằng có thể giúp chúng ta nổi bật giữa hàng trăm ứng viên khác. Mudule này sẽ thảo luận về các kỹ thuật mô hình, cùng với các phương pháp hay nhất trong việc áp dụng các mô hình học máy có thể mở rộng trong production. Sau khi hoàn thành mudule này, chúng ta sẽ có thể áp dụng và tận dụng kiến ​​thức từ các nhà nghiên cứu hàng đầu tại các công ty công nghệ. Chúng ta sẽ có kiến ​​thức cập nhật về kỹ thuật mô hình từ hàng trăm bài báo nghiên cứu và công nghiệp mới nhất. Chúng ta thậm chí có thể gây ấn tượng với người phỏng vấn sau khi học xong các bài học của học phần này.

  • ✓ 1. Machine Learning Primer.
  • ✓ 2. Video Recommendation.
  • ✓ 3. Feed Ranking.
  • ✓ 4. Ad Click Prediction.
  • ✓ 5. Rental Search Ranking.
  • ✓ 6. Estimate Food Delivery Time.
  • ✓ 7. Phần kết luận.


NHẬN GET EBOOK TRÊN AMAZON THEO YÊU CẦU




Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
Tuyên bố miễn trừ bản quyền:
Trang web này không lưu trữ bất kỳ tệp nào trên máy chủ của nó. Chúng tôi chỉ lập chỉ mục và liên kết đến nội dung được cung cấp bởi các trang web khác. Vui lòng liên hệ với các nhà cung cấp nội dung để xóa nội dung bản quyền nếu có và gửi email cho chúng tôi, chúng tôi sẽ xóa các liên kết hoặc nội dung có liên quan ngay lập tức.