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

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

Разработчику Архитектору
Загрузка вопросов…

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

  1. Зачем Google создавала Dart и как роль языка изменилась после появления Flutter?
  2. Чем Dart VM отличается от «классической» JVM?
  3. В чём разница между JIT и AOT в Dart?
  4. Что такое isolate и почему в Dart нет разделяемой памяти между isolates?
  5. Как устроены microtasks и macrotasks в event loop?
  6. Где находится точка входа программы на Dart?
  7. Чем var, final и const отличаются друг от друга?
  8. Какие встроенные типы коллекций есть в Dart?
  9. Что такое null safety и чем String отличается от String??
  10. Для чего нужен тип dynamic и когда его лучше избегать?
  11. Что такое record и чем он отличается от обычного класса?
  12. Что даёт sealed class?
  13. Как объявить дженерик-список List<int> и зачем это нужно?
  14. Чем == отличается от сравнения по ссылке для объектов?
  15. Какие операторы null-aware вы знаете (??, ?., ??=)?
  16. Чем ~/ отличается от / для целых чисел?
  17. Как записать switch expression в Dart 3?
  18. Что такое guard when в ветке switch?
  19. Как сопоставить record по именованным полям в switch?
  20. Что означает rest-паттерн ... для списка?
  21. Почему в Dart запрещён fall-through между case?
  22. Чем функция первого класса отличается от «просто подпрограммы»?
  23. Чем именованные параметры отличаются от позиционных?
  24. Что такое замыкание в Dart?
  25. Чем Future отличается от Stream?
  26. Зачем нужны async и await?
  27. Когда имеет смысл выносить работу в Isolate.run?
  28. Как обрабатываются исключения (try, catch, finally, throw)?
  29. Что делает префикс _ у имени члена класса?
  30. Когда использовать late вместо nullable-типа?
  31. Зачем нужен factory-конструктор?
  32. Чем implements отличается от extends?
  33. Для чего применяют mixin и ключевое слово with?
  34. Что такое неявный интерфейс класса в Dart?
  35. Какие шаги нужны для установки Dart SDK и проверки dart --version?
  36. Что создаёт команда dart create -t console?
  37. Как запустить консольный проект через dart run?
  38. Чем stdout отличается от stderr?
  39. Как прочитать строку из stdin асинхронно?
  40. Как прочитать и записать текстовый файл через dart:io?
  41. Чем jsonEncode / jsonDecode полезны без сторонних пакетов?
  42. Что делает HttpClient и когда его закрывают?
  43. Почему dart:io недоступен в браузерной сборке?
  44. Что такое виджет во Flutter?
  45. Чем StatelessWidget отличается от StatefulWidget?
  46. Зачем вызывают setState?
  47. Что такое hot reload и чем он отличается от hot restart?
  48. Где в проекте Flutter лежит основной код и что описывает pubspec.yaml?
  49. Какие три уровня тестирования предлагает Flutter?
  50. Как связаны Dart, движок Skia и платформенный embedder?

Материалы по углублённым темам: паттерны и switch, консоль, файлы и HTTP, классы и ООП, Flutter.


См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).

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