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

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

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

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

  1. Что такое C# и для каких задач он предназначен?
  2. Какие версии C# существуют и какие ключевые нововведения появились в последних версиях?
  3. Как C# связан с платформой .NET?
  4. Что такое Common Language Runtime (CLR) и какую роль она играет?
  5. Как происходит компиляция и выполнение C#-программы?
  6. Что такое сборка мусора и как она работает в .NET?
  7. В чём разница между значимыми и ссылочными типами?
  8. Где хранятся значимые и ссылочные типы — в стеке или в куче?
  9. Что такое упаковка и распаковка (boxing/unboxing)?
  10. Какие есть примитивные типы данных в C#?
  11. Что такое var и как работает вывод типа?
  12. Какие есть способы объявления и инициализации переменных?
  13. Что такое ref, out, in — и когда их использовать?
  14. Что такое params и как его применять?
  15. Как работают условные операторы (if, switch)?
  16. Что такое тернарный оператор и как он записывается?
  17. Какие циклы поддерживаются в C# (for, foreach, while, do-while)?
  18. В чём разница между for и foreach?
  19. Что делают операторы break, continue, goto?
  20. Что такое пространства имён и зачем они нужны?
  21. Как работает директива using?
  22. Что такое using static и как она упрощает код?
  23. Что такое класс, поле, свойство, метод, конструктор, деструктор?
  24. Что означает ключевое слово this внутри класса?
  25. Что такое статические классы и методы?
  26. Что такое частичные типы (partial) и зачем они нужны?
  27. Что такое nameof и как он повышает надёжность кода?
  28. Какие основные принципы ООП реализованы в C#?
  29. Что такое наследование и как оно работает?
  30. Почему C# не поддерживает множественное наследование классов?
  31. Что такое интерфейсы и чем они отличаются от абстрактных классов?
  32. Что такое полиморфизм и как он реализуется?
  33. Что такое перегрузка методов и операторов?
  34. Что такое модификаторы доступа (public, private, protected, internal)?
  35. Что такое перечисления (enum) и флаги ([Flags])?
  36. Что такое обобщения (generics) и зачем они нужны?
  37. Что такое ковариантность, контравариантность и инвариантность?
  38. Что такое делегаты и как они используются?
  39. В чём разница между Action, Func и пользовательскими делегатами?
  40. Что такое события (event) и как они отличаются от делегатов?
  41. Что такое лямбда-выражения и замыкания?
  42. Как работают исключения и как их обрабатывать?
  43. Что такое try/catch/finally и try-with-resources (аналог в C#)?
  44. Что такое итераторы и ключевое слово yield?
  45. Что такое типы, допускающие значение null (Nullable<T>, ?)?
  46. Что такое расширяющие методы и как их создавать?
  47. Что такое анонимные типы и кортежи ((int, string))?
  48. Что такое атрибуты и как они используются?
  49. Как работает сериализация и десериализация в C#?
  50. Какие современные возможности появились в C# 9–12 (record, init, required, pattern matching, ranges, file-scoped namespaces)?

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