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 [2024/01/18 13:26]
jkonczak
sk2:zagadnienia-test [2025/01/20 13:56] (aktualna)
jkonczak
Linia 1: Linia 1:
-Zagadnienia na test 2023/2024:+=== 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_ntoa, inet_addr, htons, ntohs, select, poll, epoll_create1,​ epoll_ctl, epoll_wait''<​html></​small></​html>​ +  * jak wygląda prawidłowe żądanie HTTP/1.0 i HTTP/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,​ SOMAXCONN, 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'' ​(tylko do czego służy)'',​ inaddr_t, hostent, addrinfo, epoll_event,​ pollfd''​ <​html></​small></​html>​ +  * jak się wykonuje i 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, IPv6i 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 
-  * <​small>​Kojarzyć zmienne, stałe i funkcje z interfejsu POSIX / standardu C które ​mają zastosowanie przy programowaniu aplikacji sieciowych ​pojawiały się na laboratoriach – mogą się pojawić ​kodzie podanym w treści zadania</​small>​ +  * jak w HTTP/1.x oddziela się nagłówki od siebie ​nagłówki od treści żądania 
-  * Wiedzieć ​jak wygląda obsługa błędów w sieciach. +  * czym różni się HTTPS od HTTP 
-  * Umieć na podstawie objaśnienia błędu wypisanego np. przez ''​perror''​ zdiagnozować ​co mogło być przyczyną błędu. +  * jakie są podstawowe metody HTTP i do czego są używane 
-  * Wiedzieć czym jest zmienna ''​errno'' ​i gdzie znaleźć ​kody które może zawierać. +  * do czego są wykorzystywane i jakie przyjmują wartości ​nagłówki: 
-  * Znać różnice między protokołem TCP UDP, m. inn. strumieniowe vs datagramowe,​ gwarancje dawane programiście przez protokół+    Host 
-  * 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. +    CookieSet-Cookie ​(nie trzeba znać składni
-  * Wiedzieć jakie funkcje pozwalają znaleźć IP dla podanej nazwy domenowej i czym się różnią +    Connection 
-  * Wiedzieć ​czym różni się blokująca i nieblokująca obsługa gniazd. +    Content-Length 
-  * Wiedzieć które funkcje operujące na gniazdach mogą zablokować program. +    Content-Type 
-  * Wiedzieć co oznaczają wartości ​zwracane przez funkcje sieciowe. +    * Location 
-  Ile bajtów może przeczytać funkcja read (recv, recvfrom, …), kiedy mniej niż żądano. +    * <​small>​pytaniach mogą pojawić ​się inne wspomniane ​materiałach nagłówkiale odpowiedź na pytanie nie będzie ​wymagać ich znajomości</small> 
-  Ile bajtów może przeczytać funkcja write (sendsendto, …), kiedy mniej niż żądano. +  * jakie nagłówki są obowiązkowe ​HTTP/1.0, HTTP/1.1, HTTP/2 i HTTP/3 
-  * 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 +  * 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 
-  * 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). +  * dla protokołów HTTP/1.0HTTP/1.1, HTTP/2 i HTTP/3
-  Wiedzieć jakimi funkcjami obsługuje się szukanie IP dla podanej nazwy domenowej i czym te funkcje się różnią. +    * czy i jak przesyłane jest wiele żądań ​ramach jednego połączenia ​(szeregowo, równolegleszeregowo-równolegle
-  Na czym polega wielowątkowa obsługa gniazd. +    * jakie części żądania (nagłówkitreść) mogą być kompresowane,​ jakie muszą być kompresowane 
-  Wiedzieć które funkcje można bezpiecznie używać ​programie wielowątkowym, jak działają ​ i jakie mają gwarancje współbieżne wywołania funkcji sieciowych. +    * czy użycie ​szyfrowania jest możliwe czy obowiązkowe 
-  * Na czym polega ''​poll''​ / mechanizm epoll, czym się różnią, jakie zdarzenia na gniazdach raportują ​przypadku przyjścia nowego połączenia, przyjścia danych, możliwości wysłania danychzamknięcia gniazda, wystąpienia ​błędu na gnieździe+  * jak rozpoczyna się połączenie ​ywające HTTP/2 wiedząc bądź nie wiedząc czy serwer wspiera tą wersję protokołu
-  * 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. +
-  * 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. +
-  * kojarzyć komendy ​''​netstat'' ​''​ss'',​ ''​nc''​ / ''​netcat'' ​''​socat'',​ ''​strace'' ​''​ltrace'',​ ''​gdb''​ (debugger) 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 bibliotek Qt / języka Java<​html></​small></​html>​ +
-Przykładowe formy pytań ​tej części: +
-  * Pytania typowo teoretyczne**np.**+
-    * co robi funkcja  +
-    * co oznacza konkretny argument (por. "​czym ​funkcji ''​printf(char * fstr…)''​ jest argument ''​fstr''"​+
-    * co określają stałew jakiej funkcji można je użyć +
-    * czy tej funkcji można użyć w danym przypadku +
-    * co spowoduje ​użycie ​funkcji w danym przypadku +
-  * Fragment kodu i pytanie: +
-    * co robi dany kod / podana linia +
-    * co wypisze na ekran wykonanie danego kod +
-    * w jakim kontekście ​może być użyty +
-    * w jakim przypadku nie zadziała prawidłowo +
-  * Fragment kodu z luką i pytanie co pasuje w jej miejsce +
-  * Komunikat o błędzie i pytanie co mogło taki komunikat spowodować +
-  * Jakim programem sprawdzić konkretny aspekt działania programu sieciowego, do czego służy dany program, co wypisze ​spowoduje podana komenda, jaką komendą coś wypisać / spowodować+
  
-====== Sieci bezprzewodowe ====== +Poczta: 
-  * Znać +  * z czego składa się e-mailjak rozdziela ​się nagłówki od treści 
-    * pojęcia: WLANIEEE 802.11, Wi-Fi<​html><​sup>​®</​sup></​html>​ +  * do czego są wykorzystywane i jakie przyjmują wartości nagłówki: 
-    * rodzaje sieci +    * FromToCcBccDateSubject 
-      * IBSS (ad-hoc) +    Message-IDIn-Reply-To, References 
-      * BSS i ESS (infrastruktura) +    * Received 
-      * czym się różni BSS i ESS +    Content-Type 
-      w jakich trybach może pracować karta sieciowa +      * jakie typy MIME są używane do przesyłania maila w wersji plaintext + HTMLjakie do maila z załącznikami 
-    * identyfikatory +      * jak rozdziela ​się części wieloczęściowego maila 
-      * BSSID +      * jakie nagłówki można / należy powtórzyć na początku każdej części 
-      * SSID (ESSID) +    * Content-Transfer-Encoding 
-      * kiedy i do czego są używane w/w identyfikatory +      * jakie znaki są normalnie dopuszczalne w mailach 
-    * role urządzeń +      * jakie są metody kodowania znaków spoza 7bit 
-      * AP +      * jak kodowania ​wpływają na ilość przesyłanych danych 
-      * STA (stacja) +  należy rozumieć nazwy agentów ​(MUAMSAMTA, …) wiedzieć ​jakie jest ich zadanie 
-      * na jakiej warstwie pracują +  * protokół SMTP: 
-      * jakich identyfikatorów używają +    * do czego służy, kiedy jest używany 
-      * w jakich rodzajach sieci występują +    * skąd biorą się adresy nadawcy i odbiorców ​ywane przez SMTP, jaki mają związek z adresami w nagłówkach maila 
-    * bezpieczeństwo +    * należy ​znać komendy protokołu SMTP potrzebne do wysłania ​maila (helo/ehlomail from, rcpt to, data
-      * WEPWPA-PSKWPA-EAPWPA2-PSKWPA2-EAPWPA3-SAE, WPA3-EAP, WPS +    * jak kończy ​się zawartość przesyłanego maila 
-      realny poziom bezpieczeństwa +  * protokoły POP3 / IMAP: 
-      * realizacja uwierzytelniania +    * do czego służą, kiedy są ywane 
-      * realizacja szyfrowania +    * jakie mają możliwości,​ czym się od siebie różnią 
-      * różnice między WPA/WPA2-PSKWPA3-SAE i WPA/​WPA2/​WPA3-EAP<​html><​!-- +  * czym różni się połączenie bez szyfrowania,​ szyfrowane po użyciu STARTTLS, szyfrowane od początku
-    * na warstwie łącza danych: +
-      zadania karty bezprzewodowej +
-      * algorytm CSMA/CA, problem ukrytej/​odkrytej stacji +
-      * rodzaje ramek (typy i podtypy, do czego słą) +
-      * jak tworzy ​się listę dostępnych sieci +
-      * jak dołącza się do wybranej sieci +
-      --></​html>​ +
-    * Dla standardów 802.11{a,​b,​g,​n,​ac,​ax} +
-      * dla każdego standardu: z jakich pasm częstotliwości korzysta (2.4/​5/​6GHz) +
-      * dla każdego standardu: z jakimi szerokościami kanałów i przybliżonymi prędkościami mogą pracować +
-      * czym jest wiele strumieni przestrzennych (spatial stream), ​jak wpływają na prędkość sieci +
-      jak jest wykorzystywane wiele anten – beamforming,​ SU/​MU-MIMO +
-      * 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>​ +
- +
-====== 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 +
-    * 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) +
-    * jakie rekordy i w jakich domenach są wykorzystywane/​potrzebne+
-      * do działania ​DNS +
-      * do tłumaczenia adresów domenowych na IPv4/6 +
-      * w poczcie elektronicznej +
-      * do tłumaczenia IP na nazwę domenową  +
-    * 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 lub co oznacza jej wynik): +
-    * odpytania o konkretny typ rekordu +
-    * odpytania konkretnego serwera DNS +
-    * wyjaśnienia wyniku +
- +
-<​html><​!-- +
-====== 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 +
-      * jak używa się filtra ''​fw''​ +
-  * Wytłumaczyć co robią podane komendy (w w/w zakresie) +
---></​html>​ +
-   +
-====== IPv6 ====== +
-  * Wiedzieć +
-    * jak wygląda adres +
-    * jakie są reguły zapisu i skracania adresu IPv6 +
-    * jak jest zbudowany adres unicastowy +
-      * prefix +
-      * subnet +
-      * IID +
-    * Skąd jest brany IID +
-    * jak jest zbudowany adres multicastowy +
-    * jak zmieniono nagłówek IPv6 w porównaniu ​do IPv4 +
-    * jak automatycznie nadaje się adresy IPv6 +
-      * NDP +
-      * DHCPv6 +
-    * jak jest realizowana fragmentacja w IPv6 i co to jest pMTU +
-    * jakie wygląda współistnienie IPv4 i IPv6 +
-      * co oznacza dual stack +
-      * co to są tunele 6in4 +
-      * czemu służy usługa tunnel broker +
-      * czemu słą translacje 4→6 i 6→4 +
-  * 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: +
-    * <​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. +
-  * W pytaniach wielokrotnego wyboru: +
-    * Zaznaczenie więcej odpowiedzi ​niż jest poprawnych skutkuje brakiem punktu za pytanie. +
-    * Za każdą zaznaczoną poprawną odpowiedź z //N// poprawnych odpowiedzi dostaje ​się //1/N// punktu. \\ <​small>​ Np. zaznaczając 2 poprawne i 1 błędną odpowiedź w pytaniu z 3 poprawnymi odpowiedziami uzyskuje się ⅔ punkta za pytanie.</​small>​ +
-  * **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. ​+
  
 +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.1705580800.txt.gz · ostatnio zmienione: 2024/01/18 13:26 (edycja zewnętrzna)