przejście do zawartości
Jan Kończak
Narzędzia użytkownika
Zaloguj
Narzędzia witryny
Narzędzia
Pokaż stronę
Poprzednie wersje
Odnośniki
Ostatnie zmiany
Menadżer multimediów
Indeks
Zaloguj
Ostatnie zmiany
Menadżer multimediów
Indeks
Jesteś tutaj:
start
»
sk2
»
zagadnienia-test
sk2:zagadnienia-test
Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić.
Zagadnienia na test 2022/2023: ====== Programowanie ====== 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_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 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> * 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> * 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ć 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ć 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. * 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). * 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'' / 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 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'' 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> Przykładowe formy pytań w tej części: * Pytania typowo teoretyczne (np. o działanie funkcji) * 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 * 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) * kiedy i do czego są używane w/w identyfikatory * 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, problem ukrytej/odkrytej stacji * 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 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) * 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 ====== 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) ====== 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 oznacza dual stack * co to są tunele 6in4 * czemu służy usługa tunnel broker * czemu służą 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. * 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.1673903782.txt.gz
· ostatnio zmienione: 2023/01/16 22:16 (edycja zewnętrzna)
Narzędzia strony
Pokaż stronę
Poprzednie wersje
Odnośniki
Złóż / rozłóż wszystko
Do góry