- Регистрация
- 1 Дек 2015
- Сообщения
- 147.458
- Реакции
- 777.037
System Design for Interviews and Beyond [Mikhail Smarshchok] [System Design Thinking]
Отличный курс от практика System Design. Записывайся!
ОГЛАВЛЕНИЕ / Course curriculum
1. Introduction
1.1. Course introduction
1.2. Who will benefit from the course and how
1.3. Course overview
2. How to define system requirements
2.1. System requirements
2.2. Functional requirements
2.3. High availability
2.4. Fault tolerance, resilience, reliability
2.5. Scalability
2.6. Performance
2.7. Durability
2.8. Consistency
2.9. Maintainability, security, cost
2.10. Summary of system requirements
3. How to achieve certain system qualities with the help of hardware
3.1. Regions, availability zones, data centers, racks, servers
3.2. Physical servers, virtual machines, containers, serverless
3.3. Fundamentals of reliable, scalable, and fast communication
3.4. Synchronous vs asynchronous communication
3.5. Asynchronous messaging patterns
3.6. Network protocols
3.7. Blocking vs non-blocking I/O
3.8. Data encoding formats
3.9. Message acknowledgment
4. How to improve system performance with caching
4.1. Deduplication cache
4.2. Metadata cache
5. The importance of queues in distributed systems
5.1. Queue
5.2. Full and empty queue problems
5.3. Start with something simple
5.4. Blocking queue and producer-consumer pattern
5.5. Thread pool
5.6. Big compute architecture
6. Data store internals
6.1. Log
6.2. Index
6.3. Time series data
6.4. Simple key-value database
6.5. B-tree index
6.6. Embedded database
6.7. RocksDB
6.8. LSM-tree vs B-tree
6.9. Page cache
7. How to build efficient communication in distributed systems
7.1. Push vs pull
7.2. Host discovery
7.3. Service discovery
7.4. Peer discovery
7.5. How to choose a network protocol
7.6. Network protocols in real-life systems
7.7. Video over HTTP
7.8. CDN
7.9. Push and pull technologies
7.10. Push and pull technologies in real-life systems
7.11. Large-scale push architectures
8. How to deliver data reliably
8.1. What else to know to build reliable, scalable, and fast systems
8.2. Timeouts
8.3. What to do with failed requests
8.4. When to retry
8.5. How to retry
8.6. Message delivery guarantees
8.7. Consumer offsets
9. How to deliver data quickly
9.1. Batching
9.2. Compression
10. How to deliver data at large scale
10.1. How to scale message consumption
10.2. Partitioning in real-life systems
10.3. Partitioning strategies
10.4. Request routing
10.5. Rebalancing partitions
10.6. Consistent hashing
11. How to protect servers from clients
11.1. System overload
11.2. Autoscaling
11.3. Autoscaling system design
11.4. Load shedding
11.5. Rate limiting
11.6. How to protect clients from servers
11.7. Synchronous and asynchronous clients
11.8. Circuit breaker
11.9. Fail-fast design principle
11.10. Bulkhead
11.11. Shuffle sharding
12. Epilogue
12.1. The end (but not quite)
Вы изучите темы / Course syllabus
Спойлер: Темы
Видео автора:
systemdesignthinking.thinkific.com/courses/system-design-for-interviews-and-beyond
- ПРОДАЖНИК
СКАЧАТЬ
Отличный курс от практика System Design. Записывайся!
ОГЛАВЛЕНИЕ / Course curriculum
1. Introduction
1.1. Course introduction
1.2. Who will benefit from the course and how
1.3. Course overview
2. How to define system requirements
2.1. System requirements
2.2. Functional requirements
2.3. High availability
2.4. Fault tolerance, resilience, reliability
2.5. Scalability
2.6. Performance
2.7. Durability
2.8. Consistency
2.9. Maintainability, security, cost
2.10. Summary of system requirements
3. How to achieve certain system qualities with the help of hardware
3.1. Regions, availability zones, data centers, racks, servers
3.2. Physical servers, virtual machines, containers, serverless
3.3. Fundamentals of reliable, scalable, and fast communication
3.4. Synchronous vs asynchronous communication
3.5. Asynchronous messaging patterns
3.6. Network protocols
3.7. Blocking vs non-blocking I/O
3.8. Data encoding formats
3.9. Message acknowledgment
4. How to improve system performance with caching
4.1. Deduplication cache
4.2. Metadata cache
5. The importance of queues in distributed systems
5.1. Queue
5.2. Full and empty queue problems
5.3. Start with something simple
5.4. Blocking queue and producer-consumer pattern
5.5. Thread pool
5.6. Big compute architecture
6. Data store internals
6.1. Log
6.2. Index
6.3. Time series data
6.4. Simple key-value database
6.5. B-tree index
6.6. Embedded database
6.7. RocksDB
6.8. LSM-tree vs B-tree
6.9. Page cache
7. How to build efficient communication in distributed systems
7.1. Push vs pull
7.2. Host discovery
7.3. Service discovery
7.4. Peer discovery
7.5. How to choose a network protocol
7.6. Network protocols in real-life systems
7.7. Video over HTTP
7.8. CDN
7.9. Push and pull technologies
7.10. Push and pull technologies in real-life systems
7.11. Large-scale push architectures
8. How to deliver data reliably
8.1. What else to know to build reliable, scalable, and fast systems
8.2. Timeouts
8.3. What to do with failed requests
8.4. When to retry
8.5. How to retry
8.6. Message delivery guarantees
8.7. Consumer offsets
9. How to deliver data quickly
9.1. Batching
9.2. Compression
10. How to deliver data at large scale
10.1. How to scale message consumption
10.2. Partitioning in real-life systems
10.3. Partitioning strategies
10.4. Request routing
10.5. Rebalancing partitions
10.6. Consistent hashing
11. How to protect servers from clients
11.1. System overload
11.2. Autoscaling
11.3. Autoscaling system design
11.4. Load shedding
11.5. Rate limiting
11.6. How to protect clients from servers
11.7. Synchronous and asynchronous clients
11.8. Circuit breaker
11.9. Fail-fast design principle
11.10. Bulkhead
11.11. Shuffle sharding
12. Epilogue
12.1. The end (but not quite)
Вы изучите темы / Course syllabus
Спойлер: Темы
Видео автора:
systemdesignthinking.thinkific.com/courses/system-design-for-interviews-and-beyond
- ПРОДАЖНИК
СКАЧАТЬ
Для просмотра скрытого содержимого вы должны зарегистрироваться
Возможно, Вас ещё заинтересует:
- Что нам осталось от «Травиаты». История и тайны самой знаменитой оперы Верди [Прямая речь] [Илья Кухаренко]
- [Макраме] Диван «Цезарь» [relax_gamak] [Наталья Никулина]
- По ту сторону правды: нейролингвистическое программирование как оружие информационно-пропагандистской войны [Всеволод Зеленин]
- [ИИ] Чат-бот с искусственным интеллектом ChatGPT [openai.com] [Team №17, на 1 месяц по 15 человек]
- Терапия денежных отношений [Зина Шамоян]
- [Лепка] Кукольная миниатюра - DIV полимерная глина. Творческий клуб. Октябрь [povidlov_studio]