Zestawy rozmówBlog

Twoja wymarzona praca? Lets Git IT.
Interaktywna platforma przygotowująca do rozmów technicznych dla nowoczesnych programistów.

XGitHub

Platforma

  • Kategorie

Zasoby

  • Blog
  • O aplikacji
  • FAQ
  • Sugestie

Prawne

  • Polityka prywatności
  • Regulamin

© 2026 LetsGit.IT. Wszelkie prawa zastrzeżone.

Systemy operacyjne

Baza pytań rekrutacyjnych i wiedzy. Filtruj, szukaj i sprawdzaj swoją wiedzę.

Tematy

Procesy vs wątki — jaka jest różnica i kiedy to ma znaczenie?

easyprocessesthreadsconcurrency
Otwórz pytanie

Odpowiedź

Proces ma własną przestrzeń adresową i zasoby; wątki współdzielą adres w ramach procesu. Ma to znaczenie dla izolacji, narzutu pamięci i zarządzania współdzielonym stanem.

Czym jest context switching i dlaczego jest kosztowny?

mediumcontext-switchschedulerperformance
Otwórz pytanie

Odpowiedź

Context switching to przełączenie CPU między wątkiem/procesem. Jest kosztowny, bo OS zapisuje/odtwarza rejestry, przełącza mapowania pamięci i wpływa na cache/TLB.

Wyjaśnij wirtualną pamięć i stronicowanie.

mediumvirtual-memorypagingperformance
Otwórz pytanie

Odpowiedź

Pamięć wirtualna daje procesowi własną przestrzeń adresową mapowaną na pamięć fizyczną. Stronicowanie przenosi strony między RAM a dyskiem, zapewniając izolację i możliwość większej pamięci niż RAM.

Jak działa planowanie CPU (preemptive vs cooperative)?

mediumschedulingcpupriorities
Otwórz pytanie

Odpowiedź

Preemptive pozwala OS przerywać zadania dla sprawiedliwości i responsywności. Cooperative opiera się na dobrowolnym oddawaniu CPU, co może prowadzić do głodzenia.

Czym jest system call i po co tryby user/kernel?

easysyscallkerneluser-mode
Otwórz pytanie

Odpowiedź

System call to kontrolowane wejście do jądra dla operacji uprzywilejowanych (I/O, pamięć, procesy). Separacja user/kernel chroni system przed błędnymi lub złośliwymi aplikacjami.

Czym są file descriptors i jak działa buforowanie I/O?

mediumfile-descriptorsiobuffering
Otwórz pytanie

Odpowiedź

File descriptor to numeryczny uchwyt do otwartego pliku lub socketu. Buforowanie grupuje I/O w pamięci, zmniejsza liczbę syscalli i poprawia throughput kosztem opóźnionych zapisów.

Co powoduje deadlocki i jak im zapobiegać?

mediumdeadlocklocksconcurrency
Otwórz pytanie

Odpowiedź

Deadlock wymaga czterech warunków: wzajemne wykluczanie, hold-and-wait, brak preempcji i cykliczne oczekiwanie. Zapobieganie polega na złamaniu przynajmniej jednego z nich (np. kolejność locków lub timeouty).

Mutex vs semafor vs read-write lock — kiedy używasz którego?

mediummutexsemaphorerw-lock
Otwórz pytanie

Odpowiedź

Mutex zapewnia wyłączność, semafor kontroluje dostęp do ograniczonej liczby zasobów, a read-write lock pozwala na wielu czytelników lub jednego pisarza. Wybór zależy od wzorca dostępu i kontencji.

Czym są sygnały i jak procesy je obsługują?

mediumsignalsprocesslifecycle
Otwórz pytanie

Odpowiedź

Sygnały to asynchroniczne powiadomienia dla procesu (np. SIGTERM, SIGINT). Proces może je obsłużyć handlerem, zignorować lub użyć domyślnej akcji, np. zakończenia.

Czym jest memory-mapped I/O (mmap) i kiedy go używać?

hardmmapmemoryio
Otwórz pytanie

Odpowiedź

mmap mapuje plik lub urządzenie do przestrzeni adresowej procesu, aby dostęp był jak do pamięci. Jest dobre dla dużych plików, losowego dostępu i zero-copy sharing.