Mireczki, w nast środę mam rekrutację do firmy na stanowisko web deva. Chciałem Was prosić o jakies przykładowe pytania rekrutacyjne. Wiem, ze tego masa w necie ale chciałbym przeczytać od Was parę pytań jakimi WY byście próbowali mnie zgnoić ( ͡°ʖ̯͡°). Zakres głównie to JS i angular. Za każde pytanie daję
Nie jest poprawny. Powinniśmy wpierw zrobić przypisanie cyfry/numeru do zmiennej a nast, gdy już posiada prototyp, zabrać się za konwersję na string. Moja propozycja: var number = 2; number.toString();
@vanot: nie, chodzi o 2..toString - jak ktoś już tu pisał.
A i jeszcze - co to jest hoisting - podaj przykład.
@edgar_k: @vanot: Co Wy robicie z tymi rzeczami jak "2..toString()"? Uczycie się tego wybiórczo, jako ciekawostek / pod testy, czy naprawdę ogarniacie taki poziom syntaktyczny? Zdarzyło Wam się oglądać prezentację w stylu "wat?" i samodzielnie potrafić odpowiadać na pytania i WTF-y które widzicie po raz pierwszy?
Pytam to jako ktoś, kto regularnie układa testy rekrutacyjne i siedzi w syntaktyce. Nie zadaję jednak pytań o "2..toString()". Nie zadaję pytań o
@Sh1eldeR: takich rzeczy o których piszesz można nauczyć ogarnietego ziomka w 1dzien. Mowisz mu pisz tak i tak takiego shematu sie trzymamy - zrozumie.
zagwozdkami sprawdzasz doswiadczenie jakie ma kandydat, im wiecej problemow napotkal przy kodzeniu tym wiecej bedzie potrafil rozwizac.
Nie spodziewałem się takiego odezwu o tej godzinie :D Dzięki wielkie! @saxovic: 1. 0.3 z wieloma zerami i liczbą na końcu ze wzgledu na brak precyzji dla floatów w JSie? 2. Wywoływanie się eventu na każdym rodzicu elementu aż do samej góry DOMu 3. == to płytkie porównanie bez sprawdzania typów zmiennych, === sprawdzanie wraz z typami zmiennych 4. var user = null; Jak ją przypiszemy. 5. destruktory, generatory, interpolacja stringów
To niespecjalnie jest praktyczne i przydatne, szczególnie dla pierwszego lepszego Janusza Angularowego. Ludzie mają większe problemy z tłumaczeniem dużo bardziej fundamentalnych i przydatnych rzeczy.
@Sh1eldeR: jasne, ze pytanie o 2..toString() nie jest decydujace. Ale dobre. Bo po pierwsze - sprawdza, czy ktoś zna szczegóły języka. Albo, czy chociaż zna ciekawostki - to tez sporo może o człowieku powiedzieć. Pozwala też trochę bardziej się kandydatowi wypowiedzieć.
@Tr0jan: Po pierwsze: większość ziomków najwyraźniej nie zna poprawnych odpowiedzi, czy chociaż nie stosuje się do nich w praktyce. Większość kodu frontendowego to syf.
Po drugie: doceniłem te otwarte pytania dopiero gdy zacząłem startować do rekrutacji do najlepszych teamów w Londynie. Teraz sam ich używam. Bo wiesz co? SPOSÓB odpowiadania mówi o doświadczeniu. To pytanie jest dobrym wyjściem do sprawdzającego dialogu.
@Sh1eldeR: to bardzo ciekawe pytanie a sprowadza się do dziwactwa parsera i tego że puste klamry {} nie sa konstrukcją jednoznaczną.
W tym wyrażeniu: [] + {} mamy "pusta tablica" + "pusty obiekt". Tablica nie jest liczbą więc + oznacza tu konkatenację jako łańcuchy znaków, pusta tablica jest konwertowana do pustego ciągu znaków, pusty obiekt do stringa "[object Object]" więc ich konkatenacja to również string "[object Object]"
Po co właściwie mamy architekturę warstwową? Jakie znasz architektury warstwowe? Czy tylko MVC, bo o tym trabią? Czy znasz cokolwiek innego -- bo faktycznie czytałeś o architekturach.
@Sh1eldeR: tylko widzisz - @vanot pytał o pytania ze stricte JS - dla mnie pytania o wzorce czy arachitektury, generalnie zasady dzialania, sa ogolnie testem z wiedzy developera jako takiego. Wiec wszyscy skoncentrowali sie na pytaniach o jezyk - i tyle. Jesli ktos umie
@edgar_k: Miało być też o Angularze. Pojawiło się coś o DI -- słusznie. To, o czym wspomniałem, tj. kwestie architektoniczne, są w ng szalenie ważne. A że ktoś powiedział, że "za prosto" (tylko czemu większość ludzi nawet tego nie ogarnia, patrząc na ich kod?), pokazałem, jak można dalej pociągnąć za język, jeśli kandydat jest dobry.
Jak jest, nie będzie czerpał wiedzy tylko z tutorialów Angulara. Tym bardziej, że architektura w aplikacjach
Zauwazylem tutaj pytanie - Jak dziala dependancy injection ? I odpowiedz - Pozwala na izolację partii kodu w celu późniejszego wstrzyknięcia jej jako argument innego modułu/partii kodu.
Wszystko fajnie ale co ta odpowiedz oznacza ? Nic. Ktos moze sie wykuc na pamiec jakiejs regulki i zarecytowac.
Lepiej pytanie zadac w formie: - Czy uzywales dependancy injection ? - W jakim projekcie, w jakim przypadku? - Jakie sa twoje odczucia
PS. Tylko bez obaw. O ile mi wiadomo, nikt w Polsce nie wymaga na rozmowach surfowania po specyfikacji i tak szczegółowej wiedzy.
Chciałem tylko pokazać, jak bardzo można się zagłębić, gdy ktoś jest w temacie i wykracza poza ciekawostki zasłyszane na prezentacjach czy blogach (jak na ironię, nawet te prześmiewcze prezentacje zawierały same w sobie błędy!). Tj. gdy ktoś faktyczine czyta gramatykę języka i specyfikację.
To, o czym wspomniałem, tj. kwestie architektoniczne, są w ng szalenie ważne. A że ktoś powiedział, że "za prosto" (tylko czemu większość ludzi nawet tego nie ogarnia, patrząc na ich kod?), pokazałem, jak można dalej pociągnąć za język, jeśli kandydat jest dobry.
@Sh1eldeR: nikt nie twierdzi, że nie są. Ale nie łapią się do kategorii "testu z języka" - bo języka nie dotyczą. Czy powinny być częscią interview? Jak najbardziej. Czy
Czy powinny trafić do kategorii "znajomość JS" - nie.
@edgar_k: Oczywiście. Architektura != język. W mojej ściągawce na rozmowy rkerutacyjne mam osobny dział "architektura" czy "inżynieria oprogramowania". Ale nie uważam, żeby temat kategorii był specjalnie ciekawy.
OP pytał o pytania dot. języka ORAZ Angulara. Do pogłębiania tych drugich (niekoniecznie nie tych pierwszych) nadają się pytania ogólne o architekturę.
Kawa, kawa, kawa! Muszę wypić najpierw KAWĘ bo inaczej NIE DAM RADY FUNKCJONOWAĆ!!! Czy was też wnerwiają tacy biurowi kawosze jak z koziej dupy trąba? #pracbaza #kawa #pytanie
Za każde pytanie daję
#javascript #rekrutacja #angularjs #programowanie
@vanot: nie, chodzi o 2..toString - jak ktoś już tu pisał.
A i jeszcze - co to jest hoisting - podaj przykład.
@vanot:
Co Wy robicie z tymi rzeczami jak "2..toString()"? Uczycie się tego wybiórczo, jako ciekawostek / pod testy, czy naprawdę ogarniacie taki poziom syntaktyczny? Zdarzyło Wam się oglądać prezentację w stylu "wat?" i samodzielnie potrafić odpowiadać na pytania i WTF-y które widzicie po raz pierwszy?
Pytam to jako ktoś, kto regularnie układa testy rekrutacyjne i siedzi w syntaktyce. Nie zadaję jednak pytań o "2..toString()". Nie zadaję pytań o
zagwozdkami sprawdzasz doswiadczenie jakie ma kandydat, im wiecej problemow napotkal przy kodzeniu tym wiecej bedzie potrafil rozwizac.
@saxovic:
1. 0.3 z wieloma zerami i liczbą na końcu ze wzgledu na brak precyzji dla floatów w JSie?
2. Wywoływanie się eventu na każdym rodzicu elementu aż do samej góry DOMu
3. == to płytkie porównanie bez sprawdzania typów zmiennych, === sprawdzanie wraz z typami zmiennych
4. var user = null; Jak ją przypiszemy.
5. destruktory, generatory, interpolacja stringów
@Sh1eldeR: jasne, ze pytanie o 2..toString() nie jest decydujace. Ale dobre. Bo po pierwsze - sprawdza, czy ktoś zna szczegóły języka. Albo, czy chociaż zna ciekawostki - to tez sporo może o człowieku powiedzieć. Pozwala też trochę bardziej się kandydatowi wypowiedzieć.
@vanot: 5,8,9 można by trafniej odpowiedzieć (lub w przypadku 9 cokolwiek odpowiedzieć), pytanie dodatkowe, który lvl?
Po pierwsze: większość ziomków najwyraźniej nie zna poprawnych odpowiedzi, czy chociaż nie stosuje się do nich w praktyce. Większość kodu frontendowego to syf.
Po drugie: doceniłem te otwarte pytania dopiero gdy zacząłem startować do rekrutacji do najlepszych teamów w Londynie. Teraz sam ich używam. Bo wiesz co? SPOSÓB odpowiadania mówi o doświadczeniu. To pytanie jest dobrym wyjściem do sprawdzającego dialogu.
"To pakuj tu, to pakuj tam" to nie jest jakaś
Jasne! Może zresztą ktoś sam do niego zalinkuje.
W tym wyrażeniu: [] + {} mamy "pusta tablica" + "pusty obiekt". Tablica nie jest liczbą więc + oznacza tu konkatenację jako łańcuchy znaków, pusta tablica jest konwertowana do pustego ciągu znaków, pusty obiekt do stringa "[object Object]" więc ich konkatenacja to również string "[object Object]"
Natomiast w wyrażeniu {}
@Sh1eldeR: tylko widzisz - @vanot pytał o pytania ze stricte JS - dla mnie pytania o wzorce czy arachitektury, generalnie zasady dzialania, sa ogolnie testem z wiedzy developera jako takiego.
Wiec wszyscy skoncentrowali sie na pytaniach o jezyk - i tyle.
Jesli ktos umie
Miało być też o Angularze. Pojawiło się coś o DI -- słusznie. To, o czym wspomniałem, tj. kwestie architektoniczne, są w ng szalenie ważne. A że ktoś powiedział, że "za prosto" (tylko czemu większość ludzi nawet tego nie ogarnia, patrząc na ich kod?), pokazałem, jak można dalej pociągnąć za język, jeśli kandydat jest dobry.
Jak jest, nie będzie czerpał wiedzy tylko z tutorialów Angulara. Tym bardziej, że architektura w aplikacjach
Zauwazylem tutaj pytanie - Jak dziala dependancy injection ?
I odpowiedz - Pozwala na izolację partii kodu w celu późniejszego wstrzyknięcia jej jako argument innego modułu/partii kodu.
Wszystko fajnie ale co ta odpowiedz oznacza ? Nic. Ktos moze sie wykuc na pamiec jakiejs regulki i zarecytowac.
Lepiej pytanie zadac w formie:
- Czy uzywales dependancy injection ?
- W jakim projekcie, w jakim przypadku?
- Jakie sa twoje odczucia
Świetnie -- pominąłeś bodaj tylko jeden (na pół) istotny krok.
[] jest konwertowane najpierw do pustego stringa (""), dopiero potem ten string jest konwertowany do 0.
Proces jest dość zagmatwany. W tym momencie odpalam wspomniane, ostateczne źródło -- formalną specyfikację języka http://es5.github.io/:
W definicji operatora:
http://es5.github.io/#x11.4.6
widzimy, że wykonujemy abstrakcyjną operację ToNumber. Podążamy za nitką:
http://es5.github.io/#x9.3
Tablica to obiekt, więc obowiązują nas operacje z ostatniego wiersza tabelki. Najpierw ToPrimitive, potem
Czy to twoja pierwsza praca związana z programowaniem? Ile mniej więcej zajęła ci nauka od zera?
Chciałem tylko pokazać, jak bardzo można się zagłębić, gdy ktoś jest w temacie i wykracza poza ciekawostki zasłyszane na prezentacjach czy blogach (jak na ironię, nawet te prześmiewcze prezentacje zawierały same w sobie błędy!). Tj. gdy ktoś faktyczine czyta gramatykę języka i specyfikację.
@Sh1eldeR: nikt nie twierdzi, że nie są. Ale nie łapią się do kategorii "testu z języka" - bo języka nie dotyczą. Czy powinny być częscią interview? Jak najbardziej. Czy
@edgar_k:
Oczywiście. Architektura != język. W mojej ściągawce na rozmowy rkerutacyjne mam osobny dział "architektura" czy "inżynieria oprogramowania". Ale nie uważam, żeby temat kategorii był specjalnie ciekawy.
OP pytał o pytania dot. języka ORAZ Angulara. Do pogłębiania tych drugich (niekoniecznie nie tych pierwszych) nadają się pytania ogólne o architekturę.