10 вопросов
Практика
Можешь объяснить, что охватывает system design и описать его критическую роль в разработке ПО?
Можешь объяснить теорему CAP и описать, как она применяется к компромиссам при проектировании распределённых систем?
Какие ключевые различия между вертикальным и горизонтальным масштабированием в проектировании систем, и каковы компромиссы между каждым подходом?
Можешь объяснить ключевые метрики производительности, используемые в системном дизайне, конкретно определив latency, throughput и availability, и как измеряется каждая из них?
Как ты определяешь масштабируемость в проектировании систем и какие ключевые характеристики присущи масштабируемой системе?
Можешь объяснить концепцию load balancing в системном дизайне, включая его назначение, как он распределяет трафик между серверами и какие преимущества он дает с точки зрения надежности и производительности?
Какие ключевые различия между функциональными и нефункциональными требованиями, и почему важно собрать оба типа требований на начальном этапе проектирования системы?
Можешь объяснить, что такое bottleneck в контексте system design и описать частые типы bottleneck'ов, которые могут влиять на производительность системы?
Как ты подходишь к оценке требований системы к ресурсам, таким как ёмкость хранилища, пропускная способность и мощность серверов? И почему этот процесс оценки важен при проектировании системы?
Чем отличаются stateless и stateful архитектуры серверов с точки зрения управления сессиями, масштабируемости и обработки запросов?