Re[3]: Как собеседовать архитектора?
От: Undying Россия  
Дата: 14.10.10 11:02
Оценка:
Здравствуйте, Кирилл Лебедев, Вы писали:

КЛ>На мой взгляд, в поисках решения можно "покопать" в трёх направлениях:


КЛ>(1) найти способ встроиться в систему (1) с тем, чтобы получать уведомления об изменении данных;

КЛ>(2) найти способ хранить в системе (2) информацию о данных в системе (1) в компактном виде так, чтобы периодически можно было отслеживать изменения;
КЛ>(3) разобраться, почему генерация растрового изображения занимает так много времени.

Это все правильно, но архитектурная сложность этих направлений довольно мала.

Т.е. в любом случае система будет состоять из очереди внеочередных запросов и периодического пересоздания всей карты. Просто если удастся реализовать первый пункт, то очередь внеочередных запросов будет формироваться не в ручную, а автоматически. Если второй, т.е. удастся допустим добиться, что проверка изменений в компактном формате будет в десять раз быстрее, чем перестроение, то перестраивать надо будет только измененные куски, соответственно полное перестроение карты можно будет производить не раз в сутки, а скажем раз в 3 часа. Если удастся ускорить генерацию изображения, то в архитектуру вообще никаких изменений вносить будет не нужно, просто можно будет перестраивать карту чаще.

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

КЛ>А вот это интересный момент. Можешь аргументировать свою точку зрения? Каким образом опыт создания "высоконагруженных серверных приложений" поможет решить указанную проблему?


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