MENU

Fun & Interesting

Mock-собеседование по System Design от Team Lead из Яндекса

it-interview 28,626 8 months ago
Video Not Working? Fix It Now

Потренироваться проходить собеседования: https://clck.ru/3ASssc Курсы по программированию: https://clck.ru/3ASt6y Mock-собеседование от Team Lead из Яндекс секции по System Design на платформе it-interview.io. Потренируйтесь и вы проходить собеседования с разработчиками из ведущих компаний и получите подробный отзыв о том, на какую зарплату и грейд вы можете расчитывать, или над чем вам еще стоит поработать! YouTube канал Владимира: https://www.youtube.com/@vladimir_balun_programming Таймкоды: 00:00 - Знакомство 01:05 - Требования к системе 06:52 - Расчет нагрузки 14:22 - Проектирование API 16:55 - Проектирование архитектуры 46:06 - Обсуждение хранилищ данных 50:45 - Обсуждение отказоустойчивости и масштабируемости 56:24 - Заключение [[ Отзыв о кандидате ]] Рекомендовать этого человека на следующий этап? ДА Каковы были его технические навыки? 4/5 Каковы были его способности решать проблемы? 3/5 Каковы были его коммуникативные способности? 5/5 За время собеседования спроектировали ленту Instagram. Формализовали требования, оценили нагрузку, спроектировали архитектуру и модель данных, но не хватило времени на то, чтобы посчитать сколько потребуется ресурсов. Кандидат был неплох, самостоятельно вел процесс проектирования по шагам, но не обращал внимание на множестве пограничных случаев во время проектирования (приходилось ему с этим подсказывать постоянно). По общению приятный, было комфортно общаться с кандидатом. Во время формализации требований забыл уточнить про то, как будет строиться лента, про подписки и отписки, а также про ограничения подписок. Не формализовал сущность поста - было некоторое время непонятно - что такое пост. RPS посчитал корректно, а также верно увидел, что у системы будет преобладать нагрузка на чтение, но бажил с вычисление трафика и необходимого объема данных для хранения. При выборе баз данных выбор делал необоснованно - не приводил никаких аргументов. Выбрал in-memory для кэша, не посчитав и не подумав - насколько это дорого и необходимо в той ситуации. Выбрал neo4j для хранения отношения пользователей (подписки), но не понимал, как смапить отношения пользователей в виде графа. Рекомендации для кандидата: Я бы посоветовал больше уделять внимания различным нюансам при проектирования (что произойдет, если будет то-то и так далее), а также стараться делать аргументированный выбор между какими-либо инструментами и базами данных. System Design. Ранжирование. Нету опыта. Проектирование систем. Karpov courses. #собеседование #mockсобеседование #leetcode #алгоритмы

Comment