Как пройти СОБЕСЕДОВАНИЕ на C# & .Net РАЗРАБОТЧИКА (3)
Продолжение учебного разбора каверзных вопросов собеседования по C# и .NET. Обсуждаются язык, базы данных, архитектура, HTTP, Docker, тестирование и локализация.
TeachMeSkills Школа программирования
Открыть на YouTube- Опубликовано на YouTube:
- Просмотры на YouTube: 47,9 тыс.
- Лайки на YouTube: 1,7 тыс.
Таймлайн
Коротко о видео
Учебный разбор вопросов технического собеседования для C#/.NET-разработчика: от yield, enum с [Flags], const и readonly до баз данных, индексов, тестирования и микросервисов. Участники объясняют, как разворачивать ответы на собеседовании через практические примеры: авторизацию ролей, выбор SQL или NoSQL, работу ORM и Dapper, REST, Docker и локализацию. В финале разбирают нюансы локализации интерфейса, включая хранение языкового выбора и формы множественного числа.
Затронутые темы
Что взять на заметку
- Для yield return важно объяснить ленивое выполнение: элементы и связанные вызовы создаются только при фактическом перечислении IEnumerable.
- [Flags] enum подходит для независимых комбинируемых состояний, например прав Read, Write и Delete; значения флагов задают степенями двойки.
- const — значение, известное и неизменное для всей программы, а readonly фиксирует поле после инициализации конкретного объекта; ссылка readonly-объекта не меняется, но его внутренние свойства могут меняться.
- Проверку доступа не стоит копировать в каждый endpoint: в зависимости от архитектуры её размещают в authorization-атрибутах, на контроллере, в middleware или на уровне доступа к данным.
- При выборе SQL и NoSQL следует отталкиваться от ожидаемой структуры и связей данных: SQL удобнее для предсказуемой схемы и связей, NoSQL — для сильно различающихся документов; возможна гибридная схема.
- Индексы ускоряют чтение ценой записи и поддержки структуры; индекс по полю с очень малым числом вариантов обычно не даёт существенной пользы.
- Тестами стоит целенаправленно покрывать бизнес-логику и критические пользовательские сценарии, а не стремиться к 100% покрытия всего связующего кода.