Перейти к основному содержимому

Чек-лист самопроверки

Разработчику Архитектору

Чек-лист самопроверки

  1. Что такое Groovy и для каких задач он предназначен?
  2. Как Groovy связан с JVM и Java?
  3. Является ли любой Java-код корректным Groovy-кодом?
  4. Как запустить Groovy-скрипт из командной строки?
  5. Что такое GDK (Groovy Development Kit)?
  6. Как объявляются переменные в Groovy? Обязательны ли типы?
  7. Что такое ключевое слово def и когда его использовать?
  8. Как работают строки: обычные, GString ("Hello $name"), многострочные?
  9. Что такое безопасная навигация (?.) и Elvis-оператор (?:)?
  10. Как работают списки и карты без явного объявления ([], [:])?
  11. Какие есть способы итерации по коллекциям (each, for, collect, findAll)?
  12. Что такое замыкания в Groovy и как они записываются?
  13. Как передавать замыкание как аргумент методу?
  14. Что такое оператор распространения (*.method())?
  15. Как работает оператор диапазона (1..10)?
  16. Как объявляется класс в Groovy?
  17. Обязательны ли геттеры и сеттеры? Как они генерируются?
  18. Что такое свойства (properties) в Groovy?
  19. Как работают конструкторы по умолчанию с именованными параметрами?
  20. Что такое @ToString, @EqualsAndHashCode, @TupleConstructor?
  21. Как работает наследование в Groovy?
  22. Поддерживает ли Groovy интерфейсы и абстрактные классы?
  23. Что такое трейты (trait) и чем они отличаются от интерфейсов?
  24. Как работают исключения в Groovy?
  25. Можно ли опускать блок catch или finally?
  26. Что такое метапрограммирование во время выполнения (metaClass)?
  27. Как добавить метод к существующему классу динамически?
  28. Что такое категориальные методы (use block)?
  29. Как работает статическое метапрограммирование (AST Transformations)?
  30. Что делают аннотации @TypeChecked и @CompileStatic?
  31. Как обрабатывать JSON в Groovy (JsonSlurper, JsonBuilder)?
  32. Как работать с XML (XmlSlurper, MarkupBuilder)?
  33. Как выполнять SQL-запросы (Sql.newInstance, eachRow)?
  34. Что такое Grape и как им управлять зависимости в скриптах?
  35. Как писать unit-тесты на Groovy (Spock, JUnit)?
  36. Что такое спецификации в Spock и как они структурированы (given, when, then)?
  37. Как Groovy используется в Gradle (build.gradle)?
  38. Что такое делегация в замыканиях (Closure.DELEGATE_FIRST)?
  39. Как создавать DSL с помощью Groovy?
  40. Как работают регулярные выражения (~/pattern/, =~, ==~)?
  41. Что такое оператор «в» (in) и как он работает с коллекциями?
  42. Как вызывать методы с именованными параметрами?
  43. Что такое мультиприсваивание ((a, b) = [1, 2])?
  44. Как работают операторы сравнения (== вызывает equals, а не is)?
  45. Как управлять видимостью методов (public по умолчанию)?
  46. Как сериализовать объекты в Groovy?
  47. Как отлаживать Groovy-скрипты в IDE?
  48. Как компилировать Groovy в байт-код (groovyc)?
  49. Как интегрировать Groovy-классы в Java-проект?
  50. Какие инструменты используются для анализа и форматирования Groovy-кода (CodeNarc, gpars)?

Освоение главы0%