Pytania rekrutacyjne front-end developer

Przygotuj się na rozmowę rekrutacyjną!

Dla kogo?
Jeżeli wybierasz się na rozmowę rekrutacyjną to nasze repozytorium wiedzy pomoże Ci przygotować się na nią!
Dlaczego warto?
Rejestrując się dostajesz dostęp do największej bazy odpowiedzi i pytań rekrutacyjnych w branży IT w Polsce.
Co zyskasz?
Ucząc się z nami odpowiesz na każde techniczne pytanie rekrutera dzięki czemu dostaniesz swoją wymarzoną pracę.
Pokaż odpowiedź

Przede wszystkim to musisz wiedzieć co to jest hoisting. Oprócz tego zmienne typu let oraz const mogą tworzyć zasięg blokowy. Dodatkowo jak nazwa wskazuje const jest “wartością stałą”, czyli nie możemy mu przypisać ponownie wartości. Jak zwykle najlepszy będzie przykład:

if(true) {
  var a = 4;
  console.log(a);
}
console.log(a);

if(true) {
  let b = 1;
  console.log(b);
}
console.log(b);

Najbardziej preferowany w użyciu jest const, w drugiej kolejności let, zaś w przypadkach, gdy nie możemy ich użyć pozostaje nam użycie var.

ukryj
Pokaż odpowiedź

Hoisting występuje w przypadku zadeklarowania zmiennej lub funkcji słowem kluczowym var. Hoisting powoduje, że deklaracje zmiennych są wywoływane w pierwszej kolejności przed wykonaniem reszty kodu. Co trzeba zaznaczyć hoisting jedynie deklaruje zmienne a nie przypisuje im wartości, Myślę, że dobrze zobrazuje to przykład:

console.log(a);
var a = 4;
console.log(a);

Po wykonaniu tego kodu widzimy, że zmienna a została zdefiniowana, ale nie przypisano jej wartości. Zamień teraz w pierwszym console logu zmienną a na dowolną inną i zobacz jaki komunikat otrzymasz w konsoli. Zjawisku hoistingu nie ulegają zmienne zadeklarowane słowami let oraz const (nie do końca nie ulegają – trafiają do tzw. Temporal Dead Zone).

console.log(a);
let a = 4;
console.log(a);

Tutaj otrzymamy błąd o treści: ReferenceError: a is not defined.

W skrócie: Hoisting to wbudowany w JavaScript mechanizm wynoszący wszystkie deklaracje zmiennych na początek funkcji.
Poleganie na hoistingu nie jest jednak najlepszą praktyką. Dużo lepszym wyjściem jest ręczna deklaracja zmiennych na początku funkcji, dzięki czemu kod staje się bardziej czytelny i można uniknąć dziwnych błędów.

ukryj
Pokaż odpowiedź

Pokażę tu dwa najpopularniejsze. Pierwszy z nich polega na nadpisaniu tablicy pustą tablicą. Drugim ze sposobów jest ustawienie właściwości length tablicy na wartość 0. Oba te działania w rezultacie dadzą nam pustą tablicę.

//Metoda nr 1

let arr1 = ['hello','world'];

arr1 = [];

console.log(arr1);

//Metoda nr 2

let arr2 = ['hello','world'];

arr2.length = 0;

console.log(arr1);
ukryj
Pokaż odpowiedź

Do napisania tej funkcji wykorzystamy trzy funkcje jakie dostarcza nam JavaScript:
split() – podzieli naszego stringa na poszczególne słowa oraz każde ze słów umieści jako osobny element w tablicy. Funkcja ta jako parametr przyjmuje string, który posłuży nam do rozdzielenia elementów – w naszym wypadku będzie to spacja.
reverse() – służy ona do odwrócenia naszej nowo powstałej tablicy.
join() – łączy naszą tablicę w całość. Domyślnie join() do łączenia używa przecinka, tak więc musimy podać string ze spacją jako parametr, aby powstało nam zdanie.

Nasz kod prezentuje się następująco:

let sentence = 'Ala ma kota';

function reverseSentence(str) {
  return str.split(' ').reverse().join(' ');
}

sentence = reverseSentence(sentence);
console.log(sentence);

ukryj
Pokaż Odpowiedź

Jest to skrócona odmiana instrukcji warunkowej if. Wyrażenie z tym operatorem konstruujemy poprzez podanie sprawdzanej wartości, następnie znaku zapytania. Po nim piszemy kod, który wykona się jeśli warunek zostanie spełniony. Następnie dajemy dwukropek i po nim kod, jaki ma się wykonać, gdy warunek nie zostanie spełniony. Oto przykład:

let arr = ['hello'];

arr.includes('hello') ? console.log('true') : console.log('false');
arr.includes('world') ? console.log('true') : console.log('false');

ukryj
Pokaż odpowiedź

Każda z przeglądarek domyślnie posiada zdefiniowane podstawowe style. Co więcej, dla każdej z nich owe style mogą się różnić (i zwykle się różnią). Zostawienie ich w domyślnej postaci spowodowałoby, że nasza strona na różnych przeglądarkach wyglądałaby inaczej, a tego przecież nie chcemy. Do poradzenia sobie z tym możemy wykorzystać 2 pliki: reset.css oraz normalize.css.

Pierwszy z nich powoduje zresetowanie styli przeglądarki. Dzięki temu na każdej przeglądarce nasza strona będzie wyglądać identycznie. Z kolei normalize.css nie resetuje styli, a nadaje własne nadpisując przy tym domyślne style przeglądarki.

ukryj

Wybierz 3 poprawne odpowiedzi:

  1. slice() służy do wybierania elementów z tablicy, natomiast splice() służy do wstawiania lub usuwania elementów z tablicy
  2. slice() nie modyfikuje oryginalnej tablicy, natomiast splice() modyfikuje oryginalną tablicę.
  3. slice() jest metodą operującą na tablicach, natomiast splice() jest metodą operującą na obiektach
  4. slice() usuwa elementy z tablicy, natomiast splice() dodaje elementy do tablicy na jej końcu.
  5. slice() zwraca podzbiór oryginalnej tablicy, natomiast splice() zwraca usunięte elementy jako oddzielną tablicę.
Pokaż odpowiedź

Odpowiedź jest dostępna dla zalogowanych użytkowników!
Proszę zaloguj się, żeby zobaczyć odpowiedzi na wszystkie pytania!


ukryj