Programista c++

Praca dla programistów C++ przy projektowaniu i rozwijaniu systemów kontroli dostępu i aplikacji konfiguracyjnych.
Wymagania:
- Wykształcenie wyższe kierunkowe (informatyka, telekomunikacja, elektronika lub pokrewne; mile widziani studenci ostatniego roku i absolwenci).
- Bardzo dobra znajomość C++ i co najmniej jednej z bibliotek STL, Loki, Boost.
- Znajomość wzorców projektowych.
- Doświadczenie w pisaniu aplikacji wielowątkowych i korzystaniu z gniazd TCP/IP.
- Znajomość języka SQL.
- Umiejętność programowania dla systemu GNU/Linux.
- Znajomość języka angielskiego w stopniu umożliwiającym czytanie dokumentacji.
Dodatkowe atuty:
- Doświadczenie z systemami embedded.
- Znajomość środowiska Borland Turbo C++ 2006 i VCL.
- Znajomość baz danych SQLite3, MS SQL, Postgres.
Jeśli chcesz do nas dołączyć, sprawdź swoją wiedzę. Poniżej znajduje się test wstępny. Jeśli uda Ci się uzyskać 10pkt bez żadnej pomocy - prosimy o kontakt mailowy - kliknij tutaj!
Test nie jest interaktywny. Po zakończeniu, prawidłowych odpowiedzi musisz poszukać sam/sama.
W pytaniach zamkniętych tylko jedna odpowiedź jest poprawna. 8 pytań, max. 16 punktów, czas: 20 min. Powodzenia!
1. Która definicja klasy abstrakcyjnej jest poprawna? (2p)
a) abstract class Shape { void draw(); };
b) abstract class Shape { void draw() = 0; };
c) class Shape { virtual void draw() = 0; };
d) class Shape { virtual void draw(); };
e) class Shape { abstract void draw(); };
2. Która deklaracja wirtualnego konstruktora kopiującego w klasie bazowej jest poprawna? (2p)
a) virtual Shape* Shape(const Shape& prototype) const = 0;
b) virtual Shape* clone() const = 0;
c) virtual Shape(const Shape& prototype);
d) konstruktor kopiujący nie może być wirtualny.
3. Co oznacza skrót MVC? (1p)
a) Microsoft Visual Classes – bibliotekę klas do obsługi interfejsu graficznego;
b) Model-View-Controller – wzorzec projektowy polegający na oddzieleniu danych, interfejsu użytkownika i logiki sterowania,
c) Master View Controller – główny sterownik widoku;
d) Metaprogrammed Virtual Constructor – szablon pozwalający na łatwe tworzenie wirtualnych konstruktorów dla dowolnych klas.
4. Który kontener służy do zrealizowania tablicy asocjacyjnej? (1p)
a) vector
b) list
c) deque
d) map
e) set
5. Napisz deklarację listy obiektów polimorficznych (pochodnych Shape) z użyciem STL. (2p)
6. Napisz kod, który narysuje wszystkie obiekty z listy z zad. 5 (metoda draw() dla każdego z obiektów). (2p)
7. Wewnątrz którego protokołu kapsułkowany jest protokół TLS? (2p)
a) SSL
b) TCP
c) UDP
d) IP
e) DTLS
8. W bazie danych są następujące tabele:
-
Ksiazki
Autorzy
Ksiazki_Autorzy
id_ksiazki (PK)
id_autora (PK)
id (PK)
tytul
nazwisko
id_ksiazki (FK)
rok_wydania
id_autora (FK)
Napisz zapytanie SQL, przy pomocy którego wybrane zostaną tytuły wszystkich książek napisanych przez autora o nazwisku Nowak, wydane po 2000 roku. (4p)