Тёмный

JUNIOR, REGULAR czy SENIOR? Rozmowa rekrutacyjna na frontend developera 

Frontend Architecture
Подписаться 1,6 тыс.
Просмотров 4,6 тыс.
50% 1

Moim gościem był Adam, programista który zgodził się wziąć udział w rekrutacji na stanowisko frontend developera. Adam aplikuje na pozycję regular developera, sprawdź czy udało mu się dostać!
Linki:
interviewme.pl/blog-kategoria/cv
jakearchibald.com/2015/tasks-...
00:00:00 - wstęp
00:03:50 - jak będzie wyglądała rozmowa rekrutacyjna?
00:05:07 - część biznesowa
00:25:02 - sprawdzenie języka angielskiego
00:36:19 - część praktyczna
00:36:45 - javascript
01:05:05 - zadanie
01:19:58 - architektura
01:49:25 - walidacja danych
01:54:47 - react
02:03:21 - zarządzanie stanem aplikacji
02:13:54 - testy
02:26:09 - dziedziczenie
02:32:24 - uwierzytelnianie
02:38:20 - browser storage
02:40:53 - testy pt2
02:44:47 - ataki na strony internetowe
02:47:26 - javascript pt2
02:53:14 - inne frameworki
02:53:49 - css
02:59:32 - branching strategy
03:03:37 - feedback
03:20:23 - co można poprawić?
03:23:23 - omówienie CV
03:39:06 - jaki jest cel rozmowy rekrutacyjnej?
03:41:22 - algorytmy podczas rekrutacji
03:46:36 - zakończenie

Опубликовано:

 

31 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 52   
@piotrwiniarski3397
@piotrwiniarski3397 Год назад
Bardzo fajny kanał i ciekawa rozmowa rekrutacyjna. Oczywiście gratuluje Adamowi odwagi i jednak odpowiadanie pod presją stresu i czasu które często pokazują że myślimy/działamy trochę mniej przemyślanie lub nie możemy czegoś wydobyć z naszego "umysłu" jeśli nie to jeszcze dla nas naturalne (wiele razy przetworzone, wyrobione w praktyce a nie tylko teoria lub spróbowanie tego raz lub 2 w ramach zabawy), chodzi tu głównie o różne problemy, wyzwania które się mogą pojawić. Jak dla mnie Adam sumarycznie to pomiędzy 2/5 a 3/5 (w skali od 1 do 5, możliwe) regular developer biorąc pod uwagę że ma podejście i szeroko otwarty wnikliwy umysł do osiągnięcia pozycji seniorskiej w raz z większym nabyciem doświadczenia i rozwiązaniem wielu powtarzalnych problemów technicznych i biznesowych. W przypadku tych technicznych problemów to pozwoli nabyć większego zrozumienia pewnych mechanizmów "w tle", jak działa JS itd. oraz różnych zagadnień stosowanych przy konkretnych problemach. Chociaż bardzo na plus wysokie umiejętności miękkie i nastawienie na klienta, dbanie o produkt co mogło sprawić wrażenie rozmowy z osobą seniorską i na pewno powoduje większą przychylność do takiej osoby. Co do wychwyconych błędów wyłapanych w trakcie rozmowy: Cześć Javascript: 1) Event Loop, tam jedynie długo błądził(zgoniłbym na stres), natomiast to co sam Marcin powiedziałeś (micro-taski, ich kolejka ma priorytet przed kolejką macro-tasków). Microtaski są zarządzanie bezpośrednio przez OS, a macro-taski nie, dlatego są wolniejsze), czyli mamy execution context (synchroniczne operacje, linijka po linijce) -> microtaski (jeśli execution context jest czysty) -> return control to event loop -> macrotaski. Tutaj lepiej wyjaśnione: www.codingninjas.com/codestudio/library/microtask-and-macrotask-in-javascript 2) Co do "this", generalnie tam jest 3 zasady bodajże: Najwyżej jest funkcja bind (która "trzyma" referencje this w miejscu którym jest tworzona), potem są funkcje call/apply do których też możemy podać obiekt do którego this będzie trzymać referencje cały czas, dopóki inny fragment kodu tego nie zmieni), potem już jest zawsze miejsce że this ma wartość aktualnego kontekstu wykonawczego(funkcji), najczęściej wskazuje na obiekt przed operatorem dostępu "." do metody. A funkcja strzałkowa, generalnie nie tworzy własnego kontekstu wykonawczego (execution context) tylko korzysta z nadrzędnego. Także jeśli nie tworzysz nowego obiektu, to this w funkcjach zawsze będą wskazywać na obecny execution context czyli (window jak w przeglądarce lub global jako w NodeJS, poza przeglądarką). Tutaj wyjaśnione: developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this 3) Co do ostatniego, sam ostatnio miałem takie pytanie i się pomyliłem z "4" a nie "5". Jednak mechanizm za to jest taki że var ma zasięg funkcji(czyli globalnej funkcji, głównego kontekstu) więc inkrementacja w pętli będzie zwiększała zmienną i , cały czas tą samą co jest w pętli a let ma zasięg blokowy, więc w każdej etapie pętli będzie nowa zmienna i tworzona która będzie przekazana do setTimeout callbacku, ale nie do końca rozumiem "działania" pod spodem bo to by znaczyło przekazanie przez referencję a nie przez wartość(ale mamy typ prosty number). Co zastosowania IIFE, to powinno być: (function(i){ setTimeout(function() { console.log(i) }, i* 1000) })(i) I tylko tak ponieważ setTimeout przyjmuje referencje funkcji jako 1 parametr(callback) by to wywołać później a nie wywołanie od razu funkcji jako 1 parametr, więc nie może być setTimeout(function(){}(), i * 1000); Ponadto te przekazanie przez referencje i wywołanie funkcji, to nie prawda, w sensie przez zmianą własności obiektu, kontekst funkcji będzie zawierał "dotychczasowa" własność tego obiektu, bo interpreter nie wykonał jeszcze linijki przypisania po wywołaniu funkcji. Co do części z zadaniem/architektura to ja bym zastosował foldery modules lub domains(lepiej to jeszcze pokazuje co się pod znajduje) ale jeśli mamy shareowalny kod to będzie on na zew. i będzie importowany, to jest trudne i bardzo zależne od wielkości projektu, stopień złożoności branży, ilość encji i zależności oraz powiązań między encjami. Podział per feature jest fajny, ale na pewno jakieś logiczne i solidne granice tzw. ograniczonego kontekstu/ów danego modułu (jak często się komunikujesz się backendem o dane i jak często są potrzebne.). BFF też fajne, i fakt jak potrzeba danych z różnych mikroserwisów to lepiej jak backend to połączy i zwróci niż frontend by to robił. Co do części ReactJS hooki wpinają/pozwalają napisać nam kod który ma się wywołać w określonym cyklu życia komponentu lub w odpowiedzi na inne zdarzenie, logikę wbudowaną w ReactJS by obsługiwać komponent. Hook useContext używa mechanizmu/wzorca "Dependency Injection" by uzyskać dostęp do danych w dowolnym miejscu w kodzie bez znaczenia gdzie w hierarchii się znajduje. Co do testów to pewnie, warto testować przede wszystkim Acceptance criteria/biznesowe wymagania i scenariusze biznesowych transakcji/zdarzeń. Co do mockowania czy testowania nie mockowanego komponentu to jest chyba dość dyskusyjny temat, i oczywiście odp. brzmi zależy. Co do testów integracji, to miejsce gdzie komponenty/części systemu komunikują się ze sobą i jaki efekt/wpływ mają na siebie. Nie wiem czy dobrze zrozumiałem z dziedziczeniem, że w przypadku normalnego po utworzeniu instancji klasy dziecka(która dziedziczy z bazowej) nie mamy dostępu do zmian wprowadzony później w klasie bazowej ? Co do Javascript part2 czyli hoistingu, to bardziej jest tak że Javascript runtime ma 2 etapy, pierwsze fazy tworzenia(statyczna/kompilowania) gdzie javascript zbiera tylko deklaracje funkcji i zmienne var i umieszcza w pamięci, żeby potem 2 etapie (wykonywania/interpretowania) były te zmienne lub deklaracje funkcji już dostępne(najlepsze rozw. dla deklaracji funkcji, bo one mają body przechowywane pamięci wraz ze swoją nazwa a var tak nie ma, przypisanie w etapie wykonawczym dopiero). Potocznie jednak mówi się "że wynosi" się var i deklaracje funkcji na początku w obecnej funkcji. Co do css, to z tym centrowaniem to chodziło może o display: inline-block lub table-cell(wewnątrz display: table) i vertical align: middle, by go wycentrować w innym divie ?, a może coś z display: table ? Co do pozycji absolute to wtedy najbliższy możliwy element w drzewku html z pozycją relative. Co do gitflow to chyba jeszcze warto dodać że feature remote branche muszę istnieć by dopiero z nich robić merge do developa a także pewnie cherry-pick do developa jeśli coś poprawimy w release branch z hotfixami, mogę się mylić. Mimo wszystko Adam jak na ponad 2 lata doświadczenia to esktra, ja mam obecnie ponad 6,5 roku ale po 2 latach myślę że nie byłem tak "ogarnięty" biznesowo i projektowo głównie skupiałem się na technologii. Dzięki Marcin za tak świetną dawkę wiedzy i rozmowę a nie "odpytywanie i wytykanie".
@frontendarchitecture
@frontendarchitecture Год назад
hej, dzięki za merytoryczny komentarz ;) Myślę, iż określenie seniority w tym przypadku jest ciężkie, gdyż Adam: - ma nastawienie na biznes - prowadził samodzielnie projekt - mentoruje inne osoby - ma braki teoretyczne (szczegółnie w podstawach JS'a) - ma szerokie pojęcie zarówno o procesie (scrum vs kanban), może nie wgłąb, ale miałem wrażenie iż rozumie po co są te metodologie i jakie problemy rozwiązują - liznął uwierzytelnianie, wie mniej więcej jak to działa - ma ogólny zamysł na architekturę, gdzie bardzo często pytałem o to seniorów i mieli znikomą wiedzę/brak przemyśleń na ten temat Dodatkowo całość komplikuje to gdzie tak na prawdę rekrutujemy - inne wymagania będzie miała firma produktowa, inne startup, inne korpo typu Santander czy Facebook a jeszcze inne software house. Jest też parę innych aspektów: - czy masz wpływ na to gdzie taka osoba trafi (czy np do Twojego zespołu, zespołu kogoś innego) - czy macie w firmie gildie (albo grupy czy coś w ten deseń, gdzie jak ktoś ma problem to może z czymś się zwrócić) - czy masz możliwść rekomendowania danej osoby z warunkami (np musi trafić do projektu z minimum jednym regularem/innym seniorem) Przy ocenie seniority wyszedłem z punktu, gdzie umiejętności techniczne są mniej ważne niż umiejętności biznesowe, ale jest to specyfika firmy w której pracuję. U nas najważniejsze jest zadowolenie klienta, więc umiejętności takie jak komunikacja z klientem czy nastawienie pro biznesowe są ważniejsze niż umiejętności stricte techniczne. Dodatkowo u nas mamy grupę, gdzie jak ktoś ma jakiś problem to może napisać i znajdą się osoby, które pomogą rozwiązać problem. Przy rekomendacji najprawdopodobniej dodałbym adnotację w stylu, iż można Adamowi dać kredyt zaufania na seniora, ale musi jeszcze przez m.in pół roku popracować z innym seniorem/mocnym regularem. Nie rekomendowałbym go do projektu, gdzie będzie jedynym programistą. Mogłem też się pomylić z oceną seniority (wnioskuję to po komentarzach innych osób), bardzo często w przypadkach gdzie jest problem z jednoznaczną oceną seniority to wdzwaniam się z kimś innym i proszę go o dodatkową opinię. ---------------------------------------------------------------------------------------------------------------------------------------- AD 1) Skąd info, iż mikrotaski są zarządzane przez OS? podrzucisz jakiś link? Przez OS masz na myśli system operacyjny (Windows/Linux) czy coś innego? AD 3 aż sprawdziłem - zadziałają oba przypadki, ten także zadziała: for(var i = 0; i < 5; i++) { setTimeout((function(abc) { console.log(abc); })(i), i * 1000); } console.log(i); Ale chwilę mi zajęło zrozumienie o co Ci chodziło - w moim przypadku funkcja wykona się od razu (bez czekania na setTimeout, output będzie 0,1,2,3,4,5), w Twoim będzie tak jak być powinno czyli: 5, 0, 1, 2, 3, 4 ---------------------------------------------------------------------------------------------------------------------------------------- Co do dziedziczenia - tutaj chodziło mi, iż w dziedziczeniu prototypowym możesz w dowolnym momencie dodać coś do prototypu (rozszerzyć go) i z automatu wszystkie instancje otrzymają tą zmianę. W tradycyjnym dziedziczeniu nie masz takiej możliwości - jeżeli klasa została już stworzona to nie możesz do niej czegoś dodać, czyli np: class Test { public function test() { return 'abc'; } } $t = new Test(); echo $t->test(); Test::$super = 'abc2'; w takim wypadku dostaniesz błąd kompilacji ale już to zadziała: class Test { public static $super; public function test() { return 'abc'; } } $t = new Test(); echo $t->test(); Test::$super = 'abc2'; czyli jeżeli w klasie bazowej będzie coś zadeklarowane to wtedy możesz tego używać. Różnica w przypadku prototypów jest taka, iż ja mogę w dowolnym momencie dodać coś do prototypu i z automatu wszystkie funkcje to dostaną. Mam nadzieję, iż to dobrze wyjaśniłem ;) ---------------------------------------------------------------------------------------------------------------------------------------- Co do testów generalnie na FE większość testów będzie mixem testów integracyjnych i unitowych, ale niestety bardzo dużo osób nie zna różnicy między tymi testami. ---------------------------------------------------------------------------------------------------------------------------------------- Co do hoistingu, tak o to mi chodziło, dzięki za dobre wytłumaczenie, podczas nagrania już byłem trochę zmęczony i nie mogłem zebrać myśli, aby to dobrze wytłumaczyć ;p ---------------------------------------------------------------------------------------------------------------------------------------- Co do centrowania elementów, table jest jedną z opcji, szczerze to już nie pamiętam której używałem (wydaje mi się, że czegoś innego, ale to było tak z 10 lat temu). Możesz też wycentrować poprzez position relative/absolute: levelup.gitconnected.com/10-ways-to-center-a-div-horizontally-and-vertically-in-css-53ca5eb912db ---------------------------------------------------------------------------------------------------------------------------------------- Co do gitflow feature remote branche nie muszą istnieć (chyba, że masz na myśli hotfix branch, ale tutaj masz dwie opcje - zmergować od razu do developa i release, albo zmergować do release i pożniej release/main do developa co da ten sam efekt)
@frontendarchitecture
@frontendarchitecture Год назад
Odnośnie micro i makrotasków, sprawdź ten artykuł: jakearchibald.com/2015/tasks-microtasks-queues-and-schedules tam jest to fajnie wyjaśnione z przykładami gdzie można sobie klikać i zobaczyć jak się zachowa JS
@xRevi0
@xRevi0 Год назад
Mega odcinek! Ale jakbym miał takiego seniora w teamie to trochę był bym zdziwiony
@Suleiman1000
@Suleiman1000 9 месяцев назад
Za słaby na seniora?
@profitski
@profitski 8 месяцев назад
za słaby na mida@@Suleiman1000
@lamamasters
@lamamasters Год назад
Przede wszystkim dzięki za materiał! Mam jednak małą uwagę. Porównanie Redux do React Query jest nieco niefortunne i może być mylące/zniechęcające dla nowych developerów (2:03:20). RTK Query to jest oficjalne narzędzie Reduxa, do realizowania tych samych celów co React Query. Niestety muszę też zaprotestować przy stwierdzeniu, że "przy drobnej zmianie przerenderuje mi się cała aplikacja". W kontekście Reduxa nie jest to prawda, a tak to zabrzmiało.
@frontendarchitecture
@frontendarchitecture Год назад
Hej, dzięki za komentarz ;) RTK Query nie znałem, nie wiedziałem, że RTK oferuje już coś podobnego do React Query. Co do "przy drobnej zmianie przerenderuje mi się cała aplikacja", to tak na prawdę zależy od implmenetacji, słyszałem o przypadkach gdzie w projektach był wrzucony routing do reduxa co powodowało duże problemy wydajnościowe. Ale tak w większości przypadków przy poprawnej implementacji nie będzie to problemem.
@jantrzcinski7135
@jantrzcinski7135 Год назад
W setTimeout pierwszy parametr musi być callbackiem, IIFE zwraca undefined, więc to chyba nie zadziała?
@fuukowatty9817
@fuukowatty9817 Год назад
Mam pytanie co do contextu. Tworze typowa stronke pokewiki gdzie wyswietlam karty pokemonow mam tam opcje aby dodac itemek do ulubionych mam tez ododzielna podstrone gdzie wyswietlam liste uluibioonych itemek i czy powinienem dodac tablice favorites do contextu? Zeby doprecyzowac mam hook useFavorites ktory zajmuje sie dodawaniem/usuwaniem itemkow z localStorage. samej tablicy z ulubionymi itemkami zdaje sie ze musze uzywac prawie wszedzie poniewaz karty ktore sa w ulubionych musza byc oznaczone ze naleza do ulubionych. Drugie pytanie co do contextu czy taki hook jak useViewport powinien sie w nim znajdowac?
@frontendarchitecture
@frontendarchitecture Год назад
hej normalnie takie rzeczy jak dodawanie do ulubionych czy wyświetlanie ulubionych są realizowane przez BE, czyli wysyłasz/pobierasz dane z BE. Jeżeli nie masz BE i masz całość zrobioną po stronie aplikacji FE to jak najbardziej hooki i context będą dobrym pomysłem, przy czym uważałbym na kilka rzeczy: - sharowalny stan między hookami - musisz gdzieś mieć persistent storage, jak rozumiem w Twoim wypadku jest to local storage - jak odpalisz hook w kilku komponentach to on dostanie swoją instancję dla każdego z komponentów - context api - zmiana w context api spowoduje przerenderowanie wszystkich komponentów (z paroma wyjątkami, np użycie useMemo) i może powodować problemy wydajnościowe Co do useViewport, nie wiem do czego tego używasz, ale ja bym rozdzielił interakcje z danymi od interakcji z UI. W przyszłości możliwe, że przepniesz się na backend, wtedy podmienisz sobie jedynie tego hooka useFavorities, jeżeli dodasz tam jakąś logikę związaną z UI to będziesz musiał albo całość napisać od nowa albo przynajmniej zrefaktorować.
@fuukowatty9817
@fuukowatty9817 Год назад
​@@frontendarchitecture w context uzywam hooka ktory daje mi dostep do tablicy z ulubionymi itemkami - wystarcza nazwy poniewaz mam komponent ktory pobierze sobie dane po nazwie (calość i tak zapisuje się w cache poniewaz uzywam LRU Cache). I z kontekstu dostarczam dostep aplikacji do tej tablicy. Co do useViewport mam rowniez hook usePagination ktory tworzy mi paginacje i potrzebuje go poniewaz dla odpowiedniej rozdzielczosi genereruje po 20 lub po 18 elementow na stronie i paginacja musi poprawnie policzyc ilosc stron. Poza tym wykorzystuje go tez do wyswietlania menu mobilnego (ikonki wyswietlaja sie na mobilce a napis na stacjonarnych.
@sebastiannieroda9022
@sebastiannieroda9022 2 месяца назад
Koleś nie odpowiada na pytania ,nie potrafi w prosty , czyli najskuteczniejszy sposób przekazać informacji . Komunikacja z taką osobą byłaby baaaardzo trudna
@mattarek6256
@mattarek6256 7 месяцев назад
Super seria, fajnie byłoby jakby ta seria była regularnie dodawana, np. raz na dwa tygodnie, nawet lista pytań rekrutacyjnych raz na 2 tyg. :)
@frontendarchitecture
@frontendarchitecture 7 месяцев назад
Hej Dzięki za pomysł, pomyślę o serii, chociaż muszę pomyśleć jak ją prowadzić, tak aby dać wartość bo dużo pytań by się powtarzało :) Btw nie polecam przywiązywać się stricte do pytań, bo jak ktoś ma doświadczenie w przeprowadzaniu rekrutacji to może wymyślać zadania na zawołanie, np napisz program, który robi X używając wzorca Y. Tych możliwości jest nieskończoną ilość
@Squarit1
@Squarit1 7 месяцев назад
Moim zdaniem, najlepiej aby zahaczało to o javascript bo ten jest najczesciej pomojany, jak właśnie łańcuch prototypow. Dodatkowo przechodzenie przez kod i sugeroeanie zmian jak ten z npm ci, super sprawa a nigdy o tym nie myslalem. Mysle, ze warto byłoby zahaczyc o algorytmy, wycheytywac z cyzm juniorzy maja peoblem najczesciej. Sam znałem odpowiedz na te techniczne pytania ale jak widac, to ze sie zna js nie znaczy ze dobrze sie odpowie na samej rozmowie, trzeba umiec to komuś łatwo wytlumaczyc i dopiero wtedy samemu sie to rozumie.
@frontendarchitecture
@frontendarchitecture 7 месяцев назад
@Squarit1 też zależy na jakie stanowisko aplikujesz. Junior niekoniecznie musi umieć wytłumaczyć rozne koncepty innym osobom. On ma mniej więcej wiedzieć jak to działa. Ale aby to komuś wytłumaczyć to tak jak napisałeś, trzeba mieć wiedzę na wyższym poziomie. Dzięki za pomysł, jak zgłosi się ktoś chętny to na pewno będę kontynuował serię :) ps jakbyś kogoś miał to możesz taką osobę do mnie podesłać :)
@ItsMathev
@ItsMathev Год назад
Z tym seniorem to trochę przesada. Raczej mocny junior. To co najbardziej zapadło to sposób odpowiadania, tak jak przedmówcy pisali - opowiada dookoła, po czym stawia pytanie na poparcie swojej okrężnej odpowiedzi. W pierwszym screeningu CV brakowało pytań o to dlaczego tak często zmieniał pracę, plus ma dziwne okresy pracy zwłaszcza w pierwszych dwóch firmach, które się zazębiają datowo. Niby fajnie że myśli w kontekście biznesu jednak chyba j est to normalna kwestia w pracy programisty, gdzie mamy jakiegoś klienta który ma oczekiwania. Zmiany które były co kilka dni w pierwszej pracy są dla mnie informacja że po prostu nikt nie potrafił zebrać wymagań, a nie że się coś zmienia tak drastycznie se co tydzień mamy rewrite ficzerow.
@ItsMathev
@ItsMathev Год назад
Zadania to są oczywiście najbardziej oklepane rzeczy na rekrutacji na front end. Przy czym zabawne że Adam się do tego nijak nie przygotował tylko na bieżąco wróżył co tam wyjdzie.
@ItsMathev
@ItsMathev Год назад
Zdziwiłem się podejściem i odpowiedzią Marcina na temat MSW, o którym wspominał Adam.
@ItsMathev
@ItsMathev Год назад
Co do architektury to według mnie tutaj ma to być wygodne dla zespołu. Oczywiście warto mieć osobę która coś tam już liznela i wie z czym się wiązać będzie dana struktura względem innej struktry. Ale nie ma to według mnie większego znaczenia dopóki zespół się na to zgadza.
@frontendarchitecture
@frontendarchitecture Год назад
@@ItsMathev To o czym piszesz w kontekście architektury to jest jeden z czynników (doświadczenie zespołu), ale są także inne: - jak długo będzie rozwijany projekt - czy aplikacja jest na jedną czy na wiele platform (np czy tylko react czy może react + react native) - jak duży jest zespół - jak będziesz miał projekt w którym będzie 100 programistów FE to raczej nie zastosujesz podziału per typ bo po miesiącu skończysz z setkami jak nie tysiącami katalogów i nikt się tam nie odnajdzie - klient - klient także ma wpływ, może np podzielić się wewnętrznie na wiele zespołów co wymusi zmiany w architekturze (np modułowość) Celem architektury nie jest wygoda zespołu, a kompromis (wybierasz te rozwiązanie, które ma najmniej wad w Twoim przypadku).
@frontendarchitecture
@frontendarchitecture Год назад
@@ItsMathev hej, a mógłbyś rozwinąć? Co Cię zdziwiło?
@remigiuszkapelczak208
@remigiuszkapelczak208 9 месяцев назад
A ja napiszę tak : uczę sie od dluższego czasu frontendu i aktualnie przerabiam reacta, z lepszym a czasem gorszym skutkiem. Cel jest prosty : własny duży projekt i tutaj, ew. Jeśli by nie wyszło (rynek nie zaakceptuje etc) to dobry projekt do portfolio. No i tak bylo do dzis, az nie odpalilem tego wideo 😅🙄 . Jak dla mnie macie duzo wiedzy, której mi brak i aż to trochę przeraża ile rzeczy trzeba znac, umieć i pamiętać.
@marcelmucha8346
@marcelmucha8346 9 месяцев назад
Nie zrażaj się. Zacznij chodzić na rozmowy rekrutacyjne. Od razu po rozmowie notuj pytania, poszukaj jakie były prawidłowe odpowiedzi. Po 4-5 rozmowach zobaczysz, że jakieś 80% pytań się powtarza.
@frontendarchitecture
@frontendarchitecture 9 месяцев назад
Obejrzyj sobie drugą rozmowę (ostatnia na kanale), którą przeprowadziłem. Tą tutaj jest jednak na wyższe stanowisko, temu też bardziej zaawansowane pytania i wymagana jest wiedza z większego obszaru. Tą najnowszą jest na stanowisko juniorskie (ale też nie trainee, junior wg mnie to osoba z około rocznym doświadczeniem komercyjnym, albo przynajmniej z jakimiś zrealizowanymi własnymi projektami). I tak, wiedzy jest dużo, ale tak jak marcel napisal - nie zrażaj się, chodź na rozmowy i wyciągaj wnioski. Jak będziesz konsekwentny to w końcu coś znajdziesz. Powodzenia! ;)
@xSatanisticx
@xSatanisticx Год назад
Dopiero przesłuchałem niecałe 2h, ale już nasuwa mi się wniosek, że obecne wymagania na staż/juniora są kosmicznie wysokie. Nie mam jeszcze żadnego doświadczenia, a jestem w stanie dyskutować na usłyszane już zagadnienia. Mam stack React ,TS, Next i różne libki cssowe, pracy będę szukał dopiero za pół roku, bo nadal nie czuję się gotowy i piszę solidne portfolio. Mimo wszystko impostor syndrom ciśnie mnie na maxa albo jestem skażony narzekaniem na wszystkich grupach jak to ciężko o pracę.
@ItsMathev
@ItsMathev Год назад
przecież tutaj Adam został przez Marcina oceniony na seniora a nawet nie zahaczyli o TS czy Next. Może Marcin będzie ci w stanie zrobić mock interview właśnie na poziom juniorski.
@frontendarchitecture
@frontendarchitecture Год назад
Hej, dzięki za komentarz ;) jest tak jak napisał @ItsMathev - oceniłem Adama jako seniora, gdzieś mniej więcej w połowie zrezygnowałem z pytań na regulara (zadania testowego) i zacząłem pytać o rzeczy bardziej seniorskie. Tak na prawdę starałem się zadać przynajmniej po jednym pytaniu z różnych kategorii - są readmapy dla konkretnych technologii (np do frontend: roadmap.sh/frontend), to mniej chciałem chociaż trochę ugryźć każdy temat. Na trainee/juniora rekrutacja wygląda zupełnie inaczej, przy czym też trzeba wziąć pod uwagę iż dużo zależy od firmy - inaczej będzie wyglądała rekrutacja do software house, inaczej do startupu, inaczej do korpo a inaczej do Google czy Facebook'a. Seniority to też skala - bardzo często kandydat będzie część umiejętności z wyższych stanowisk, ale część z niższych. Jeżeli chciałbyś się sprawdzić w przykładowej rozmowie na stanowisko trainee/junior to chętnie coś takiego bym nagrał ;) Na pewno taka rozmowa byłaby krótsza - myślę, że 1-1,5h.
@xSatanisticx
@xSatanisticx Год назад
@@frontendarchitecture Właśnie skończyłem cały odcinek :) Faktycznie w dalszym etapie poruszane są bardziej skomplikowane zagadnienia i rozmowa nabiera innego obrazu :) Oczywiście, że chętnie sprawdzę się w takiej rozmowie, choć będzie to mój absolutny debiut. Zostawię wiadomość na LinkedInie, dogadamy temat :)
@djET0
@djET0 Год назад
Dam ci radę. Nie czekaj. Ja też do tego tak podchodziłem, aż dostałem kopa do działania i po 3 rozmowach już miałem pracę. To było ponad rok temu. Pewnie do tej pory uczyłbym się jakiś techonologii których i tak nie użyję. Jak masz stack React / TS / Next to wystarczy. Dorzuć do tego obycie w jakimś pre css / tailwind / StyledC, obojętne. Żeby kumać po co i czym się to je. Zagadnienia typu SSG / SSR / fajnie też umieć coś z next 13. Każda praca jest inna, a głównie i tak klepiesz crudy. Ja miałem fajną rekrutację, bardzo praktyczną. Czyt. praktyczne zadanie i praktyczne ogólne pytania bez jakiś szczegółów.
@xSatanisticx
@xSatanisticx Год назад
@@djET0 Dzięki za rady :) Pracowałem już z tailwind, sass, styledC i module css, więc zagadnienia też znam :) Chyba jestem przestraszony tym gadaniem, że trzeba być obecnie midem, żeby dostać staż, stąd tak dużo chciałem ogarnąć przed rekrutacja :) Dziękuję!
@zxginay3962
@zxginay3962 Год назад
gratuluję Adamowi odwagi, ale do osobiście uważam, że na seniora za mało :P
@GreenMerlin
@GreenMerlin Год назад
ja bym wręcz powiedział, że mocny junior / słaby mid
@frontendarchitecture
@frontendarchitecture Год назад
hej dzięki za komentarz, mógłbyś rozwinąć czemu tak uważasz?
@frontendarchitecture
@frontendarchitecture Год назад
hej dzięki za komentarz, mógłbyś rozwinąć czemu tak uważasz?
@GreenMerlin
@GreenMerlin Год назад
@@frontendarchitecture Po pierwsze, jest na rynku od 2021 to jest zdecydowanie za mało expa na seniora. Wyjątki się zdarzają oczywiście ale z tego co widzę to nie jest jeden z nich. Po drugie uważam w skrócie, że junior "coś słyszał" i umie używać, regular wie kiedy używać a senior wie jak to działa w bebechach i wie dlaczego tego używa. Patrząc na wypowiedzi Adama to odbieram to jako liźnięcie wielu aspektów, coś wie, coś kombinuje, ale niczego do końca nie jest pewny.
@maciej3789
@maciej3789 Год назад
@@GreenMerlin Dokładnie, tutaj też bym wskazał mocny junior/słaby mid, nie mówmy tutaj o żadnym seniorze. Nie odpowiada stricte na pytania, wszystkie odpowiedzi są mocno dookoła. Pytanie jest o Reacta i jego Hooki, a odpowiedź kończy się na Angularze. To taka taktyka maturalna trochę, ważne żeby cokołwiek mówić :D Następna rzecz, która mnie irytowała to to, że zamiast odpowiadać na zadane pytania, to przeciąga temat i kończy się na tym, że sam sobie zadaje pytanie i na nie odpowiada. Jeśli chce być inżynierem musi być bardziej konkretnym, chyba że tylko klepaczem kodu.
@Bazan-gd3lb
@Bazan-gd3lb 4 месяца назад
To centrowanie w pionie - to był trick z display: table i table-cell na dzieci . Wtedy dzialal vertical-align:middle na divy ;d Troche z czapy dzisiaj pytanie, ale rozumiem ze daje swiadomosc czy ktos zna CSS sprzed flexboxa gdzie CSS to byla rzecz na ktorej trzeba bylo sie chwile zastanowic :D
@Bazan-gd3lb
@Bazan-gd3lb 4 месяца назад
Po tej rozmowie nabrałem dużego szacunku dla osób rekrutujących. Nie umiałbym zachować powagi podczas takiej rozmowy gdy padają różnego typu absurdy, albo po prostu lanie wody. Co z perspektywy rekrutowanego jest oczywiste i zrozumiałe - mówisz co wiesz / to co ci przychodzi do głowy - ale jednak znając odpowiedź ciężko się powstrzymać przed facepalmem czy nawet uśmieszkiem :P
@kertoip42
@kertoip42 6 месяцев назад
A jak dla mnie, to gość się nasłuchał kilku doświadczonych gości i powtarza bez zrozumienia. Podzielam zdanie poprzedników mocny junior z aspiracjami na mida jak uzupełni podstawową wiedzę. Imho przy kodowaniu czegoś by wyszło. Teraz już wiem dlaczego nie szukają nigdzie juniorów - nagle każdy jest seniorem. WOW
@bartoszwojtal2309
@bartoszwojtal2309 8 месяцев назад
"Drużyna była rozbita" i "PM mnie obsługiwał" , zapamiętam na długo
@Muphet
@Muphet 2 месяца назад
Może ja na seniora powinienem pójść jak Adam jest "MID"
@serialeyoutube3855
@serialeyoutube3855 6 месяцев назад
Ten gościu jest mentorem? on najwżniejszych rzeczy z JSa nie ogarnia nawet :D
@frontendarchitecture
@frontendarchitecture 6 месяцев назад
Mentorowie możesz osoby na różnym poziomie. Będąc juniorem możesz mentorowac trainer, będąc regulatem juniora, itd. Nie musisz być niewiadomo kim, aby pomagać innym osobom :)
Далее
Rozmowa rekrutacyjna na trainee/junior frontend developera
2:55:17
😱КТО БУДЕТ ЛЕДИ БАГ А4⁉️ #а4
00:50
Pytania rekrutacyjne JavaScript Developer (Edycja 2022)
1:04:26
Regular / Mid front-end developer - rozmowa o pracę!
52:57
Pięć pytań rekrutacyjnych z Reacta na 2022
14:13
Просмотров 9 тыс.
Junior Frontend Developer - rozmowa o pracę!
1:25:35
Просмотров 91 тыс.