Microsoft наділила своє творіння – .NET– дійсно вражаючими можливостями. Платформа .NET складається з багатьох технологій та інструментів, які дозволяють використовувати її майже в будь-якій галузі та створювати найрізноманітніші проєкти – від звичайних десктопних до mobile-продуктів і комп'ютерних ігор. Широкий спектр застосування та гнучкість платформи роблять .NET розробників з кожним роком все більш затребуваними на ринку праці.
Як же стати .NET професіоналом з нуля? Можливості .NET настільки широкі, що вчити все і відразу не має сенсу. Кращою стратегією є концентрація на окремих аспектах чи технологіях платформи в залежності від обраного вами шляху розвитку — наприклад, спробуйте рухатись за нашим .NET roadmap від джуніора до експерта. Однак, все ж існують основи, якими має володіти будь-який .NET спеціаліст. Скажімо, відмінне знання мови С# та вміння писати нею код.
Коли ж ви остаточно вирішили стати .NET розробником, починати варто саме з універсальних базових знань. В цій статті ми зібрали відеоматеріали, задачки для самоконтролю та популярні питання з інтерв'ю на позицію .NET Junior Developer, що можуть стати у нагоді на вашому шляху.
Відеоматеріали для опанування C# та .NET
- C# 101 — Серія відео для початківців від Microsoft
До кого піти за кращими базовими матеріалами для .NET розробника? Звісно що до самого автора платформи – Microsoft! Компанія створює та поширює якісні матеріали з основ мови програмування C#, а також поглиблені мануали з вивчення платформи .NET. Якщо ви вперше знайомитесь з професією, радимо почати саме з цього відеокурсу, на якому ви навчитесь писати найпростішу програму з виведення Hello World!, познайомитесь з принципами ООП, що застосовуються в мові, та отримаєте вступні знання з елементів C# (типи даних, базові операції та оператори, створення функцій (методів) та класів).
- C# Language Highlights — Особливості мови С#
Вивчили основи мови? Тоді час рухатися далі! З моменту виходу C# версії 7.1, команда .NET компанії Microsoft почала створювати плейлист про характерні особливості мови та зміни її версіях. Плейлист постійно оновлюється якісно зробленими розборами ключових принципів C#: дізнатись про tuples, exception filters, async streams та інші корисні функції мови можна саме там.
- Learn C# with CSharpFritz — Повноцінний курс з мови
Не змінюємо традицію та продовжуємо рекомендувати матеріали від офіційного каналу Microsoft. На черзі – надзвичайно круті подкасти/прямі ефіри/уроки, де про C# розповідається комплексно, з цікавими прикладами та з інтерактивною практикою. Якщо ви втомилися вивчати кілька матеріалів одночасно, можна зупинитися саме на цьому курсі.
- Коротко про .Net для джуніорів — Запис онлайн-виступу з Junior Online Conference від EPAM University
Щороку ми проводимо події для початківців і просимо експертів EPAM Ukraine розповідати про вхід до професії: що дається найважчє, як потрапити до компанії найшвидше і що потрібно обов'язково знати на старті. Радимо для перегляду саме такий виступ від Delivery Manager-а EPAM Україна Володимира Іванова.
Практичні задачки та ігри
- C# Exercises — Задачки з мови C#
58 вправ на знання мови, за кожне з яких ви отримуєте по 1 балу до свого рейтингу. Своєрідний контроль для тих, хто вже пройшов рекомендовані курси з мови і готовий випробувати знання на практиці. Завдання розбиті по темам, тож ресурс можна використовувати для того, щоб закріпити свіжу теорію.
- C# programming excersises with solutions — Ще більше C# задачок (за трьома рівнями складності)
Практики забагато не буває. Обирайте розділ та рівень складності, щоб отримати перелік "челленджів" для мови C#. Бонус – готовий програмний код вашого рішення можна порівняти з рішенням, яке йде до кожного завдання.
- 350+ C# Practice Challenges — ЩЕ більше задачок (за шістьма рівнями складності)
Той самий принцип, що з попереднім ресурсом, але задачки розбиті на 6 рівнів (від Very Easy до Expert), а за рішення кожної проблеми ви отримуєте XP (бали досвіду) і тим самим підвищуєте свій рейтинг на сайті. Така практика вас точно затягне!
9 найпопулярніших питань, що ви почуєте на .NET інтерв'ю
1. Що таке об'єктно-орієнтовне програмування? Опишіть основні його принципи.
Об’єктно-орієнтоване програмування, або ООП – це підхід до програмування, коли програмне забезпечення в основному розробляється з використанням об’єктів, що взаємодіють між собою. Коли різні об'єкти поєднуються, разом вони формують структуру коду програмного забезпечення. ООП є альтернативою функціональному або процедурному програмуванню, що також є підходами в розробці на C#. Про основні принципи ООП можна коротко почитати в нашому блозі.
2. В чому різниця між керованим (managed) та некерованим (unmanaged) кодом?
Керований код виконується Common Language Runtime (CLR), компонентом платформи .NET , тоді як некерований код виконується операційною системою. CLR створює безпечне середовище для розгортання коду, тоді як у випадку некерованого за "безпечність" коду відповідає сам розробник.
3. В чому різниця між C та C#?
C# є нащадком мови С, але головна їх відмінність – це те, що C# є об’єктно-орієнтованою мовою програмування, тоді як C є процедурною мовою програмування. Серед інших відмінностей:
- мова C найкраще підходить для створення апаратних програм і системного програмування, тоді як C# використовується для настільних і мобільних програм, а також для веб-сервісів
- C використовує лише 32 різні ключові слова, тоді як C# має 87
- С код часто базується на використанні апаратних особливостей, С# притамане використання високого рівня абстрагування від апаратного забезпечення
4. Що таке об'єкт в мові С#? Що таке програма?
Втілення абстрактної їдеї окремої сутності та базовий елемент побудови будь-якої програми. Програма в ООП вважається сукупністю об'єктів, що знаходяться у визначених відношеннях та обмінюються інформацією.
5. Що таке метод в мові С#?
Це поведінка об’єкту – блок коду, який містить послідовність виразів, що використовуються для виконання певних операцій. Методи не можуть існувати поза класом, структурою або інтерфейсом. Вони допомагають заощадити час завдяки повторному використанню коду.
6. Що таке структура в мові С#?
Це композитний тип даних (composite data type), що може складатися з методів, полів, конструкторів, констант, властивостей, індексаторів, операторів та інколи навіть інших структур. Структура допомагає об’єднати різні типи даних в один юніт. Цим вони схожі на класи. Однак, класи відносяться до типу reference, тоді як структури відносяться до value type.
7. Як працює garbage collector в C#?
Garbage collection – це процес керування пам’яттю в програмі. Збирач сміття автоматично позбавляється пам’яті, яка більше не використовується, щоб звільнити місце для нових розподілів (allocations).
8. Що таке масив?
Масив – це структура даних, яка зберігає фіксовану кількість однотипних елементів. Щоб звернутися до окремого елементу, використовується індекс.
9. Що таке рекурсія?
Рекурсія – це метод, що викликає сам себе. Рекурсивні виклики методу мають завершуватися при досягненні визначеної умови; інакше відбувається переповнення пам’яті і програма зависає для користувача. Послідовний процес рекурсивних викликів методу є подібний до циклічного процесу.
Ви вже знали відповіді на 9 з 9 питань? Тоді саме час передивитися доступні можливості для .NET джуніорів в EPAM University!