Narzędzia użytkownika

Narzędzia witryny


Pasek boczny

sk2:zagadnienia-test

To jest stara wersja strony!


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 typ int.
  • Wiedzieć jak wygląda obsługa błędów w sieciach. Umieć na podstawie objaśnienia błędu wypisanego np. przez perror zdiagnozować co mogło być przyczyną błędu. Wiedzieć czym jest zmienna errno i 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
    • 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
      • realny poziom bezpieczeństwa
      • realizacja uwierzytelniania
      • realizacja szyfrowania
      • różnice między WPA/WPA2-PSK i WPA/WPA2-EAP
    • na warstwie łącza danych:
      • zadania karty bezprzewodowej
      • algorytm CSMA/CA
      • rodzaje ramek
    • Dla standardów 802.11{a,b,g,n,ac}
      • z jakich częstotliwości korzystają
      • jakie pasmo zajmują
      • z jakimi prędkościami mogą pracować

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 którym serwerze) należy umieszczać wpisy
    • na czym polega zone transfer

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/UDP
        • fw – 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.1642451813.txt.gz · ostatnio zmienione: 2022/01/17 21:36 przez jkonczak