📱 Подписаться на канал

Топ-10 задач на system design собеседовании

Топ-10 задач на system design собеседованииЕсть шаблон прохождения этого этапа, писал о нем тут Во время собеседований в которых я был в течение последних несколько недель у меня спросили 1, 2, 5, 7, а потом я наткнулся что оказывается есть список популярных задач, вот он:1️⃣Design a URL shortener (e.g. Bitly)2️⃣Design a social media website (e.g. Twitter)3️⃣Design a video watching website (e.g. YouTube)4️⃣Design a chatting service (e.g. Telegram, Slack, Discord)5️⃣Design a file sharing service (e.g. Google Drive, Dropbox)6️⃣Design a ride sharing service (e.g. Uber, Lyft)7️⃣Design a photo sharing service (e.g. Flickr, Pinterest)8️⃣Design an e-commerce website (e.g. Amazon, eBay)9️⃣Design a jobs portal (e.g. LinkedIn, Indeed)🔟Design a web crawler (e.g. Google)Каждый из этих проектов можно найти на ютубе как правильно его спроектировать и в целом подобрать решениеОсновной челлендж будет в dive deep (углубления), в каждом проекте они свои, например для File sharing service это может быть синхронизация файлов между устройствами, загрузка больших файлов. В video watching website тоже может быть про загрузку файла, а еще как записывать время где закончил смотреть. В Ride sharing service это может быть поиск заказов в зоне на карте. В e-commerce website как выдерживать большие нагрузки в черную пятницу или как работает сервис рекомендаций.HLD (High level design) будет у всех примерно одинаковый клиент -> балансировщик -> сервисы -> базаА вот потом в зависимости какой dive deep спрашивают, может быть разные добавления и углубления, где надо будет и рассказать зачем где очередь добавить, зачем кэш, какой тип базы, зачем возможно реплекация/шардирование, есть много решений для этих углублений, и желательно со всеми ими ознакомиться)По моей оценке, если уже быть знакомым с тем как все работает, с компонентами системы и тд., уйдет где то месяц подготовки, чтобы нормально уверенно себя чувствовать на систем дизайне. В этот месяц входит еженедельный мок интервью с наставником + самостоятельное изучение материала (просмотр на ютубе + чтение книг)#собеседования | @andreyposnov