Algorytmika na rozmowie rekrutacyjnej dla frontend developera

0

Co uważacie o live codingu na którym by były zadania związane z algorytmiką np. drzewami BST, binarnymi itd? Mowa o aplikowaniu na stanowisko frontend developera.
Czy to jest dobry sposób sprawdzania wiedzy? Przecież frontend developer nie posługuje się na co dzień zbytnio algorytmami.

2

Jednak bst jest ważnym algorytmem, wyobraź sobie, że musisz przeszukać tablicę, która ma 1024 lub więcej elementów, możesz iść pętlą for i sprawdzać czy któryś z elementów jest tym, którego szukasz i to jest naiwne podejście, jak zbudujesz drzewo, to jesteś w stanie znaleźć dany element tylko po wykonaniu 10 sprawdzeń.

I jeśli dojdzie do miliona elementów to masz tylko 20 sprawdzeń, a nie pesymistycznie milion, bo optymistycznie może być pierwszym elementem.

W ogóle depth first search jest bardzo prostym algorytmem, a praktycznie każdy algorytm da się zapisać jako graf, bo graf jest jakby takim najwyższym stopniem abstrakcji, drzewo binarne to też graf.

Można się wywalić na implementowaniu, ale trzeba chociaż rozumieć kiedy użyć jaką strukturę danych.

1

Na fronta to chyba dziwne, ale może jakiś specyficzny projekt mieli? a to na jra?

2

Może interviewer daje takie zadanie, które jak ktoś rozwiąże, to bierze z miejsca, bez zastanawiania się nad innymi kandydatami :D
Ja osobiście stawiam bardzo wysoko znajomość algorytmów/struktur danych. Ludzie, którzy tego nie czują są wg mnie dużym problemem, szczególnie w projektach na dużą skalę - i szczególnie gdy zdarzy się osobnik z wysokim ego i dużym "doświadczeniem".

Jeśli chodzi o mnie, to ode mnie propsy dla interviewera że to sprawdza.

2
koralek napisał(a):

Co uważacie o live codingu na którym by były zadania związane z algorytmiką np. drzewami BST, binarnymi itd? Mowa o aplikowaniu na stanowisko frontend developera.
Czy to jest dobry sposób sprawdzania wiedzy? Przecież frontend developer nie posługuje się na co dzień zbytnio algorytmami.

Jeśli frontendowiec to ktoś, kto zajmuje się HTML/CSS, to w sumie przyznam ci rację.

Jeśli frontendowiec to programista JavaScript, to w zasadzie każdy programista korzysta w ten czy inny sposób z algorytmów, struktur danych. Pytanie tylko, czy jest tego świadomy (nawet niekoniecznie, żeby zaimplementować ten czy inny algorytm z pamięci, ale żeby mieć jakieś pojęcie o złożoności, optymalizacji, o strukturach danych, technikach. Bez tego łatwo zrobić coś niewydajnie, ew. robić coś strasznie naokoło, bo się nie wie o jakimś prostym rozwiązaniu).

2

Jakieś podstawowe algorytmy i struktury danych zawsze warto znać. Problem w tym, że pewnie większość firm, która ciśnie z algorytmów to i tak CRUDownie, które dają algorytmy na rozmowach, bo chcą być 'fancy' :D

2
Wypierdzistyy napisał(a):

Jednak bst jest ważnym algorytmem, wyobraź sobie, że musisz przeszukać tablicę, która ma 1024 lub więcej elementów, możesz iść pętlą for i sprawdzać czy któryś z elementów jest tym, którego szukasz i to jest naiwne podejście, jak zbudujesz drzewo, to jesteś w stanie znaleźć dany element tylko po wykonaniu 10 sprawdzeń.

I jeśli dojdzie do miliona elementów to masz tylko 20 sprawdzeń, a nie pesymistycznie milion, bo optymistycznie może być pierwszym elementem.

Jakbym miał przeszukać tablicę z 1024 elementów to bym się kazał puknąć w głowę backendowcowi, ktory to zrobił, powiedz ze myślałeś o filtrowaniu jakiejś tabelki to pogratuluje implementacji.

Iterowanie po tablicach to żaden problem dla CPU
https://javascript.plainenglish.io/the-only-javascript-loop-benchmark-that-matters-for-the-most-of-us-77ec819eb23e
A jakbyś jeszcze odpalił to w nowym wątku jako service worker to już wgl. Kiedyś tak mielilismy excele z lista pracowników.

Problem pojawia się przy debugowaniu tego super wydajnego kodu. Oszczędzasz dziesiętne sekund by potem głowic się o co tu chodzi.
Wydajność to leci przy rerenderze albo braku chunkowania kodu.

Poza tym, Panowie. Czy ktoś z Was kiedyś usłyszał, ze Wasz kod jest niewydajny? Ja przez 5 lat nie miałem nigdy takiej uwagi. Aktualnie dużo bardziej opłaca się kupić więcej mocy (tez mówię po stronie usera), niż mieć kod który jest nierozumiany po miesiącu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1