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
sk2:zagadnienia-test [2022/01/17 22:01]
jkonczak [Kształtowanie ruchu]
sk2:zagadnienia-test [2025/01/20 13:56] (aktualna)
jkonczak
Linia 1: Linia 1:
-Zagadnienia na test 2019/2020:+=== Zagadnienia na test 2024/2025===
  
-====== Programowanie ======+DNS: 
 +  * co to jest TLD i FQDN 
 +  * jaka jest rola serwerów, czym różnią się między sobą: 
 +    * root, authoritive,​ caching 
 +      * komu i na jakie pytania (nie)odpowiedzą powyższe serwery 
 +      * kto zwykle używa tych serwerów 
 +    * master, slave 
 +  * do czego służą i jaką treść (adres IP, nazwę domenową, tekst) muszą mieć rekordy: 
 +    * A, AAAA 
 +    * PTR (+ jak buduje się nazwę domenową zapytania o ten rekord) 
 +    * NS (+ jakie są dodatkowe wymagania jeśli NS wskazuje na serwer wewnątrz domeny) 
 +    * MX 
 +    * CNAME 
 +    * TXT 
 +    * SOA 
 +      * czym są dwa pierwsze pola 
 +      * czym jest serial, kto go używa i do czego, kto go ustawia i na jaką wartość 
 +      * <​small>​nie trzeba znać szczegółów czasów podanych w tym rekordzie</​small>​ 
 +  * jakie rekordy i dla jakich nazw domenowych są wykorzystywane / potrzebne:​ 
 +    * do działania DNS – które budują hierarchię,​ które synchronizują serwery odpowiedzialne za jedną domenę 
 +    * do tłumaczenia nazw domenowych na IPv4/6 
 +    * do tłumaczenia IPv4/6 na nazwę domenową 
 +    * w poczcie elektronicznej 
 +  * umieć określić co zrobi podana komenda ''​dig''​ / ''​host''​ (<​small>​w zakresie odpytania o konkretny typ rekordu i odpytania konkretnego serwera DNS</​small>​) 
 +  * odczytać informacje z wyniku wspomnianych komend, szczególnie który z rekordów zostanie użyty we wskazanej sytuacji 
 +  * na czym polega cache'​owanie rekordów (przez serwery caching) 
 +    * kto i jak określa ile czasu rekord może być cache'​owany 
 +    * co może być przyczyną otrzymania innej odpowiedzi od serwera cache niż od serwera authoritive 
 +  * które rekordy są obowiązkowe dla każdej strefy 
 +  * jakie rodzaje rekordów dla tej samej nazwy domenowej się wzajemnie wykluczają \\ jakich rekordów dla domen/​poddomen nie można jednocześnie umieszczać w pliku strefy  
 +  * gdzie (na serwerze której domeny) należy umieszczać wpisy dla podanej nazwy domenowej 
 +  * jak w konfiguracji serwera bind9 wskazuje się którą domenę obsługuje i skąd ma wziąć plik strefy dla tej domeny 
 +  * jak buduje się plik strefy, jakie skróty można w nim stosować 
 +  * należy umieć napisać rekordy pasujące do podanego pliku strefy dla wskazanej domeny i realizujące wskazane zadanie 
 +  * co to jest zone transfer, kto i kiedy go wykonuje
  
-Zagadnienia  +HTTP
-  * 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>​ +  * jak wygląda ​prawidłowe żądanie HTTP/1.HTTP/1.1 (należy ​umieć napisać proste ​żądanie) 
-  * 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>​ +  * które ​części adresu URL są umieszczane w żądaniu HTTP gdzie są w nim umieszczane 
-  * 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>​ +  * jak się wykonuje ​gdzie się używa percent-encoding ​//vel// URL encoding 
-  * Nie jest wymagana znajomość składni, kolejność czy nazwy argumentów funkcji / pól struktur. \\ <​html><​small></​html>​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''​.<​html></​small></​html>​ +  * co to są kody odpowiedzi i gdzie je znaleźć w odpowiedzi HTTP 
-  * 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łęduWiedzieć czym jest zmienna ''​errno'' ​gdzie znaleźć kody które może zawierać. +  * jak HTTP/1.x oddziela się nagłówki od siebie i nagłówki od treści żądania 
-  * Znać różnice między protokołem TCP i UDP. +  * czym różni ​się HTTPS od HTTP 
-  * 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. +  jakie są podstawowe metody HTTP i do czego są ywane 
-  * Wiedzieć czym różni się blokująca i nieblokująca obsługa gniazd. +  do czego są wykorzystywane i jakie przyjmują wartości nagłówki: 
-  * Wiedzieć ​które ​funkcje operujące na gniazdach mogą zablokować program. +    * Host 
-  * Wiedzieć co oznaczają wartości zwracane przez funkcje sieciowe. +    * CookieSet-Cookie ​(nie trzeba znać składni) 
-  * Ile bajtów może przeczytać funkcja read (recv, recvfrom, …), kiedy mniej niż żądano. +    * Connection 
-  * Ile bajtów może przeczytać funkcja write (send, sendto, …), kiedy mniej niż żądano. +    * Content-Length 
-  * Znać wzorce projektowe do odbierania ​wysyłania wiadomości (uwzględniające możliwość zablokowania się funkcji / niemożliwość wysłania i odebrania danych bez czekania). +    * Content-Type 
-  * Wiedzieć jakimi funkcjami obsługuje ​się szukanie IP dla podanej nazwy domenowej ​czym te funkcje ​się żnią. +    * Location 
-  * Na czym polega wielowątkowa obsługa gniazd. +    * <​small>​w pytaniach mogą pojawić się inne wspomniane w materiałach nagłówki, ale odpowiedź ​na pytanie ​nie będzie wymagać ich znajomości</​small>​ 
-  * Na czym polega poll/epoll, czym się różnią, jakie zdarzenia na gniazdach mogą raportować. +  * jakie nagłówki ​są obowiązkowe w HTTP/1.0, HTTP/1.1, HTTP/2 i HTTP/3 
-  * Jak, wykorzystując ''​poll'' ​''​epoll_wait'',​ czekać na możliwość odczytu ​zapisu danych do któregoś z podanych gniazd. +  należy znać nazwy i możliwości programów ​''​wget'' ​''​curl'' ​oraz możliwości narzędzia ​//sieć// z narzędzi deweloperskich ​przeglądarkach 
-  * Jak wygląda obsługa multicastu. +  * dla protokołów HTTP/1.0, HTTP/1.1, HTTP/​2 ​HTTP/3: 
-  * Wiedzieć jakie "​archetypowe"​ klasy do obsługi sieci oferują języki/​biblioteki wysokiego poziomu. +    * czy i jak przesyłane ​jest wiele żądań w ramach jednego połączenia (szeregowo, równolegle,​ szeregowo-równolegle) 
-  * Wiedzieć ​jakich sytuacjach wybrać języki/biblioteki wysokiego poziomu a w jakich należy korzystać z niskopoziomowego interfejsu systemowego. +    * jakie części żądania (nagłówki, treśćmogą być kompresowanejakie muszą być kompresowane 
-  * <​html><​small></​html>​Dla jasności: nie jest wymagana znajomość API do sieci z bibliotek Qt / języka Java<​html></​small></​html>​ +    * czy użycie szyfrowania ​jest możliwe czy obowiązkowe 
-Przykładowe formy pytań w tej części+  * jak rozpoczyna się połączenie używające HTTP/2 wiedząc bądź ​nie wiedząc czy serwer wspiera tą wersję protokołu
-  * 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<​html><​sup>​®</​sup></​html>​ +
-    * 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 podtypy, ​do czego słą) +
-    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ł+
-      * jak jest wykorzystywane wiele anten +
-    * <​html><​small></​html>​Nie będzie pytań dotyczących konkretnych komend na urządzeniach Cisco/​MikroTik<​html></​small></​html>​ +
- +
-====== DNS ====== +
-  * Znać +
-    * pojęcia +
-      * DNS +
-      * nazwa domenowaFQDN +
-      * 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 +
-    * co mają zapewniać bezklasowe qdisc (jaką ideę realizują) +
-      pfifo +
-      * pfifo_fast +
-      * sfq +
-      * tbf +
-      * fq_codel +
-    * co mają zapewniać klasowe qdisc (jaką ideę realizują) +
-      * prio +
-      * htb +
-    * czym są klasy +
-      * po co są tworzone +
-      * dla htb jakie mają opcje +
-    * czym są filtry +
-      * po co są tworzone +
-      jakie filtry da się zdefiniować +
-        * ''​u32'' ​– adresy IP, porty TCP/UDP +
-        * ''​fw'' ​– ruch oznaczony wcześniej przez iptables/ebtables +
-  * Wytłumaczyć co robią podane komendy (w w/w zakresie) +
- +
-====== IPv6 ====== +
-  * Wiedzieć +
-    * jak wygląda adres +
-    * jakie są reguły zapisu ​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 odpowiedzipozostałe pytania mają tylko jedną poprawną odpowiedź. +
-  * Pytania jednokrotnego wyboru od wielokrotnego wyboru można rozróżnić też po wyglądzie pola input: +
-    * <​html><​input type="​radio"/>​ jednokrotny wybór</​html>​ +
-    * <​html><​input type="​checkbox"/>​ wielokrotny wybór</​html>​ +
-    * <​html><​small>​ Dlaczego to piszę? Bo to pytanie padało w zeszłych latach w trakcie testu...</​small></​html>​ +
-  * 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. ​+
  
 +Poczta:
 +  * z czego składa się e-mail, jak rozdziela się nagłówki od treści
 +  * do czego są wykorzystywane i jakie przyjmują wartości nagłówki:
 +    * From, To, Cc, Bcc, Date, Subject
 +    * Message-ID, In-Reply-To,​ References
 +    * Received
 +    * Content-Type
 +      * jakie typy MIME są używane do przesyłania maila w wersji plaintext + HTML, jakie do maila z załącznikami
 +      * jak rozdziela się części wieloczęściowego maila
 +      * jakie nagłówki można / należy powtórzyć na początku każdej części
 +    * Content-Transfer-Encoding
 +      * jakie znaki są normalnie dopuszczalne w mailach
 +      * jakie są metody kodowania znaków spoza 7bit
 +      * jak kodowania wpływają na ilość przesyłanych danych
 +  * należy rozumieć nazwy agentów (MUA, MSA, MTA, …) i wiedzieć jakie jest ich zadanie
 +  * protokół SMTP:
 +    * do czego służy, kiedy jest używany
 +    * skąd biorą się adresy nadawcy i odbiorców używane przez SMTP, jaki mają związek z adresami w nagłówkach maila
 +    * należy znać komendy protokołu SMTP potrzebne do wysłania maila (helo/ehlo, mail from, rcpt to, data)
 +    * jak kończy się zawartość przesyłanego maila
 +  * protokoły POP3 / IMAP:
 +    * do czego służą, kiedy są używane
 +    * jakie mają możliwości,​ czym się od siebie różnią
 +  * czym różni się połączenie bez szyfrowania,​ szyfrowane po użyciu STARTTLS, szyfrowane od początku
  
 +W teście będą pytania zamknięte (jednokrotnego wyboru) i otwarte, przy czym za te ostatnie będzie można dostać około ⅓ punktów.
sk2/zagadnienia-test.1642453287.txt.gz · ostatnio zmienione: 2022/01/17 22:01 przez jkonczak