Недавно был на собеседовании в крупную компанию, все этапы прошел нормально, но завалил System Design. Давали задачу вроде "спроектируй YouTube", я начал что-то говорить, но интервьюер постоянно ловил на слабых местах, то шардирование не так предложил, то про отказоустойчивость не подумал. Опыт у меня 5+ лет, но в работе редко приходится проектировать что-то с нуля. Как теперь подготовиться, чтобы такого не повторилось? Может, есть какие-то реалистичные кейсы для тренировки? Или лучше разбирать готовые решения?
Я просто начал гуглить разборы таких задач, нашел бы пару статей, где люди по шагам расписывают, как бы они проектировали YouTube или Uber. Читал, сравнивал со своими мыслями, пытался понять, где косячил. Потом пробовал бы сам устно проговаривать решение, будто на собеседовании. Не идеально, но хоть структура в голове появится.
Ну, System Design, это такая тема, где без практики и разбора реальных примеров сложно. Я бы советовал пройти обучение, где разбирают конкретные кейсы типа того же YouTube или Twitter. Там обычно объясняют, как правильно подходить к шардированию, балансировке нагрузки, отказоустойчивости. Когда видишь, как это работает в реальных системах, проще потом самому рассуждать. Вот, найти такие курсы для программистов, можете тут https://balun.courses/.