Питання по .NET
1. Що таке .NET Framework?
Це платформа для розробки програм під Windows від Microsoft.
Платформа підтримує багато мов, має CLR та .NET Framework бібліотеку класів
2. Компоненти .NET
Common Language Run-Time (CLR) - віртуальна машина
Application Domain - ізольований і безпечний простір де виконується код
Common Type System - специфікація, як різні типи представлені в пам'яті, аби мати діалог між мовами програмування
.NET бібліотека класів - колекція класів, інтерфейсів і типів даних, для багатократного використання
.NET Framework - включає в себе NET бібліотеку (...)
Profiling - оптимізація програми (...)
3. Що таке CTS?
Common Type System - це специфікація, як різні типи представлені в пам'яті, аби мати діалог між мовами програмування в одній програмі
4. Що таке CLR?
Common Language Runtime - це середовище для безпечного запуску програм
CLR перетворює код Intermediate Language в команди для процесора
5. Що таке CLS?
Common Language Specification - це система загальних типів у IL-коді, що визначає спосіб оголошення, використання і керування типами в середовищі CLR
6. Що таке JIT?
Just in Time компілятор, що іде з CLR і компілює IL-код в машинний код вже під час виконання програми
7. Що таке керований і некерований код?
Усі ресурси з Application Domain - це керований код
Код розроблений поза межами .NET - некерований код, запускається без CLR, наприклад для доступу до низькорівневих функцій операційної системи
8. Яка різниця між класами і об'єктами?
Клас лише описує властивості і методи, він створюється один раз
Об'єкти - створюються і знищуються під час роботи програми, можуть змінювати свої властивості, належать певному класу
9. Що таке boxing і unboxing?
Запакувати - перетворити значення у об'єкт (перенести в кучу)
Розпакувати (int)obj - перетворити на значення
10. Яка різниця між const і Read-only?
const - типово статична, до запуску відома (...)
Read-only - встановлюється в конструкторі, стає відомою під час запуску програми, (...)
11. що таке BCL?
Base Class Library - це серце Framework Class Library, що включає простір імен System і усі базові класи: Console, String, Int32, DataTime, Random +1000 класів, що використовуються і для віконних програм, і для сайтів, і для мобільних програм.
В щоденній роботі ми використовуємо саме BCL, а все інше ми тягнемо з менеджера пакетів NuGet.
12. Різні версії фреймворків?
(...)
13. Яка різниця між namespace і assembly?
assembly - фізично групує логічні одиниці
namespace - групує класи
14. Що таке LINQ?
дозволяє отримувати данні з XML файлів, баз даних і колекцій
14. Що таке MSIL?
Intermediate Language
15. Якими можуть бути конструктори:
За замовченням - все робить 0, і null
З параметром
Копіювання - копіює змінні з іншого об'єкту
Статичний
Приватний