P
prepair.app
Пройти інтерв'ю →
EnglishУкраїнськаРусскийDeutsch
🟣

Junior .NET Backend DeveloperПитання на співбесіді .NET

Junior · без досвіду / до 1 року

Співбесіда з .NET іде на двох рівнях: сама мова C# і рантайм під нею — CLR, збирач сміття, те, як насправді працює async/await, — а далі переходить до ASP.NET Core та Entity Framework Core, де живе більшість прикладних питань. Нижче питання, які ставлять найчастіше, кожне з еталонною відповіддю. Junior: базова теорія, визначення та прості практичні кейси.

Спробувати — без реєстрації
Готуємо питання…

Теми для підготовки

Типи C#, LINQ і nullable reference types
Async/await і модель Task
CLR, JIT і збирання сміття
ASP.NET Core: middleware і dependency injection
Entity Framework Core і продуктивність запитів
Тестування на xUnit/Moq, Docker і деплой у хмару

6 питань рівня Junior з відповідями

1

Чим відрізняється value type від reference type у C#?

Відповідь

Value type (struct, int, bool, enum) зберігає дані напряму і копіюється під час присвоєння; reference type (class, string, масиви) зберігає вказівник на купу, і при присвоєнні копіюється вказівник, а не дані. Передавання структури в метод і зміна її всередині змінює лише копію, якщо не передати її через ref.

2

Що таке boxing і unboxing?

Відповідь

Boxing загортає value type в обʼєкт купи, щоб використовувати його як object, — наприклад, передати int у нетипізовану колекцію на кшталт ArrayList. Unboxing приводить його назад до value type. Кожен box — це виділення в купі, тому дженерик-колекції на кшталт List<int> кращі — вони ніколи не боксять.

3

Яку проблему вирішують nullable reference types?

Відповідь

Вони дозволяють компілятору відрізняти string («ніколи не null») від string? («може бути null») і попереджати при розіменуванні nullable-значення без попередньої перевірки. Це підказка на етапі компіляції, а не гарантія рантайму, але вона ловить велику частку багів з NullReferenceException ще до запуску коду.

4

Чим різняться `try/catch/finally` і оператор `using`?

Відповідь

finally виконується завжди, був виняток чи ні, тому туди вручну кладуть код очищення. using — скорочення для try/finally, що викликає Dispose() в обʼєкта IDisposable — файлового дескриптора, зʼєднання з базою, — гарантуючи його звільнення, навіть якщо код усередині кине виняток.

5

Що роблять `Where`, `Select` і `OrderBy` у LINQ?

Відповідь

Where фільтрує послідовність за предикатом, Select проєктує кожен елемент у нову форму, а OrderBy сортує її. Їх можна зчіплювати — list.Where(x => x.Active).Select(x => x.Name).OrderBy(n => n), — і жоден з них не виконується до перебору результату, це і є відкладене виконання, на якому побудований LINQ.

6

Що таке dependency injection і як його надає ASP.NET Core?

Відповідь

Замість того щоб клас сам створював свої залежності через new, їх передають ззовні — зазвичай через конструктор, — що робить клас тестованим і замінюваним. ASP.NET Core постачається із вбудованим контейнером: сервіси реєструють у Program.cs через AddScoped, AddTransient або AddSingleton, а фреймворк розвʼязує і впроваджує їх усюди, де вони потрібні.

🦎

Прочитати відповіді недостатньо

На співбесіді ти говориш вголос під тиском. Кем поставить ті самі питання, оцінить кожну відповідь і покаже, що саме підтягнути.

Пройти інтерв'ю Junior .NET Backend Developer →
Безкоштовно · 3 інтерв'ю на місяць

Інші рівні — .NET Backend Developer

Middle .NET Backend DeveloperSenior .NET Backend DeveloperУсі питання .NET Backend Developer

Інші спеціалізації

🔍Junior QA Manual🤖Junior QA AutomationJunior Java Backend🐍Junior Python Backend🐘Junior PHP Backend🦫Junior Go Backend🟢Junior Node.js Backend💎Junior Ruby on Rails🔷Junior C++🟨Junior JavaScript