В моей команде разработчиков программного обеспечения мы проводим тестирование на понимание баз данных.
Мы представляем - очень плохой дизайн (например, приложение типа CRM) и просим их улучшить дизайн после 30 минут размышлений.
Затем мы задаем им больше вопросов, основываясь на том, о чем они говорят.
Мы ищем понимание
- Performance V Normalistion
- Ключевой дизайн и референтная целостность
- Места для улучшения -ie Альтернативная структура БД - триггеры, просмотр, процедуры
- Области, которые являются слабыми в дизайне - как преодолеть многие отношения
- Как это влияет на сервер - поддержка
- Проблемы безопасности данных
- Проблемы безопасности приложений
Затем мы, как команда, подумали о том, что мы считаем ответами типа «младший / старший / архитектор» на эти типы вопросов.
Так для - Производительность v Нормализация -
будет видеть проблему в первую очередь и сможет обсудить почему (младший)
рекомендовал бы 4/5 NF, но понял бы проблему с производительностью, они бы денормализовали и поняли, как сформулировать проблему (Старший)
рекомендуют ли они другой тип дизайна, например, Star Schema, и обсудят последствия на многих уровнях (Архитектор)
- Ключевые дизайн и ссылочная целостность
Предполагается, что целостность ссылки необходима для обеспечения взаимосвязи данных и возможности обсудить это, но не увидит проблему с Key Choice and Design (Junior)
Обсудили бы вопросы, связанные с объемами данных и типами данных v в поисках естественных ключей в данных, и смогли бы обсудить, почему они смотрят на них - и вопросы, которые следуют с ссылочной целостностью (Старший)
Мог спорить с различными точками зрения, связанными с ключами и целостностью, и иметь возможность предлагать различные актуальные модели для быстрого проектирования (архитектор)
Вы получаете картину.
Если вы хотите, чтобы я добавил больше, оставьте комментарий и подробно опишите, что мы думаем об остальном, а просто включите первые два, чтобы дать вам представление о том, что мы думали.
Смысл в том, чтобы подумать о 1. вопросах 2. Затем мы, как команда , подумали о том, что мы считаем ответами типа «младший / старший / архитектор» на эти типы вопросов.
Я подчеркиваю, что команда как кандидат, и команда должна быть уверена в навыках вступающего в игру человека, и, если они придумали то, что они считают ответами на разные уровни, человек, который вступает, будет лучше соответствовать команде. Это также дает команде возможность влиять на выбор кандидата. Они также назначают человека, который будет включен в панель вопросов. Очень помогает с командным бай-ином.