Карта знаний .NET Web программиста

На сегодняшний день наука разработки программного обеспечения состоит из такого большого количества тем, что сориентироваться в них трудно даже опытному программисту, не говоря уже о новичках. Именно по этой причине мы начали разработку серии «Карт знаний» для программистов, которые самым детальным образом описывают все, что должны знать трейни, джуниоры, мидлы и синьор программисты. Первым результатом нашей работы стала Карта знаний .NET Web программиста, которая включает в себя около 20 следующих тем:

  • Язык программирования C#
  • .NET Framework / .NET Core
  • Облачные технологии Microsoft Azure / Docker
  • Контроль качества кода / Рефакторинг
  • Многопоточность и Асинхронное программирование
  • Модульное и интеграционное тестирование
  • Алгоритмы и Структуры Данных
  • Принципы объектно-ориентированного программирования (ООП)
  • Шаблоны и принципы проектирования, SOLID
  • Предметно-ориентированное проектирование (Domain-driven design, DDD)
  • Шаблоны уровня доступа к данным
  • Фреймворки доступа к данным: Entity Framework, NHibernate, Dapper
  • Архитектурные шаблоны и Атрибуты качества (Quality Attributes)
  • HTTP, REST, Веб-фреймворки: ASP.NET MVC / Web API / Core
  • Фронтенд разработка: JavaScript / TypeScript / SPA фреймворки
  • Веб-безопасность, Шифрование данных, OWASP
  • Распределенные системы и Микросервисная архитектура
  • Базы данных: T-SQL, MS SQL, NoSQL
  • Системы контроля версий: Git, Mercurial, TFS
  • Методологии разработки: Scrum, Kanban и Scrumban

После каждой секции вы можете найти список контрольных вопросов для проверки своих знаний. Например, вот так выглядят вопросы для проверки знаний по языку C#:

  • В чем разница между ссылочными и значимыми типами данных?
  • В чем разница между делегатами и событиями?
  • В чем разница между операторами const и readonly?
  • Может ли структура реализовывать интерфейс
  • Что такое Duck typing? В чем отличия интерфейсов IEnumerable и IEnumerator?
  • Почему StringBuilder значительно опережает string по производительности при большом количестве конкатенаций?
  • Когда вызывается статический конструктор экземплярного класса?
  • В чем разница между коллекциями: Dictionary vs Hashtable, Hashtable vs HashSet, Dictionary vs Lookup?
  • В чем разница между делегатами Func и Action?

Пользуйтесь картой в целях самообучения, поиска пробелов в знаниях, создания программ обучения, подготовки к собеседованиям и продвижениям по карьерной лестнице.

Счастливого обучения!

Добавить комментарий

Comment
Name*
Mail*
Website*