Zagadnienia ZND 2015

Pojęcia

System kontroli wersji

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

Programowanie zwinne

Scrum

Statyczna analiza kodu

Refaktoryzacja

Testy jednostkowe

Asercja

Test driven development

Atrapa obiektu (mock)

Wzorzec: wstrzyknięcie zależności (ang. Dependency Injection, DI)

Profilowanie

Unified_Modeling_Language

Diagram_klas, Diagram_przypadków_użycia

Technologie i aplikacje

Czym są i do czego wykorzystywane są wymienione aplikacje i/lub technologie?

Visual Studio

Visual Stdiu Online

ReSharper

CodePlex

FxCop

Subversion

Git

Team Foundation Server

NUnit

xUnit.net

Moq

Rozszyfruj skróty

Podaj polskojęzyczne i angielskojęzyczne rozwinięcie skrótu.

DLL	Dynamic-Link Library biblioteka łączona dynamicznie
GUI	Graphical User Interface graficzny interfejs użytkownika
HTML	HyperText Markup Language hipertekstowy język znaczników
IDE	Integrated Development Environment zintegrowane środowisko programistyczne
API	Application Programming Interface Interfejs programistyczny aplikacji
SDK	Software development kit zestaw narzędzi dla programistów
TDD	Test-driven development programowanie wspomagane przez testy
TFS	Team Foundation Server
XML	Extensible Markup Language Rozszerzalny Język Znaczników
ALM	Application Lifecycle Management zarządzanie cyklem życia aplikacji
SAST	Static Analysis Software Testing statystyczna analiza oprogramowania
UML	Unified Modeling Language zunifikowany język modelowania

Przykładowe pytania

Czy system kontroli wersji dostępny w TFS 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 zatwierdzić w repozytorium 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 wybierając umieszczając pokrywające się linie jedna nad drugą

system kontroli wersji zasygnalizuje wystąpienie konfliktu, który musi zostać rozwiązany zanim drugi programista zatwierdzi zmiany