Сегодня ходил на собеседование. Было весело. Нормальных вопросов не было ни одного. Или откровенно тупые — типа расскажите чем .NET 1.1 отличается от 2.0 и реализована ли там сборка мусора до выкручивания рук. Вот список запавших в душу
1. Что такое архитектура и как вы ее понимаете применительно к софт. проектам.
2. Какие обязанности архитектора вы видите. (здесь и далее — архитектор проекта)
3. Какими инструментами должен пользоваться архитектор.
4. Должен ли архитектор уметь кодировать. Обоснуйте ответ.
5. Что такое фреймворк в понимании архитектора.
Помогите найти оптимальные ответы. (из расчета на будущие собеседования )
Здравствуйте, Lloyd, Вы писали:
L>Здравствуйте, vilner, Вы писали:
V>>Помогите найти оптимальные ответы. (из расчета на будущие собеседования )
L>Со шпаргалной пойдете?
По теме есть что сказать?
Здравствуйте, vilner, Вы писали:
V>Сегодня ходил на собеседование. Было весело. Нормальных вопросов не было ни одного. Или откровенно тупые — типа расскажите чем .NET 1.1 отличается от 2.0 и реализована ли там сборка мусора до выкручивания рук. Вот список запавших в душу
Хорошо, а что считается нормальными вопросами на позицию архитектора? Вот эти вполне нормальны по-моему, собенно в качестве защиты от деятелей, вчера на ночь прочитавших книжку про UML, и решивших пойти в кр00тые архитекторы. И, это, задавать "нормальные" вопросы начинают видя, что кандидат хорошо справляется с тупыми, или из резюме понятно что кандидат хорошо справлялся с подобными обязанностями на предыдущем месте.
V>1. Что такое архитектура и как вы ее понимаете применительно к софт. проектам.
А, действительно, что такое архитектура ПО?
Re[3]: Software Architekt. Вопросы на собеседовании.
Здравствуйте, vilner, Вы писали: V>1. Что такое архитектура и как вы ее понимаете применительно к софт. проектам. V>2. Какие обязанности архитектора вы видите. (здесь и далее — архитектор проекта) V>3. Какими инструментами должен пользоваться архитектор. V>4. Должен ли архитектор уметь кодировать. Обоснуйте ответ. V>5. Что такое фреймворк в понимании архитектора.
Может напишешь что сам ответил?
Re[2]: Software Architekt. Вопросы на собеседовании.
Здравствуйте, gandjustas, Вы писали:
G>Здравствуйте, vilner, Вы писали: V>>1. Что такое архитектура и как вы ее понимаете применительно к софт. проектам. V>>2. Какие обязанности архитектора вы видите. (здесь и далее — архитектор проекта) V>>3. Какими инструментами должен пользоваться архитектор. V>>4. Должен ли архитектор уметь кодировать. Обоснуйте ответ. V>>5. Что такое фреймворк в понимании архитектора.
G>Может напишешь что сам ответил?
Напишу
1. Архитектура определяет компоненты и их взаимодействие на основе бизнес-анализа.
Тема на 3 часа. Лично для меня архитектура _проекта_ это набор артефактов, определяющих сущности взаимодействия компонентов.
2. Такие же как и обязанности архитектора домов. Сбор требований и переваривание их в удобную для строителей (программистов) форму.
3. В идеале — чистый лист бумаги. Все остальное — навороты и прибабахи .
4. Хм. Думаю, что ожидается ответ "должен". На самом деле знаю архитектора, который работал первые 5 лет педиатором,
потом ушел в ИТ и до сих пор успешно работает архитектором в оч. крупной конторе, не написав ни строчки кода. Что ответить — не знаю.
5. Продукт другого архитектора, который можно применить в своей работе.
По поводу вакансии, на которую я проходил собеседование. Это позиция на должность со-архитектора проекта с 270-ю девелоперами в Цюрихе.
(Я живу в Швейцарии)
Т.е. не все так просто.
Re[3]: Software Architekt. Вопросы на собеседовании.
Здравствуйте, vilner, Вы писали:
V>Напишу V>1. Архитектура определяет компоненты и их взаимодействие на основе бизнес-анализа. V>Тема на 3 часа. Лично для меня архитектура _проекта_ это набор артефактов, определяющих сущности взаимодействия компонентов.
Это Вы своими словами сказали? Ощущение, что определение взято из книги с некачественным переводом.
V>2. Такие же как и обязанности архитектора домов. Сбор требований и переваривание их в удобную для строителей (программистов) форму.
Сбор требований скорее обязанность аналитика, хотя могу ошибаться.
V>3. В идеале — чистый лист бумаги. Все остальное — навороты и прибабахи .
Ну на листе не всегда удобно делать исправления + лист должен быть большой, да и в пользоваться им не очень удобно
V>4. Хм. Думаю, что ожидается ответ "должен".
Я бы тоже ответил, что должен.
V>На самом деле знаю архитектора, который работал первые 5 лет педиатором, V>потом ушел в ИТ и до сих пор успешно работает архитектором в оч. крупной конторе, не написав ни строчки кода. Что ответить — не знаю.
Возможно, что понятие "архитектор" у них несколько отличается от общепринятого. Если там архитектор занимается сбором требований, то почему нет.
V>5. Продукт другого архитектора, который можно применить в своей работе.
Ну в общем случае не одного архитектора, а ряда персонажей.
V>По поводу вакансии, на которую я проходил собеседование. Это позиция на должность со-архитектора проекта с 270-ю девелоперами в Цюрихе. V>(Я живу в Швейцарии) V>Т.е. не все так просто.
Желаю удачи
P>Это Вы своими словами сказали? Ощущение, что определение взято из книги с некачественным переводом.
Возможно это некачественный перевод с моего немецкого. Но суть идеи думаю понятна.
V>>2. Такие же как и обязанности архитектора домов. Сбор требований и переваривание их в удобную для строителей (программистов) форму. P>Сбор требований скорее обязанность аналитика, хотя могу ошибаться.
Ок, не совсем точное определение — не сбор, а получение требований. Которые кто-то уже собрал и систематизировал. Тот же аналитик или юзабилити тим.
Хотя в Европе роли аналитика и архитектора часто совмещают. И даже архитектора и ПМ.
V>>3. В идеале — чистый лист бумаги. Все остальное — навороты и прибабахи . P>Ну на листе не всегда удобно делать исправления + лист должен быть большой, да и в пользоваться им не очень удобно
Приведите тогда Ваш список.
?
P>Желаю удачи
Спасибо
Re[5]: Software Architekt. Вопросы на собеседовании.
Здравствуйте, vilner, Вы писали:
V>Здравствуйте, Powerz, Вы писали:
P>>Это Вы своими словами сказали? Ощущение, что определение взято из книги с некачественным переводом. V>Возможно это некачественный перевод с моего немецкого. Но суть идеи думаю понятна.
Больше похоже на поток сознания с использованием терминов, прочитанных однажды в описании RUP (артефакты, например).
Вот как определение дано в стандарте IEEE 1471-2000: "фундаментальная организация системы, реализованная в её компонентах, их взаимоотношениях друг с другом и средой и принципах, определяющих её конструкцию и развитие".
Кратко и емко.
V>>>2. Такие же как и обязанности архитектора домов. Сбор требований и переваривание их в удобную для строителей (программистов) форму. P>>Сбор требований скорее обязанность аналитика, хотя могу ошибаться. V>Ок, не совсем точное определение — не сбор, а получение требований. Которые кто-то уже собрал и систематизировал. Тот же аналитик или юзабилити тим. V>Хотя в Европе роли аналитика и архитектора часто совмещают. И даже архитектора и ПМ.
Как вы себе представляете: обязанность архитектора — получение требований? Это как обязанность сотрудника — получение зарплаты? Задача архитектора — спроектировать архитектуру системы таким образом, чтобы она (система) удовлетворяла поставленным функциональным и не функциональным требованиям.
V>>>3. В идеале — чистый лист бумаги. Все остальное — навороты и прибабахи .
Помимо головы, я бы упомянул, как минимум, набор типовых решений.
Re[3]: Software Architekt. Вопросы на собеседовании.
Здравствуйте, vilner, Вы писали:
V>1. Архитектура определяет компоненты и их взаимодействие на основе бизнес-анализа.
Слишком специфично. Не всегда есть компоненты и бизнес-аналих.
V>2. Такие же как и обязанности архитектора домов. Сбор требований и переваривание их в удобную для строителей (программистов) форму.
Абсолютно неверно. То, что ты описал — задача бизнес-аналитика. Задача архитектора (software architect в буржуйском варианте), как это не банально звучит, разработка архитектуры программы.
V>4. Хм. Думаю, что ожидается ответ "должен". На самом деле знаю архитектора, который работал первые 5 лет педиатором, V>потом ушел в ИТ и до сих пор успешно работает архитектором в оч. крупной конторе, не написав ни строчки кода.
Может он все таки не архитектор вовсе, а тот самый бизнес-аналитик?
V>5. Продукт другого архитектора, который можно применить в своей работе.
Хм.
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
Здравствуйте, Trean, Вы писали:
T>Вот как определение дано в стандарте IEEE 1471-2000: "фундаментальная организация системы, реализованная в её компонентах, их взаимоотношениях друг с другом и средой и принципах, определяющих её конструкцию и развитие".
T>Кратко и емко.
Бессмысленно и беспощадно. Шутка.
По-моему, архитектура — это комплекс методов по которым описывается система. То есть, компоненты и связи между ними — это уже дизайн, а принципы, которыми руководствуется дизайнер — это архитектура.
Re[4]: Software Architekt. Вопросы на собеседовании.
Здравствуйте, AndrewVK, Вы писали:
AVK>Здравствуйте, vilner, Вы писали:
V>>1. Архитектура определяет компоненты и их взаимодействие на основе бизнес-анализа.
AVK>Слишком специфично. Не всегда есть компоненты и бизнес-аналих.
Так обобщите, если не составит труда
V>>2. Такие же как и обязанности архитектора домов. Сбор требований и переваривание их в удобную для строителей (программистов) форму.
AVK>Абсолютно неверно. То, что ты описал — задача бизнес-аналитика. Задача архитектора (software architect в буржуйском варианте), как это не банально звучит, разработка архитектуры программы.
А что такое "разработка архитектуры программы"?
V>>5. Продукт другого архитектора, который можно применить в своей работе.
AVK>Хм.
Может мысль продолжите?
Здравствуйте, vilner, Вы писали:
V>1. Что такое архитектура и как вы ее понимаете применительно к софт. проектам.
Архитектура — это решения, которые трудно изменить. (c) кажется Фаулер и компания.
V>2. Какие обязанности архитектора вы видите. (здесь и далее — архитектор проекта)
Общий дизайн системы, участие в дизайне модулей, участие в разработке ключевых компонентов, постоянное самообучение и тренинг команды.
V>3. Какими инструментами должен пользоваться архитектор.
Если имеется в виду какая-нибудь рисовалка типа Visio, то без разницы какая, лишь бы была.
V>4. Должен ли архитектор уметь кодировать. Обоснуйте ответ.
Обязан. Без непосредственного участия архитектора в кодировании у него через определённое время происходит разрыв с реальностью. Архитектор и девелоперы начинают разговаривать на разных языках и в результате дизайнерские решения и написанный код представляют собой две никак не связанные между собой вещи.
V>5. Что такое фреймворк в понимании архитектора.
Фреймворк — это вспомогательный софт + инфраструктура, предназначенные для построения целевого софта (других фреймворков или непосредтсвенно безнес логики). К сожалению, чёткую грань между фремворками и бизнес логикой провести достаточно сложно, поэтому лучше представлять это в виде линии, соединяющей с одной стороны чистую бизнес логику, с другой — максимально универсальный фреймворк. Весь софт находится где-то на этой линии. Так же полезно понимать, что к концам этой линии предъявляются принципиально разные требования, т.е. разработка фреймворков требудет иной техники, чем разработка бизнес логики.
Неясность изложения обычно происходит от путаницы в мыслях.
Если нам не помогут, то мы тоже никого не пощадим.
Re[5]: Software Architekt. Вопросы на собеседовании.
Здравствуйте, vilner, Вы писали:
AVK>>Слишком специфично. Не всегда есть компоненты и бизнес-аналих.
V>Так обобщите, если не составит труда
Тут уже привели хорошее определение.
AVK>>Абсолютно неверно. То, что ты описал — задача бизнес-аналитика. Задача архитектора (software architect в буржуйском варианте), как это не банально звучит, разработка архитектуры программы.
V>А что такое "разработка архитектуры программы"?
Это разработка архитектуры программы. Какое из этих трех русских слов тебе непонятно?
V>>>5. Продукт другого архитектора, который можно применить в своей работе.
AVK>>Хм. V>Может мысль продолжите?
А если я сам фреймворк разрабатываю, то это уже не фреймворк?
... << RSDN@Home 1.2.0 alpha rev. 725 on Windows Vista 6.0.6000.0>>
Здравствуйте, Eugene Kilachkoff, Вы писали:
V>>1. Что такое архитектура и как вы ее понимаете применительно к софт. проектам. EK>А, действительно, что такое архитектура ПО?
Архитектура (программного обеспечения) – это совокупность согласованных технических решений направленная на удовлетворение требований, предъявляемых к программному обеспечению.(здесь)
Здравствуйте, Basil B, Вы писали:
BB>Здравствуйте, Trean, Вы писали:
T>>Вот как определение дано в стандарте IEEE 1471-2000: "фундаментальная организация системы, реализованная в её компонентах, их взаимоотношениях друг с другом и средой и принципах, определяющих её конструкцию и развитие".
T>>Кратко и емко.
BB>Бессмысленно и беспощадно. Шутка.
BB>По-моему, архитектура — это комплекс методов по которым описывается система. То есть, компоненты и связи между ними — это уже дизайн, а принципы, которыми руководствуется дизайнер — это архитектура.
Система (элементы и их взаимодействия или отношения) — это конкретная реализация архитектуры. Но я бы не согласился с тем, что архитектура это комплекс методов описания системы.
Архитектура это не методы, а просто неотъемлимое свойство системы, характеризующее основные составляющие системы и принципы их взаимодействия между собой или с другими системами.
А методы описания системы и принципы, которыми руководствуется архитектор, это скорее ближе к методологии проектирования архитектуры, чем непосредственно к архитектуре, которая сама по себе, объективна.
Re[2]: Software Architekt. Вопросы на собеседовании.
Здравствуйте, vilner, Вы писали:
V>Здравствуйте, gandjustas, Вы писали:
V>>>4. Должен ли архитектор уметь кодировать. Обоснуйте ответ.
V>4. Хм. Думаю, что ожидается ответ "должен". На самом деле знаю архитектора, который работал первые 5 лет педиатором, V>потом ушел в ИТ и до сих пор успешно работает архитектором в оч. крупной конторе, не написав ни строчки кода. Что ответить — не знаю.
Это не возможно или эта должность не архитектора, ибо в идеале нужно знать не один язык, самому реализовывать сложные участки кода, понимать и рефакторить код ...