sk2:zagadnienia-test
This is an old revision of the document!
Table of Contents
Zagadnienia na test 2019/2020:
Programowanie
Zagadnienia:
- Znać podstawowe funkcje, wiedzieć co robią.
Lista funkcji:socket, bind, connect, listen, accept, shutdown, close, fcntl, read, recv, recvfrom, write, send, sendto, setsockopt, gethostbyname, getaddrinfo, getnameinfo, inet_aton, inet_aton, inet_addr, htons, ntohs, select, poll, epoll_create1, epoll_ctl, epoll_wait - Znać podstawowe stałe i wiedzieć co oznaczają.
Lista stałych:AF_INET, AF_INET6, SOCK_STREAM, SOCK_DGRAM, INADD_ANY, INADDR_LOOPBACK, O_NONBLOCK, MSG_DONTWAIT, MSG_WAITALL, SHUT_RDWR, SOL_SOCKET, SO_REUSEADDR, POLLIN, POLLOUT, EPOLLIN, EPOLLOUT, EPOLLET - Znać podstawowe struktury i wiedzieć co zawierają.
Lista struktur:sockaddr, sockaddr_in, sockaddr_in6, inaddr_t, hostent, addrinfo, epoll_event, pollfd - Nie jest wymagana znajomość składni, kolejność czy nazwy argumentów funkcji / pól struktur.
Np. trzeba wiedzieć, że funkcja socket tworzy gniazdo podanego protokołu (IPv4, IPv6) i typu (strumieniowe, zorientowane na wiadomość), a nie trzeba wiedzieć że pierwszy argument nazywa siędomain, a trzeci ma typint. - Wiedzieć jak wygląda obsługa błędów w sieciach. Umieć na podstawie objaśnienia błędu wypisanego np. przez
perrorzdiagnozować co mogło być przyczyną błędu. Wiedzieć czym jest zmiennaerrnoi gdzie znaleźć kody które może zawierać. - Znać różnice między protokołem TCP i UDP.
- Wiedzieć w jakiej kolejności można i w jakiej kolejności należy wywoływać funkcję na gnieździe, w szczególności by stworzyć klienta/serwer TCP/UDP.
- Wiedzieć czym różni się blokująca i nieblokująca obsługa gniazd.
- Wiedzieć które funkcje operujące na gniazdach mogą zablokować program.
- Wiedzieć co oznaczają wartości zwracane przez funkcje sieciowe.
- Ile bajtów może przeczytać funkcja read (recv, recvfrom, …), kiedy mniej niż żądano.
- Ile bajtów może przeczytać funkcja write (send, sendto, …), kiedy mniej niż żądano.
- Znać wzorce projektowe do odbierania i wysyłania wiadomości (uwzględniające możliwość zablokowania się funkcji / niemożliwość wysłania i odebrania danych bez czekania).
- Wiedzieć jakimi funkcjami obsługuje się szukanie IP dla podanej nazwy domenowej i czym te funkcje się różnią.
- Na czym polega wielowątkowa obsługa gniazd.
- Na czym polega poll/epoll, czym się różnią, jakie zdarzenia na gniazdach mogą raportować.
- Jak, wykorzystując
poll/epoll_wait, czekać na możliwość odczytu / zapisu danych do któregoś z podanych gniazd. - Jak wygląda obsługa multicastu.
- Wiedzieć jakie "archetypowe" klasy do obsługi sieci oferują języki/biblioteki wysokiego poziomu.
- Wiedzieć w jakich sytuacjach wybrać języki/biblioteki wysokiego poziomu a w jakich należy korzystać z niskopoziomowego interfejsu systemowego.
- Dla jasności: nie jest wymagana znajomość API do sieci z bibliotek Qt / języka Java
Przykładowe formy pytań w tej części:
- Pytania typowo teoretyczne (np. o działanie funkcji)
- Fragment kodu i pytanie:
- co robi / co wypisze na ekran
- w jakim kontekście może być użyty
- w jakim przypadku nie zadziała prawidłowo
- Komunikat o błędzie i pytanie co mogło taki komunikat spowodować
Sieci bezprzewodowe
- Znać
- pojęcia: WLAN, IEEE 802.11, Wi-Fi®
- rodzaje sieci
- IBSS (ad-hoc)
- BSS i ESS (infrastruktura)
- czym się różni BSS i ESS
- w jakich trybach może pracować karta sieciowa
- identyfikatory
- BSSID
- SSID (ESSID)
- rola identyfikatorów
- role urządzeń
- AP
- STA (stacja)
- na jakiej warstwie pracują
- jakich identyfikatorów używają
- w jakich rodzajach sieci występują
- bezpieczeństwo
- WEP, WPA-PSK, WPA-EAP, WPA2-PSK, WPA2-EAP, WPA3-SAE, WPA3-EAP
- realny poziom bezpieczeństwa
- realizacja uwierzytelniania
- realizacja szyfrowania
- różnice między WPA/WPA2-PSK, WPA3-SAE i WPA/WPA2/WPA3-EAP
- na warstwie łącza danych:
- zadania karty bezprzewodowej
- algorytm CSMA/CA
- rodzaje ramek (typy i podtypy, do czego służą)
- Dla standardów 802.11{a,b,g,n,ac,ax}
- z jakich częstotliwości korzystają
- jakie pasmo zajmują
- z jakimi prędkościami mogą pracować
- czy wiele sieci/urządzeń może naraz korzystać z tego samego kanału
- jak jest wykorzystywane wiele anten
- Nie będzie pytań dotyczących konkretnych komend na urządzeniach Cisco/MikroTik
DNS
- Znać
- pojęcia
- DNS
- nazwa domenowa, FQDN
- TLD
- rodzaje serwerów
- root
- authoritive
- caching
- wiedzieć jaka jest rola w/w serwerów
- master
- slave
- Wiedzieć
- do czego służy . (kropka) w DNS
- jak jest wykonywane zapytanie
- co można wpisać do DNS
- jakie są rodzaje rekordów
- do czego służą i jak wyglądają
- A, AAAA
- PTR
- NS
- MX
- SOA (nie trzeba znać składni)
- CNAME
- TXT
- gdzie (na serwerze której domeny) należy umieszczać wpisy dla podanej nazwy domenowej (powyższych typów)
- na czym polega cache'owanie rekordów (przez serwery caching), kto i jak określa ile czasu rekord może być cache'owany
- na czym polega zone transfer
- znać komendy dig / host do odpytywania serwerów DNS w zakresie (= tylko umieć określić, co podana komenda robi):
- odpytania o konkretny typ rekordu
- odpytania konkretnego serwera DNS
- wyjaśnienia wyniku
Kształtowanie ruchu
- Wiedzieć
- na czym polega kształtowanie ruchu
- jaki ruch można kształtować
- w jakich sytuacjach kształtowanie nic nie poprawi
- o czym można decydować
- czym różnią się bezklasowe i klasowe qdisc
- wiedzieć co mają zapewniać bezklasowe qdisc (jaką ideę realizują)
- pfifo
- pfifo_fast
- sfq
- tbf
- fq_codel
- wiedzieć co mają zapewniać klasowe qdisc (jaką ideę realizują)
- prio
- htb
- klasy
- po co są tworzone
- dla htb jakie mają opcje
- filtry
- po co są tworzone
- jakie filtry da się zdefiniować
u32– adresy IP, porty TCP/UDPfw– ruch oznaczony wcześniej przez iptables/ebtables
IPv6
- Wiedzieć
- jak wygląda adres
- jakie są reguły zapisu i skracania adresu IPv6
- jak jest zbudowany adres unicastowy
- prefix
- subnet
- IID
- jak jest zbudowany adres multicastowy
- jak zmieniono nagłówek IPv6 w porównaniu do IPv4
- jak automatycznie nadaje się adresy IPv6
- NDP
- DHCPv6
- jakie wygląda współistnienie IPv4 i IPv6
- co to są tunele
- jak wygląda podstawowy tunel 6in4
- czemu służy usługa tunnel broker
- Znać
- rodzaje adresów
- unicast
- multicast
- anycast
- adresy specjalne
- adresy link-local
- jedyny dotychczas przydzielony blok globalnie routowalny
Instrukcja obsługi testu:
- Liczba pytań nie jest okrągła (na przykład 27).
- Jest to zestaw pytań testowych o odpowiedziach jednokrotnego i wielokrotnego wyboru.
- Pytania wielokrotnego wyboru mają podaną liczbę poprawnych odpowiedzi, pozostałe pytania mają tylko jedną poprawną odpowiedź.
- Pytania jednokrotnego wyboru od wielokrotnego wyboru można rozróżnić też po wyglądzie pola input:
- jednokrotny wybór
- wielokrotny wybór
- Dlaczego to piszę? Bo to pytanie padało w zeszłych latach w trakcie testu...
- Na każde pytanie co najmniej jedna odpowiedź jest poprawna.
- Za błędne odpowiedzi nie ma punktów ujemnych.
- Zaznaczenie w pytaniach wielokrotnego wyboru więcej odpowiedzi niż jest poprawnych skutkuje brakiem punktu za pytanie.
- Nie można korzystać z żadnych materiałów pomocniczych ani konsoli
Q&A
Q: Czy na teście mogą pojawić się jakieś komendy?
A: W treści pytania lub w możliwych odpowiedziach mogą pojawić się nazwy programów, pełne polecenia lub wyniki wykonania poleceń. Wszystkie zadania to wybór jednej albo wskazanej liczby gotowych odpowiedzi, w teście nie będzie pytań w których konieczne by było wpisanie jakiegokolwiek teksu.
sk2/zagadnienia-test.1642453098.txt.gz · Last modified: (external edit)