Zdobądź umiejętności cenione w IT     |       -40% przy zakupach za min. 99 zł     |      Jeszcze przez:

11 godz. 36 min. 33 sek.
close
Cart icon
User menu icon
User icon
Skontaktuj się z nami:
+48 888-916-333
Lightbulb icon
Jak to działa?
FAQ icon
FAQ
Contact icon
Kontakt
Terms of service icon
Regulamin zakupów
Privacy policy icon
Polityka prywatności
Przygotowanie do rozmowy kwalifikacyjnej w IT - JavaScript Developer

JavaScript Developer - przykładowe pytania rekrutacyjne

Przygotowaliśmy zestaw najpopularniejszy pytań na stanowisku JavaScript Developera. Artykuł podzielony jest na kilka sekcji. W pierwszej sekcji sprawdzisz szybko swoją wiedzę, z pytaniami wielokrotnego wyboru. W kolejnej sekcji przejdziemy do pytań ogólnych. Na końcu dołączyliśmy także zadania do samodzielnego rozwiazania, polegające na implementacji wskazanej funkcji. Pytania z artykułu obejmują różne aspekty języka i pokazują, czego możesz się spodziewać na rozmowie rekrutacyjnej. Zaczynamy!

10 pytań wielokrotnego wyboru

Poniżej znajdziesz dziesięć przykładowych pytań obejmujących szeroki zakres tematów z języka JavaScript. Sprawdź, czy potrafisz prawidłowo odpowiedzieć.

Zdarzenia

Jaki jest efekt użycia metody “event.preventDefault()” w języku JavaScript?

A) Zatrzymuje propagację zdarzenia
B) Uniemożliwia domyślne zachowanie zdarzenia
C) Powoduje ponowne wywołanie zdarzenia
D) Wyłącza nasłuchiwanie zdarzenia

Prawidłowa odpowiedź: B. Tej metody używamy po to, aby zatrzymać domyślną obsługę zdarzenia i zaimplementować własną obsługę.

Daty

Spójrz na poniższy kod i odpowiedz, co zostanie wyświetlone na konsoli?


const date = new Date();
console.log(date.getMonth());

A) Numer miesiąca (0-11)
B) Numer dnia tygodnia (0-6)
C) Bieżący rok
D) Bieżąca godzina

Prawidłowa odpowiedź: A. Miesiące w JavaScript numerujemy od 0 do 11.

Prototype

Która metoda pozwala na dodanie nowej właściwości do prototypu obiektu?

A) Object.create()
B) Object.assign()
C) Object.defineProperty()
D) Object.prototype.hasOwnProperty()

Prawidłowa odpowiedź: C. Obiektowość w JS bazuje na tzw. prototypach. Za pomocą metody defineProperty() możemy dodać nową właściwość do obiektu. Właściwości dodane w ten sposób są domyślnie zabezpieczone przed zapisem oraz listowaniem.

Domknięcia

Kod w języku JavaScript przedstawiony poniżej zawiera domknięcie. Co zostanie zwrócone przez funkcję add()?


function add(a) {
  return function(b) {
    return a + b;
  };
}

var addToFive = add(5);
console.log(addToFive(3));

A) 8
B) 15
C) 53
D) 35

Prawidłowa odpowiedź: A. Domknięcia to specyficzny mechanizm języka JS. Dzięki domknięciu, funkcja wewnętrzna ma dostęp do zmiennych funkcji zewnętrznej.

Filter

Jakie jest użycie metody filter() w języku JavaScript?

A) Tworzy nową tablicę z wynikami wywołania podanej funkcji dla każdego elementu tablicy
B) Filtruje elementy tablicy na podstawie określonego warunku
C) Redukuje tablicę do pojedynczej wartości na podstawie podanej funkcji
D) Wykonuje określoną funkcję dla każdego elementu tablicy

Prawidłowa odpowiedź: B. Filtrowanie to jedna z kluczowych technik programowania funkcyjnego. Dzięki niemu możemy odfiltrować z tablicy elementy, spełniające określone przez nas kryterium.

Funkcje czyste

Które z poniższych twierdzeń dotyczących funkcji czystych są prawdziwe?

A) Funkcja czysta może zmieniać zmienne globalne
B) Funkcja czysta zawsze zwraca wartość
C) Funkcja czysta nie może korzystać ze zmiennych lokalnych

Prawidłowa odpowiedź: B. Funkcje czyste to kolejny ważny element programowania funkcyjnego. Prawidłowa funkcja czysta zawsze powinna zwracać wartość.

Dziedziczenie

Który z poniższych fragmentów przedstawia poprawny sposób na wywołanie metody z klasy bazowej w klasie pochodnej?

A) super.methodName();
B) this.methodName();
C) base.methodName();
D) parent.methodName();

Prawidłowa odpowiedź: B. Za pomocą słowa kluczowego super.nazwaMetody możemy się odwołać do metody z klasy bazowej, w klasie pochodnej.

Obiekty

Zaznacz zdania prawdziwe dotyczące metod obiektów w języku JavaScript:

A) Metody to funkcje należące do obiektów
B) Obiekty nie mogą posiadać metod
C) Metody są używane tylko w celu tworzenia obiektów

Prawidłowa odpowiedź: A. Metoda to po prostu funkcja należąca do obiektu.

Tablice (Array)

Jak usunąć ostatni element z tablicy w języku JavaScript?

A) array.shift()
B) array.deleteLast()
C) array.removeLast()
D) array.pop()

Prawidłowa odpowiedź: D. Metoda pop() usuwa ostatni element z tablicy.

Zmienne

Jak zmienne są “hoistowane” w JavaScript?

A) Zmienne nie są hoistowane w JavaScript
B) Deklaracje zmiennych są przenoszone na początek swojego zakresu widoczności
C) Deklaracje zmiennych są przenoszone na koniec swojego zakresu widoczności

Prawidłowa odpowiedź: B. Hoisting to specyficzny dla JavaScript mechanizm. Polega on na tym, że deklaracje są przenoszone (windowane) automatycznie na samą górę zakresu. W praktyce pozwala to np. wywołać zmienną, zanim została zadeklrarowana. Trzeba jednak uważać na ważne różnice pomiędzy deklaracjami var oraz let.

poznaj pytania rekrutacyjne z javascrpit

Sprawdź swoje umiejętności przed rozmową o pracę na stanowisko JavaScript Developer.

Dowiedz się więcej

5 pytań ogólnych z odpowiedziami

Jak działa dziedziczenie prototypowe w JavaScript?

Dziedziczenie prototypowe w JavaScript polega na tym, że każdy obiekt dziedziczy właściwości i metody od swojego obiektu prototypowego. Gdy próbujemy uzyskać dostęp do właściwości lub metody obiektu, JavaScript najpierw sprawdza obecny obiekt, a następnie jego obiekt prototypowy, przechodząc w górę łańcucha prototypów, aż do obiektu Object.

Wyjaśnij różnicę między var, let a const w JavaScript

var jest hoistowane i ma zakres funkcyjny, let ma zakres blokowy i nie jest hoistowane, a const ma zakres blokowy i nie może być ponownie przypisane po zainicjowaniu.

Co to są Promise w JavaScript?

Promise to obiekt reprezentujący asynchroniczną operację, która może zakończyć się sukcesem (resolve) lub niepowodzeniem (reject).

Jak działa hoisting w kontekście JavaScript?

Hoisting to mechanizm, w którym deklaracje zmiennych i funkcji są przenoszone (podniesione) na górę zakresu przed faktycznym wykonaniem kodu.

Co to jest Event Delegation?

Event Delegation to technika, w której zdarzenia obsługiwane są na jednym wspólnym elemencie rodzica, zamiast na każdym pojedynczym potomku. Pomaga to w efektywniejszym zarządzaniu zdarzeniami w przypadku dynamicznie generowanych elementów.

3 zadania do samodzielnego rozwiązania

Na rozmowie rekrutacyjnej możesz także spotkać sie z zadaniami, które będą wymagały od Ciebie samodzielnego pisania kodu. Przygotowaliśmy poniżej trzy przykładowe zadania.

Zliczanie znaków w ciągu tekstowym

Twoje zadanie: zaimplementuj algorytm zliczający spacje w ciągu tekstowym. Funkcja spaceCounter() będzie odpowiedzialna za zliczanie spacji w ciągu tekstowym. Oczekujemy, że twoja funkcja da następujące wyniki:

  • spaceCounter("Hello !") -> 1
  • spaceCounter(" ") -> 1
  • spaceCounter("") -> 0
  • spaceCounter("Hello JS !") -> 2

Twoim zadaniem w tym wypadku będzie implementacja funkcji spaceCounter(). Poradzisz sobie?

Łączenie znaków w ciągu tekstowym

Twoje zadanie: zaimplementuj algorytm łączący elementy ciągu tekstowego za pomocą underscore (_). Poniżej prezentujemy schemat blokowy algorytmu:

schemat blokowy algorytmu

Spójrz na testy funkcji connect(). Oczekujemy, że twoja implementacja funkcji zwraca następujące wyniki:

  • connect("a") -> a
  • connect("ab") -> a_b
  • connect("abc") -> a_b_c

Obliczanie mediany

Postaraj się wpaść na pomysł, w jaki sposób wyznaczyć medianę ze zbioru liczb całkowitych. Spójrz na testy funkcji median(). Oczekujemy, że twoja implementacja funkcji da następujące wyniki:

  • median([1, 2, 3, 4, 5]) -> 3
  • median([2, 3, 1, 4, 5]) -> 3
  • median([1]) -> 1
  • median([3, 2]) -> 2.5
  • median([]) -> undefined

Twoim zadaniem w tym wypadku będzie implementacja funkcji spaceCounter(). Poradzisz sobie?

Jak przygotować się do rozmowy rekrutacyjnej z JavaScript?

Na rozmowie możesz trafić na przeróżne zadania: testy, pytania otwarte oraz implementację algorytmów w kodzie. Dlatego w artykule pokazaliśmy jak największą różnorodność takich pytań. Jeśli chcesz dobrze przygotować się do rozmowy rekrutacyjnej z JavaScript to zacznij od przerobienia 250 zadań, które znajdziesz w podlinkowanym kursie. Dzięki kursowi sprawdzisz swój stan wiedzy i uzupełnisz ewentualne braki. Powodzenia na rozmowie!