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

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

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

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

  1. Что такое Smalltalk и когда он был создан?
  2. Кто являются авторами Smalltalk (Алан Кэй, Дэн Ингаллс и др.)?
  3. Почему Smalltalk считается чисто объектно-ориентированным языком?
  4. Что означает утверждение «всё в Smalltalk — объект»?
  5. Какие объекты существуют в Smalltalk: числа, строки, классы, методы?
  6. Что такое «образ» (image) в контексте Smalltalk?
  7. Как сохраняется и загружается состояние программы в Smalltalk?
  8. Что такое виртуальная машина Smalltalk и как она работает?
  9. Как устроен синтаксис Smalltalk? Сколько базовых конструкций он содержит?
  10. Что такое литералы в Smalltalk и какие виды бывают (числа, строки, массивы, символы)?
  11. Что такое символ (#symbol) и чем он отличается от строки?
  12. Как отправляется сообщение объекту в Smalltalk?
  13. Какие три типа сообщений существуют (унарные, бинарные, ключевые)?
  14. В каком порядке обрабатываются сообщения при отсутствии скобок?
  15. Что такое приоритет операторов в Smalltalk?
  16. Как объявляется и вызывается блок кода (аналог лямбды)?
  17. Как передаются аргументы в блок?
  18. Что такое временные переменные и как они объявляются?
  19. Как работают условные выражения (ifTrue:, ifFalse:, ifTrue:ifFalse:)?
  20. Как реализуются циклы в Smalltalk (через сообщения timesRepeat:, to:do:, whileTrue:)?
  21. Что такое класс и как он определяется?
  22. Как создаётся экземпляр класса?
  23. Что такое метакласс и зачем он нужен?
  24. Как определяется метод в Smalltalk?
  25. Что такое селектор метода?
  26. Как работает наследование в Smalltalk?
  27. Что такое суперкласс и подкласс?
  28. Как вызвать метод родительского класса (super)?
  29. Что такое полиморфизм в контексте Smalltalk?
  30. Как Smalltalk обрабатывает отправку сообщения объекту, у которого нет соответствующего метода?
  31. Что такое doesNotUnderstand: и как его можно переопределить?
  32. Как работает сборка мусора в Smalltalk?
  33. Что такое рефлексия и как она реализована в Smalltalk?
  34. Как получить список методов объекта или класса?
  35. Как изменить поведение объекта во время выполнения?
  36. Что такое инспектор и как он используется?
  37. Что такое отладчик в среде Smalltalk и как он запускается?
  38. Как работает браузер классов?
  39. Что такое MVC и как он был впервые реализован в Smalltalk?
  40. Как организован пользовательский интерфейс в классических системах Smalltalk?
  41. Что такое Morphic и чем он отличается от MVC?
  42. Как загружать и использовать сторонние пакеты (например, через Metacello в Pharo)?
  43. Как пишутся unit-тесты в Smalltalk (фреймворк SUnit)?
  44. Что такое TDD и как он применяется в Smalltalk-средах?
  45. Как работает параллелизм в Smalltalk (процессы, семафоры)?
  46. Что такое Delay и как его использовать для пауз?
  47. Как Smalltalk взаимодействует с внешним миром (файлы, сеть, FFI)?
  48. Можно ли вызывать код на C из Smalltalk? Как?
  49. Какие современные реализации Smalltalk существуют (Pharo, Squeak, VisualWorks)?
  50. Почему Smalltalk до сих пор изучают, несмотря на низкую популярность в индустрии?

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