Что вы могли бы сделать лучше во время собеседования по проектированию системы?

Используйте доску

Используйте доску или онлайн-аналог, чтобы объяснить свои идеи. Это поможет интервьюерам лучше понять ваши мысли. Это очень сложно понять, если вы просто говорите, что сервер будет подключаться к базе данных… Какой именно? Где? Уточни.

Определить область дизайна

Каждая система имеет свою область применения, и от этого зависит хорошая реализация. Спросите интервьюеров о количестве пользователей и критических состояниях системы. Имеет ли значение в этом случае согласованность, доступность или устойчивость к разделам?

Задавать вопросы

Всегда просите разъяснений. Не думайте, что ваше предположение верно. В работе разработчика программного обеспечения очень важно подстраиваться под условия системы. Вы должны иметь возможность видеть немного шире и спрашивать, как система должна вести себя в разных случаях. Интервьюеры ждут этого, покажите им, что вы можете это сделать.

Не ныряйте слишком рано

Во-первых, предложите общий план и обсудите его с интервьюерами. Это то, что они ищут? Они будут задавать вам вопросы о компонентах системы, после чего вы сможете погрузиться глубже. Так проще не ошибиться, проявить себя и получить предложение.

Используйте предварительную оценку

Две одинаковые системы с 1000 и 1 миллионом пользователей будут иметь разную архитектуру. Если есть объем трафика сервера или другие цифры, используйте предварительный расчет, чтобы сделать грубый расчет. Это поможет вам лучше понять вашу задачу.

Разве вы не знаете, что такое предварительный расчет? Следите за мной, я сделаю пост об этом.