Narzędzia użytkownika

Narzędzia witryny


sk2:zagadnienia-test

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Poprzednia wersja
Nowa wersja
Poprzednia wersja
Ostatnia wersja Both sides next revision
sk2:zagadnienia-test [2022/01/17 22:01]
jkonczak [Kształtowanie ruchu]
sk2:zagadnienia-test [2023/01/16 22:16]
jkonczak
Linia 1: Linia 1:
-Zagadnienia na test 2019/2020:+Zagadnienia na test 2022/2023:
  
 ====== Programowanie ====== ====== Programowanie ======
  
 Zagadnienia:  ​ Zagadnienia:  ​
-  * Znać podstawowe funkcje, wiedzieć co robią. \\ <​html><​small></​html>​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''<​html></​small></​html>​+  * Znać podstawowe funkcje, wiedzieć co robią. \\ <​html><​small></​html>​Lista funkcji: ''​socket,​ bind, connect, listen, accept, shutdown, close, fcntl, read, recv, recvfrom, write, send, sendto, setsockopt, gethostbyname,​ getaddrinfo,​ getnameinfo,​ inet_aton, ​inet_ntoa, inet_addr, htons, ntohs, select, poll, epoll_create1,​ epoll_ctl, epoll_wait''<​html></​small></​html>​
   * Znać podstawowe stałe i wiedzieć co oznaczają. \\ <​html><​small></​html>​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''<​html></​small></​html>​   * Znać podstawowe stałe i wiedzieć co oznaczają. \\ <​html><​small></​html>​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''<​html></​small></​html>​
   * Znać podstawowe struktury i wiedzieć co zawierają. \\ <​html><​small></​html>​Lista struktur: ''​sockaddr,​ sockaddr_in,​ sockaddr_in6,​ inaddr_t, hostent, addrinfo, epoll_event,​ pollfd''​ <​html></​small></​html>​   * Znać podstawowe struktury i wiedzieć co zawierają. \\ <​html><​small></​html>​Lista struktur: ''​sockaddr,​ sockaddr_in,​ sockaddr_in6,​ inaddr_t, hostent, addrinfo, epoll_event,​ pollfd''​ <​html></​small></​html>​
Linia 10: Linia 10:
   * 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ć.   * 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.   * 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ć w jakiej kolejności można i w jakiej kolejności należy wywoływać ​funkcje ​na gnieździe, w szczególności by stworzyć klienta/​serwer TCP/UDP. 
 +  * Wiedzieć jakie funkcje pozwalają znaleźć IP dla podanej nazwy domenowej i czym się różnią
   * Wiedzieć czym różni się blokująca i nieblokująca obsługa gniazd.   * 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ć które funkcje operujące na gniazdach mogą zablokować program.
Linia 16: Linia 17:
   * Ile bajtów może przeczytać funkcja read (recv, recvfrom, …), kiedy mniej niż żądano.   * 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.   * Ile bajtów może przeczytać funkcja write (send, sendto, …), kiedy mniej niż żądano.
 +  * Wiedzieć jakie gwarancje (bądź brak) odbierania danych, kolejności odbioru, odbierania danych takimi porcjami jakimi były wysyłane, wysyłania nie szybciej niż pozwala łącze daje TCP i UDP
   * 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).   * 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ą.   * 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 wielowątkowa obsługa gniazd.
-  * Na czym polega poll/epoll, czym się różnią, jakie zdarzenia na gniazdach ​mogą raportować.+  * Na czym polega ​''​poll'' ​mechanizm ​epoll, czym się różnią, jakie zdarzenia na gniazdach ​raportują w przypadku przyjścia nowego połączenia,​ przyjścia danych, możliwości wysłania danych, zamknięcia gniazda, wystąpienia błędu na gnieździe.
   * Jak, wykorzystując ''​poll''​ / ''​epoll_wait'',​ czekać na możliwość odczytu / zapisu danych do któregoś z podanych gniazd.   * Jak, wykorzystując ''​poll''​ / ''​epoll_wait'',​ czekać na możliwość odczytu / zapisu danych do któregoś z podanych gniazd.
 +  * Jak funkcje ''​poll''​ / ''​epoll_wait''​ działają w wielowątkowych programach.
   * Jak wygląda obsługa multicastu.   * Jak wygląda obsługa multicastu.
   * Wiedzieć jakie "​archetypowe"​ klasy do obsługi sieci oferują języki/​biblioteki wysokiego poziomu.   * 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.   * Wiedzieć w jakich sytuacjach wybrać języki/​biblioteki wysokiego poziomu a w jakich należy korzystać z niskopoziomowego interfejsu systemowego.
 +  * kojarzyć komendy ''​netstat''​ / ''​ss'',​ ''​nc''​ / ''​netcat''​ / ''​socat''​ i ich użycie do rozwoju, testowania i diagnostyki programów sieciowych
   * <​html><​small></​html>​Dla jasności: nie jest wymagana znajomość API do sieci z bibliotek Qt / języka Java<​html></​small></​html>​   * <​html><​small></​html>​Dla jasności: nie jest wymagana znajomość API do sieci z bibliotek Qt / języka Java<​html></​small></​html>​
 Przykładowe formy pytań w tej części: Przykładowe formy pytań w tej części:
   * Pytania typowo teoretyczne (np. o działanie funkcji)   * Pytania typowo teoretyczne (np. o działanie funkcji)
   * Fragment kodu i pytanie:   * Fragment kodu i pytanie:
-    * co robi / co wypisze na ekran+    * co robi dany kod podana linia  
 +    * co wypisze na ekran wykonanie danego kod
     * w jakim kontekście może być użyty     * w jakim kontekście może być użyty
     * w jakim przypadku nie zadziała prawidłowo     * w jakim przypadku nie zadziała prawidłowo
Linia 44: Linia 49:
       * BSSID       * BSSID
       * SSID (ESSID)       * SSID (ESSID)
-      * rola identyfikatorów+      * kiedy i do czego są używane w/w identyfikatory
     * role urządzeń     * role urządzeń
       * AP       * AP
Linia 59: Linia 64:
     * na warstwie łącza danych:     * na warstwie łącza danych:
       * zadania karty bezprzewodowej       * zadania karty bezprzewodowej
-      * algorytm CSMA/CA+      * algorytm CSMA/CA, problem ukrytej/​odkrytej stacji
       * rodzaje ramek (typy i podtypy, do czego służą)       * rodzaje ramek (typy i podtypy, do czego służą)
 +      * jak tworzy się listę dostępnych sieci
 +      * jak dołącza się do wybranej sieci
     * Dla standardów 802.11{a,​b,​g,​n,​ac,​ax}     * Dla standardów 802.11{a,​b,​g,​n,​ac,​ax}
-      * z jakich częstotliwości ​korzystają +      * dla każdego standardu: ​z jakich ​pasm częstotliwości ​korzysta (2.4/​5/​6GHz) 
-      * jakie pasmo zajmują +      * dla każdego standardu: ​z jakimi ​szerokościami kanałów i przybliżonymi ​prędkościami mogą pracować 
-      * z jakimi prędkościami mogą pracować +      * czym jest wiele strumieni przestrzennych (spatial stream), jak wpływają na prędkość sieci 
-      * czy wiele sieci/​urządzeń może naraz korzystać z tego samego kanału +      * jak jest wykorzystywane wiele anten – beamforming,​ SU/MU-MIMO 
-      jak jest wykorzystywane wiele anten+      * czy wiele sieci/​urządzeń może naraz korzystać z tego samego kanału ​– CSMA, MU-MIMO, OFDMA 
 +    Znać zastosowanie,​ umieć czytać wyniki podstawowych komend (m. inn. ''​iwconfig'',​ ''​iw dev'',​ ''​iw phy'',​ ''​iwconfig … mode …'',​ ''​iw … set type …'',​ ''​iw[config] … scan'',​ ''​iw … [link/​info]'',​ ''​iwconfig … essid …'',​ ''​iwconfig … freq …'',​ ''​iw … <ibss join/​connect>​ …'',​ ''​wpa_supplicant''​) \\ <​html><​small></​html>​Potencjalne pytania będą zawierać poprawną składnię komend, będą dotyczyć wyboru pasującej komendy lub interpretacji wyniku komendy<​html></​small></​html>​
     * <​html><​small></​html>​Nie będzie pytań dotyczących konkretnych komend na urządzeniach Cisco/​MikroTik<​html></​small></​html>​     * <​html><​small></​html>​Nie będzie pytań dotyczących konkretnych komend na urządzeniach Cisco/​MikroTik<​html></​small></​html>​
  
Linia 95: Linia 103:
       * CNAME       * CNAME
       * TXT       * TXT
 +    * które rekordy są obowiązkowe dla każdej strefy
     * gdzie (na serwerze której domeny) należy umieszczać wpisy dla podanej nazwy domenowej (powyższych typów)     * 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 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     * na czym polega zone transfer
-  * znać komendy dig / host do odpytywania serwerów DNS w zakresie (= tylko umieć określić, co podana komenda robi):+  * znać komendy ​''​dig'' ​''​host'' ​do odpytywania serwerów DNS w zakresie (= tylko umieć określić, co podana komenda robi lub co oznacza jej wynik):
     * odpytania o konkretny typ rekordu     * odpytania o konkretny typ rekordu
     * odpytania konkretnego serwera DNS     * odpytania konkretnego serwera DNS
Linia 124: Linia 133:
     * czym są filtry     * czym są filtry
       * po co są tworzone       * po co są tworzone
-      * jakie filtry da się zdefiniować +      * jak używa ​się filtra ​''​fw''​
-        * ''​u32''​ – adresy IP, porty TCP/UDP +
-        * ''​fw'' ​– ruch oznaczony wcześniej przez iptables/​ebtables+
   * Wytłumaczyć co robią podane komendy (w w/w zakresie)   * Wytłumaczyć co robią podane komendy (w w/w zakresie)
  
Linia 143: Linia 150:
       * DHCPv6       * DHCPv6
     * jakie wygląda współistnienie IPv4 i IPv6     * jakie wygląda współistnienie IPv4 i IPv6
-      * co to są tunele +      ​* co oznacza dual stack 
-      * jak wygląda podstawowy tunel 6in4+      ​* co to są tunele 6in4
       * czemu służy usługa tunnel broker       * czemu służy usługa tunnel broker
 +      * czemu służą translacje 4→6 i 6→4
   * Znać   * Znać
     * rodzaje adresów     * rodzaje adresów
Linia 172: Linia 180:
 **Q:** Czy na teście mogą pojawić się jakieś komendy? \\ **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. ​ **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.txt · ostatnio zmienione: 2024/01/18 13:26 przez jkonczak