Zagadnienia

Poniżej znajduje się lista zagadnień obowiązujących na teście zaliczeniowym.

Metodologia DevOps

Usługa Azure DevOps Services, w szczególności:

Azure Repos

Azure Boards

System kontroli wersji

Git i podstawowe operacje na repozytorium:

zatwierdzanie zmian (commit),

synchronizacja zmian ze zdalnym repozytorium (pull, push)

gałęźie, tworzenie i scalanie (merge)

rozwiązywanie konfliktów przy scalaniu zmian

operacja żądania ściągnięcia (Pull Request)

Application Lifecycle Management (ALM, zarządzanie cyklem życia aplikacji)

Ciągła integracja (CI, ang. Continuous integration)

Model kaskadowy (sekwencyjny)

Programowanie zwinne (Agile)

Scrum

Role w scrumie Zespół Deweloperski, Product Owner, Scrum master

Artefakty scruma: product backlog, sprint backlog, sprint

Azure Boards i podstaowe elementy planowania pracy w schemacie Scrum:

lista Becklog produktu,

elementy robocze (Work Item), obsługa zadań

planowanie sprintów i ustalanie pojemności zespołu

Burndown chart

Statyczna analiza kodu

Resharper

Inspekcja kodu w Resharper oraz analizatory Visual Studio

poziomy ważności (błedy, ostrzrzenia, sugestie, podpowiedzi)

automatyczne czyszczenie kodu

analizatory FxCop i StyleCop

Metryki kodu w Visual Studio - Indeks dostępności, Złożoność cyklomatyczna, Głębokość dziedziczenia, Sprzężenie klas

Refaktoryzacja

Przykładowe pytania

Czy system kontroli wersji Git posiada architekturę:

scentralizowaną,

zdecentralizowaną,

żadne z powyższych

Jeden z programistów zatwierdził własne świeże zmiany w systemie kontroli wersji dotyczące pewnego piku. Drugi programista pracował nad kodem zawartym w tym samym pliku i próbuje scalić zmiany naniesione w tej samej linii kodu co pierwszy programista. Jaki będzie efekt takiego działania:

system kontroli wersji automatycznie wybierze najbardziej świeżą wersję pliku, tracąc zmiany naniesione przez pierwszego programistę

system kontroli wersji automatycznie scali pliki umieszczając pokrywające się linie jedna nad drugą

system kontroli wersji zasygnalizuje wystąpienie konfliktu i nie zostanie dokonane scalenie kodu