Skip to content

Latest commit

 

History

History
180 lines (135 loc) · 7.97 KB

control-questions.md

File metadata and controls

180 lines (135 loc) · 7.97 KB

Список контрольных вопросов


  1. Введение в Agile Development
  2. Clean Code
  3. Рефакторинг
  4. Scrum
  5. Test-Driven Development
  6. Unit Testing
  7. eXtreme Programming
  8. SOLID: Object-Oriented Design Principles
  9. Дизайн презентационного слоя
  10. Domain-Driven Design
  11. Data Access
  12. Kanban
  13. Agile Software Testing / QA

  1. Понятия содержания и охвата методологии
  2. Приведите различнные закономерности, объединяющие размер команды, методологии и сложность решаемой проблемы
  3. Какие факторы повлияли на содержание первых методологий разработки
  4. Достоинства и недостатки каскадной модели
  5. Определение методологии программирования
  6. Определение ГТР (на примере XP)
  7. Манифест ГТР
  8. Приведите 3-4 принципа ГТР
  9. Основные черты ГТР
  10. Факторы, противодействующие внедрению ГТР
  1. Признаки хорошего и плохого кода
  2. Ключевые понятия при разговоре о качестве кода, их использование.
  3. Рекомендации по оформлению функций
  4. Рекомендации по именованию
  5. Комментарии и чистый код. Примеры плохих комментариев, почему они считаются code smell.
  6. Ключевые принципы
  7. Почему важно поддерживать код в чистоте
  1. Определение рефакторинга и его цели.
  2. Техника безопасности.
  3. Понятие технического долга.
  4. Примеры запахов (code smell) и способы их устранения (3-5 примеров).
  5. Примеры рефакторингов (конкретных приемов), не менее 6 штук.
  1. Жизненный цикл Scrum-проекта.
  2. Жизненный цикл спринта.
  3. Роли в Scrum, их основные ответственности.
  4. Артефакты в Scrum, правила работы с ними (Product и Sprint backlog, Burndown chart).
  5. Основные практики Scrum.
  6. Daily Scrum / Stand-up meeting: назначение, правила проведения.
  7. Ретроспектива: назначение, правила проведения.
  1. Что такое TDD, его назначение
  2. Мифы о TDD
  3. Цикл разработки по TDD (в виде рисунка и с максимумом деталей)
  4. Атрибуты хорошего unit-теста (включая AAA)
  1. Какие преимущества дает модульное тестирование?
  2. Какого уровня сущности тестируются модульными, интеграционными и приемочными тестами?
  3. Как выглядит иерархия (пирамида) тестов в приложении?
  4. Назовите популярные структуры / паттерны для тестов?
  5. Какие вы можете назвать стили именования тестов?
  6. Что тестируют тесты на состояние и на поведение?
  7. Назовите критерии хороших тестов.
  1. Определение XP
  2. Круг решаемых проблем
  3. Ценности XP (на всех уровнях)
  4. Жизненный цикл XP проекта
  5. Рабочее окружение
  6. Практики XP
  7. Парное программирование (роли, ответственности, преимущества)
  8. Метафора: назначение практики, примеры
  9. Внедрение XP (алгоритм, важные моменты которые нужно учитывать)

План ответа про каждый из SOLID принципов:

  1. Формулировка, раскрыть все слова названия.
  2. Как достигается.
  3. Негативные последствия нарушения. К каким "болезням" дизайна может привести нарушение принципа?

Вопросы:

  1. Термины: жесткость, хрупкость, неподвижность, вязкость
  2. SRP
  3. OCP
  4. LSP
  5. ISP
  6. DIP
  7. Закон Деметры (что можно, чего нельзя)
  1. Типичные проблемы с GUI (ответственности, тестирование, переносимость).
  2. Диаграмма Passive View. Ответственности слоев.
  3. Назначение и преимущества применения Passive View.
  4. Диаграмма MVVM. Ответственности слоев.
  5. Назначение и преимущества применения MVVM.
  1. Понятие Domain, Model. Назначение DDD.
  2. Необходимые условия для применения DDD.
  3. Нарисовать диаграмму DDD (“улучшенная” слоистая архитектура).
  4. Назначение сборки Application.
  5. Назначение Infrastructure, способ стыковки с Domain.
  1. Data Access Layer. Ответственность. Связи с другими слоями.
  2. Что такое ORM. Примеры использования. Преимущества и недостатки.
  3. ActiveRecord. Примеры. Преимущества и недостатки.
  4. Чем плохо просто бросить таблицу на форму?
  1. Цели TPS
  2. Принципы TPS
  3. Практики Канбан
  4. Принципы внедрения Канбан
  5. В чем смысл ограничения WIP? Приведите примеры того, где это помогает оптимизировать процесс.
  6. Назовите сходства Scrum и Kanban
  7. Назовите отличия Scrum и Kanban
  1. Виды автоматических тестов
  2. V-Model разработки ПО
  3. Недостатки традиционного подхода к тестированию
  4. Эволюция взглядов на интеграцию
  5. Ответственность Agile-разработчика за качество
  6. Ответственность Agile-тестировщика
  7. Полезные практики автоматизированного тестирования
  8. Виды автоматического анализа качеста кода