Try using it in your preferred language.

English

  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Polski
  • Nederlands
  • हिन्दी
  • Magyar
translation

To jest post przetłumaczony przez AI.

투잡뛰는 개발 노동자

[Bez stopnia, przetrwać jako programista] 14. Podsumowanie często zadawanych pytań na rozmowach kwalifikacyjnych dla początkujących programistów

  • Język pisania: Koreański
  • Kraj referencyjny: Wszystkie kraje country-flag

Wybierz język

  • Polski
  • English
  • 汉语
  • Español
  • Bahasa Indonesia
  • Português
  • Русский
  • 日本語
  • 한국어
  • Deutsch
  • Français
  • Italiano
  • Türkçe
  • Tiếng Việt
  • ไทย
  • Nederlands
  • हिन्दी
  • Magyar

Tekst podsumowany przez sztuczną inteligencję durumis

  • Podsumowanie często zadawanych pytań na rozmowach kwalifikacyjnych dla programistów, w tym takich tematów jak: obszary pamięci, struktury danych, bazy danych, programowanie, algorytmy wymiany stron, procesy i wątki, siedem warstw OSI, TCP i UDP.
  • W celu lepszego zrozumienia, dołączono krótkie wyjaśnienia dotyczące poszczególnych tematów oraz przykładowe scenariusze.
  • Zawiera cenne informacje, które mogą pomóc programistom w zdobyciu niezbędnej wiedzy technicznej do przygotowania się do rozmów kwalifikacyjnych.

Jak przeżyć jako programista bez wykształcenia informatycznego


#14. Często zadawane pytania dotyczące technicznych rozmów kwalifikacyjnych dla początkujących programistów


[Obszary pamięci głównej]

  • Obszar kodu: Obszar, w którym przechowywany jest kod źródłowy programu. CPU pobiera instrukcje (kod źródłowy, funkcje, instrukcje sterujące) z obszaru kodu i je przetwarza. Na przykład, gdy program napisany w języku C jest wykonywany, obszar kodu zawiera kod źródłowy tego programu.
  • Obszar danych: Obszar, w którym przechowywane są zmienne globalne i statyczne. Jest on przydzielany przy uruchamianiu programu i nie jest niszczony do momentu zakończenia programu. Na przykład, gdy program napisany w języku C jest wykonywany, obszar danych zawiera zmienne globalne lub statyczne zadeklarowane w tym programie.
  • Obszar stosu: Tymczasowy obszar pamięci wykorzystywany przez program. W obszarze stosu przechowywane są zmienne lokalne i parametry funkcji. Jest on przydzielany przy wywoływaniu funkcji i niszczony po zakończeniu funkcji. Na przykład, gdy wywołujemy funkcję w języku C, zmienne lokalne lub parametry używane w tej funkcji są przydzielane w obszarze stosu.
  • Obszar sterty: Obszar, w którym użytkownik może dynamicznie przydzielać i zwalniać pamięć. Na przykład, gdy w języku C używamy funkcji malloc() do dynamicznego przydzielania pamięci, przydzielony obszar pamięci jest przechowywany w obszarze sterty.

[Struktury danych]

  • Stos: Struktura danych oparta na zasadzie LIFO (Last In, First Out). Przykładowo, przycisk "Wstecz" w przeglądarce internetowej działa podobnie do stosu. Poprzednio odwiedzone strony są przechowywane w stosie, a po kliknięciu przycisku "Wstecz" wyświetlana jest ostatnio zapisana strona.
  • Kolejka: Struktura danych oparta na zasadzie FIFO (First In, First Out). Przykładowo, pobieranie numeru kolejki w banku jest podobne do kolejki. Pierwsza osoba, która przychodzi, jest obsługiwana pierwsza, a ostatnia osoba, która przychodzi, jest obsługiwana ostatnia.
  • Drzewo: Struktura danych, która reprezentuje dane w postaci hierarchicznej. Przykładowo, drzewo DOM w języku HTML jest podobne do drzewa. Struktura strony HTML jest reprezentowana jako drzewo, które rozpoczyna się od węzła głównego (tagu html) i zawiera kolejne węzły podrzędne.
  • Kopiec: Jeden z rodzajów drzew binarnych, który dzieli się na kopiec maksymalny i kopiec minimalny. Przykładowo, w kolejce priorytetowej dane o najwyższym priorytecie znajdują się w węźle głównym kopca, a dane o niższym priorytecie znajdują się w węzłach podrzędnych. Jest to przykład kopca maksymalnego.

[RDBMS i NoSQL]

  • RDBMS: Baza danych, która definiuje i zarządza danymi w sposób strukturalny, przy użyciu sztywnego schematu. Możliwe jest rozproszone przechowywanie danych i łatwa modyfikacja. Przykładami RDBMS są MySQL, Oracle i MS-SQL.
  • NoSQL: Baza danych, która przechowuje i zarządza danymi przy użyciu elastycznego schematu. Jest odpowiednia do przetwarzania i przechowywania dużych ilości danych i charakteryzuje się dużą skalowalnością. Przykładami NoSQL są MongoDB, Cassandra i HBase.

[Programowanie proceduralne i obiektowe]

  • Programowanie proceduralne: Technika programowania, w której nacisk kładziony jest na sekwencyjne przetwarzanie. Języki takie jak C i Pascal są przykładami języków proceduralnych.
  • Programowanie obiektowe: Metoda programowania oparta na koncepcji obiektów (Object). Dane i procedury są logicznie grupowe i przetwarzane. Języki takie jak Java, C++ i Python są przykładami języków obiektowych. Na przykład, w programie symulacji samochodu, samochód można przedstawić jako obiekt. Atrybuty samochodu (kolor, przyspieszenie itp.) są reprezentowane jako dane, a funkcje, które samochód może wykonywać (jazda, zatrzymanie itp.), są reprezentowane jako metody.

[Przesłanianie i przeciążanie]

  • Przesłanianie: Ponowne definiowanie metody klasy nadrzędnej w klasie podrzędnej i używanie jej. Gdy w klasie podrzędnej wywołana zostanie metoda klasy nadrzędnej, zostanie uruchomiona metoda ponownie zdefiniowana w klasie podrzędnej, a nie w klasie nadrzędnej. Przykładowo, metoda toString() w Javie jest przykładem przesłaniania.
  • Przeciążanie: Definiowanie wielu metod o tej samej nazwie, ale z różnymi typami i liczbą parametrów, aby odpowiadać na różne typy wywołań. Różne metody o tej samej nazwie i różnych parametrach będą działać. Przykładowo, metoda print() w Javie jest przykładem przeciążania.

[Algorytmy wymiany stron]

  • FIFO: Wymiana strony, która była załadowana do pamięci fizycznej najdłużej. Podobne do "zamknięcia" programu w "paśmie zadań" komputera. Program, który został uruchomiony jako pierwszy, jest wyświetlany jako ostatni i zamykany, podobnie jak w przypadku FIFO.
  • LRU: Wymiana strony, która nie była używana najdłużej. Podobne do "aplikacji do zamykania aplikacji", która zamyka najstarsze aplikacje, które nie są używane często.
  • LFU: Wymiana strony, która ma najmniej odwołań. Przykładowo, funkcja "zamknięcia karty" w przeglądarce zamyka karty, które są używane najmniej często.
  • MFU: Wymiana strony, która ma najwięcej odwołań. Algorytm MFU rzadko jest używany.

[Procesy i wątki]

  • Proces: Jednostka wykonywania zadań przydzielona przez system operacyjny. Oznacza to program. Gdy wiele procesów jest wykonywanych jednocześnie, każdemu procesowi jest przydzielany niezależny obszar pamięci i CPU.
  • Wątek: Jednostka wykonywania działająca w obrębie procesu. Wątki współdzielą zasoby przydzielone procesowi i są wykonywane. Na przykład, każda karta w przeglądarce internetowej działa jako wątek, a nie proces.

[OSI 7Layer]

  • Warstwa aplikacji: Warstwa łącząca użytkownika z siecią. Obejmuje protokoły takie jak HTTP, FTP i SMTP.
  • Warstwa prezentacji: Warstwa definiująca sposób reprezentacji danych. Obejmuje protokoły takie jak JPEG, MPEG i SSL.
  • Warstwa sesji: Warstwa zarządzająca sesjami między dwoma systemami komunikującymi się.
  • Warstwa transportowa: Warstwa odpowiedzialna za przesyłanie danych. Obejmuje protokoły takie jak TCP i UDP.
  • Warstwa sieciowa: Warstwa ustalająca ścieżkę przesyłania danych. Obejmuje protokoły takie jak IP i ICMP.
  • Warstwa łącza danych: Warstwa odpowiedzialna za przesyłanie danych przy użyciu fizycznego adresu (adres MAC). Obejmuje protokoły takie jak Ethernet i Token Ring.
  • Warstwa fizyczna: Warstwa odpowiedzialna za komunikację dotyczącą fizycznego połączenia i nośnika transmisji.

[TCP i UDP]

  • TCP: Usługa zorientowana na połączenie. Dane są przesyłane w sposób niezawodny. Ustanawia połączenie lub je zrywa przy użyciu 3-way handshaking i 4-way handshaking. Na przykład, podczas logowania się do strony internetowej lub przesyłania plików używana jest metoda TCP.
  • UDP: Usługa niezorientowana na połączenie. Nie ma procedury sygnalizacyjnej przed przesyłaniem danych. Dane nie są niezawodne, ale charakteryzują się wysoką szybkością przetwarzania. Na przykład, w przypadku transmisji strumieniowej wideo lub gier online, gdzie szybkie przesyłanie jest kluczowe, używana jest metoda UDP.
TheCareer
투잡뛰는 개발 노동자
코딩, 취업, 이직, 경제에 관심 많은 IT 노동자
TheCareer
[Bez stopnia, przetrwanie jako programista] 13. Wywiad techniczny dla początkujących programistów Prezentujemy 7 często zadawanych pytań podczas wywiadu technicznego dla początkujących programistów oraz wskazówki, jak się do niego przygotować. Dowiedz się o pytaniach i strategiach odpowiedzi dotyczących takich dziedzin jak OOP, bazy danych, sieci, alg

1 kwietnia 2024

[Bez studiów, przeżyć jako programista] 12. Nowi programiści i język angielski Nowi programiści powinni w pierwszej kolejności skupić się na nauce terminologii i składni związanych z IT, aby poprawić swoje umiejętności językowe. Zrozumienie terminów często używanych w praktyce, takich jak back-end, front-end, API, SDK, pomoże im szy

1 kwietnia 2024

[Nie mając wykształcenia, przetrwaj jako programista] 16. Wskazówki dotyczące tworzenia portfolio dla początkującego programisty Początkujący programiści (szczególnie ci bez wykształcenia) podczas tworzenia portfolio powinni jasno opisywać nie tylko technologie, ale także usługi lub funkcje, które opracowali. Na przykład w przypadku projektu „Społeczność dla osób poszukujących prac

3 kwietnia 2024

[Współbieżność] Operacja atomowa: Płot pamięci i porządkowanie pamięci Ten wpis na blogu wyjaśnia, jak wziąć pod uwagę kolejność pamięci w operacjach atomowych oraz znaczenie opcji porządkowania. Zawiera szczegółowe wyjaśnienie różnych opcji porządkowania, takich jak Relaxed, Acquire, Release, AcqRel, SecCst, wraz z omówieni
곽경직
곽경직
곽경직
곽경직
곽경직

12 kwietnia 2024

[Obiekty] Rozdział 1. Obiekty, projektowanie W rozwoju oprogramowania praktyka jest ważniejsza niż teoria, a dobry projekt ułatwia zrozumienie kodu i pozwala na elastyczne reagowanie na zmiany. Obiekty orientacyjne projektowanie zapewnia sposób na odpowiednie zarządzanie zależnościami między współpr
제이온
제이온
제이온
제이온

28 kwietnia 2024

[DB] Kryteria ustawiania pamięci podręcznej Praktyczny przewodnik po sposobach buforowania danych, które są często odczytywane, ale rzadko zapisywane. Dowiedz się, jak wykorzystać APM, takie jak DataDog, do analizy historii wywołań zapytań RDB i wybierania tabel do buforowania, które mają wiele zap
제이온
제이온
제이온
제이온
제이온

25 kwietnia 2024

[Javascript] Struktura obiektu (V8) Obiekt JavaScript w silniku V8 jest optymalizowany jak struktura w zależności od stanu, przełączając się między szybkim trybem i trybem słownika, który działa jako mapa skrótów. Szybki tryb jest szybki, gdy klucz i wartość są prawie stałe, ale może spowol
곽경직
곽경직
곽경직
곽경직
곽경직

18 marca 2024

[Obiekty] Rozdział 2. Programowanie obiektowe Dokument opisujący metodologię programowania obiektowego stosowaną do implementacji systemu rezerwacji biletów na film, obejmujący takie koncepcje jak współpraca, obiekty, klasy, dziedziczenie, polimorfizm, abstrakcja i kompozycja. Prezentuje metody zwięk
제이온
제이온
제이온
제이온

28 kwietnia 2024

[Efektywny Java] Punkt 6. Unikaj niepotrzebnego tworzenia obiektów Przewodnik po sposobach zmniejszenia liczby niepotrzebnych tworzeń obiektów w Javie. W przypadku obiektów niezmiennych, takich jak String, Boolean, lepiej jest używać literałów, a wyrażenia regularne najlepiej buforować w instancji Pattern. Ponadto automa
제이온
제이온
제이온
제이온

28 kwietnia 2024