Re: Как собеседовать архитектора?
От: Nonmanual Worker  
Дата: 13.10.10 03:32
Оценка: 1 (1)
Здравствуйте, Кирилл Лебедев, Вы писали:

КЛ>1) Просят рассказать о предыдущем опыте проектирования систем.

КЛ>2) Просят спроектировать текстовый редактор с хайлайтингом, проверкой правописания и расстановкой переносов.
Ну я конечно не совсем архитектор, но как-то круто это за 5 мин, область то специфичная (пару таких известных редакторов я видел изнутри и дорабатывал, там ужас был еще тот).
КЛ>3) Рисуют на листочке то, как устроена их система, просят кандидата назвать недостатки дизайна и предложить варианты решений.
КЛ>По п.п. 1 и 2 формально время не ограничивают. Но если за 5 минут кандидат не нарисует на бумаге дизайн системы, быстро теряют интерес и перебивают.
А судьи кто? Кто оценивает дизайн? Их квалификация достаточна?

КЛ>Мой вывод: Не понимают, что прежде чем решать задачу, её для начало надо грамотно поставить (слова "грамотно" и "поставить" здесь ключевые).

Если вы про редактор, то в п2 задача сформулирована в достаточном объеме для собеседования, и уточнять на собеседовании будут зануды или чисто чтобы до вас докопаться. ИМХО. Ну и это постановщика задачь дело.
В п3 вероятно конечно должны задавать доп. вопросы, но это другое.

А почему-бы в лоб не спросить на собеседовании, что вы будете делать с такой системой? И послушать что спросят и предложат.
Архитектор должен спросить, как минимум:
1) Примерный объем данных в БД?
2) Доступность этой БД?
3) Скорость загрузки данных из БД?
4) Как часто обновляются данные в БД?
5) Насколько критично для пользователей иметь самую последнюю версию?
6) Создаются растры фиксированных областей? Сколько времени генерится растр в среднем? Юзерам нужны все растры сразу или только часть?
7) Нагрузка на систему 2?
8) Что за БД в системе 1?
9) Может внедриться в систему 1 всеже можно, если сильно попросить ее владельцев?

Что должен предложить (очень сильно зависит от ответов на вопросы, я напишу все варианты что пришли в голову):
1) Генерить растры на лету, возможно кэшировать сгенеренные пока не устареют по времени
2) Сделать себе реплику БД, которую постоянно сравнивать с оригиналом и обновлять как БД, так и растры. Либо генерить на лету как в п1 но с реплики (возможно скорость повысится, если удаленая БД — тонкое место)
3) Пересмотреть GUI того места где используются растры, что даст возможность использовать п1
4) Ускорить генерацию растров (вы писали)
5) Внедриться в систему 1 для отлова изменений (вы писали)
6) Распределить нагрузку

Если будут адекватные ответы, потом уже погонять на предмет его возможностей реализовать это в жизнь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.