Публикации по теме 'system-design-interview'
Разработка генератора уникальных идентификаторов в распределенных системах
Разъяснения требований
Идентификаторы должны быть уникальными Идентификаторы должны сортироваться по времени Идентификаторы должны быть 64-битными. Система должна быть способна обрабатывать 10 000 идентификаторов в секунду.
Репликация с несколькими мастерами
Этот подход использует функцию auto_increment базы данных. Мы увеличиваем идентификатор в каждом сервере на размер шага k, где k — количество серверов баз данных.
Как показано на изображении, сгенерированные..
Интервью по дизайну системы: дизайн TikTok
Если нет, пожалуйста, прочтите Как шаг за шагом подходить к вопросам собеседования по проектированию системы ».
Шаг 1: Требования:
Функциональные требования:
пользователи должны иметь возможность делиться короткими видео
продолжительность видео 1 минута
пользователи должны иметь возможность подписываться на других пользователей
пользователи должны иметь возможность просматривать ленту других пользователей
пользователи могут лайкнуть комментарий или..
Советы по собеседованию по системному дизайну
Как успешно пройти следующее собеседование по системному дизайну
Интервью по системному проектированию обычно являются частью процесса собеседования для инженеров-программистов старшего уровня и выше. Эти интервью представляют собой открытые дискуссии, в которых кандидата просят разработать что-то, обычно популярный продукт или услугу. Например, вас могут попросить разработать дизайн для Twitter, YouTube или Google Docs.
Конечно, 30–60 минут недостаточно для разработки любой из этих..
Создание базы данных, подобной DynamoDB
Введение
Создание с нуля такой базы данных, как DynamoDB, — сложная задача, но ее можно решить, тщательно спроектировав и внедрив распределенную архитектуру, модель данных, механизм хранения и API. В этой статье мы подробно обсудим каждый компонент и предоставим диаграммы русалки для визуализации процесса.
Распределенная архитектура
Распределенная архитектура состоит из следующих компонентов:
Узлы хранения: серверы, которые хранят данные и обрабатывают операции чтения и записи...
Как разработать атомарную операцию при отсутствии поддержки ресурсов в распределенной системе
Уменьшите побочные эффекты в вашей системе
Поскольку каждый вызов сетевого API больше походил на функции, мы часто не замечали, насколько сложно было создать атомарную операцию в распределенной среде. Например, запись в очередь SQS в AWS может быть такой же простой, как импорт клиента SQS и вызов sendMessage . Эти сетевые вызовы инкапсулируются в функцию. Следовательно, основное приложение будет вызывать функцию и рассматривать ее как атомарную операцию.
Обработка побочного эффекта,..
Дизайн системы Dropbox
Если вы готовитесь к собеседованию по проектированию системы, эта статья даст вам очень быстрое представление о том, как был разработан серверный модуль Dropbox и как он постепенно развивался.
Важной частью проектирования системы является то, насколько эффективно вы можете распознавать объем улучшений по мере изменения требований, это то, что вы поймете в этой статье.
Скромное начало бэкэнда Dropbox выглядело примерно так, как на диаграмме ниже (первая версия) в середине 2007 года *...
Контрольный список для собеседования по проектированию системы - выход в FAANG
Это моя стратегия - провести собеседование по проектированию системы, которое помогло мне взломать кучу FAANG. Вы можете попробовать то же самое!
Обычно собеседования по проектированию системы длинные и охватывают множество сложных компонентов. Это позволяет очень легко потеряться в мелочах и упустить общую картину. Поэтому очень важно структурировать интервью таким образом, чтобы вы могли легко передать всю картину, не тратя время на то, что не добавляет ценности.
Ниже представлена..