Zagadnienia na egzamin inżynierski

Zagadnienia dla osób, których jestem promotorem lub recenzentem.

  1. Translacja programów, kompilator, interpreter, kompilacja do kodu maszynowego, kompilacja do kodu pośredniego, maszyna wirtualna, wpływ rodzaju translacji na mechanizmy języka (np. silna i słaba typizacja).
  2. Pojęcie klasy i obiektu w programowaniu obiektowym. Zakresy widoczności składowych klasy, pola statyczne. Funkcje składowe, funkcje statyczne. Sposoby tworzenia obiektów w językach C++, Java, C# — podobieństwa i różnice. Konstruktory i destruktor — rola, zastosowania, występowanie w różnych językach obiektowych.
  3. Dziedziczenie w programowaniu obiektowym. Klasa bazowa, klasa pochodna. Redefinicja funkcji składowych, modyfikator dostępu protected, konstruktory i destruktor a dziedziczenie. Dziedziczenie wielobazowe.
  4. Polimorfizm w programowaniu obiektowym. Rodzaje polimorfizmu. Pojęcie i rola funkcji wirtualnych. Funkcje wirtualne a dziedziczenie. Funkcje wirtualne w językach C++, Java, C#.
  5. Pojęcie klucza w relacyjnych bazach danych. Typy kluczy, do czego są stosowane klucze poszczególnych typów.
  6. Powiązania pomiędzy tabelami w relacyjnych bazach danych. Rodzaje powiązań. Realizowalność powiązań w modelu relacyjnym. Powiązania a klucze.
  7. Formaty XML, JSON – omówić i podać zastosowania.
  8. UML — przeznaczenie i elementy diagramu klas.
  9. Wymagania funkcjonalne i niefunkcjonalne w inżynierii oprogramowania
  10. UML — rodzaje diagramów.