Front End - pierwsza rozmowa o pracę

0

Czesc, niedlugo mam zamiar aplikowac na juniora frontu, zastanawiam sie jak mniej wiecej taka rozmowa przebiega, czego moge sie spodziewac i co jest glownym miernikiem dla osoby z ktora rozmawiam. Domyslalam sie ze kazda firma moze patrzec na to troche inaczej, ale potencjalne janusze nie wchodza w gre.
Jesli nie jest to dla was tajemnica, to chetnie poslucham waszych rad oraz tego jak to u was wygladlo albo jaki poziom reprezentowaliscie w momencie swojej pierwszej rozmowy.

Padlo kiedys tutaj na forum przez jednego z uzytkownikow, ze jesli ktos nie potrafi okreslic swojego poziomu, to jest na slabym poziomie - rowniez nie potrafie okreslic swojego poziomu, a to moze dlatego, ze z miesiaca na miesiac moj kod jest po prostu lepszy i do pewnych problemow podchodze z lepszym rezultatem, a po drugie nigdy nie bylem na zadnym stazu, wiec nie wiem jakie sa oczekiwania firm. Dla mnie bede umial dobrze - znowuz dla firmy bedzie to ciut za malo by startowac.

Zastanawiam sie rowniez na ile istotne sa zrealizowane przeze mnie projekty dla pracodwacy.

Wracajac do mojego poziomu, to chcialbym przyblizyc jakimi technologiami sie posluguje. Standardowa paczka HTML,CSS + do tego boostrap oraz preprocessor sass.
JS/Jquery oraz do JS-a dodatkowo coraz lepiej OOP - tutaj chcialbym zaznaczyc, ze bardzo chcialbym sie nauczyc tworzyc firmowego podejscia do tworzenia aplikacji w ten sposob, a na dzien dzisiejszy znam wzorzec mvc,modulu oraz mixin + dodatkowo AngularJS(rowniez REST) oraz React. Php na poziomie podstawowym, np. na potrzeby aplikacji stworzylem sobie rest api, wiec dodatkowo zetknalem sie z zapytaniami SQL(nie tylko zapytania crud).

To tak mniej wiecej by wygladalo z czym mialem do czynienia, na pewno ciezko wam blizej cos o tym powiedziec nie widzac, w kazdym badz razie nie uznaje zasady tworzenia wszystkiego w malych ilosci funkcji, czy klas, wszystko staram sie oddzielac zgodnie z ich przeznaczeniem.

Dzieki z gory za dodpowiedzi i rozwiniecie tematu.

1

To Ci się może przydać:
http://www.frontendhandbook.com/practice/interview-q.html

Jak rzeczywiście ogarniasz to o czym napisałeś to możesz śmiało rozsyłać cv.

Poza tym: użyj wyszukiwarki (prawy górny róg).

0

WerdenSehen jak długo uczysz się na fronta, więcej niż pół roku/roku solidnej pracy?
To wszystko znasz porządnie (czy trochę w tym dłubałeś trochę w tamtym)?
Czy masz jakieś ciekawe projekty do zaprezentowania w portfolio?

i tak btw.

1

Byłem na kilku rozmowach i większość przebiegała podobnie - sprawdzenie kim jestem, jakie mam podejście, czy jestem spoko itp. Najczęściej żadnych pytań technicznych tylko czemu zmieniam branżę, czemu webdev i w jakim kierunku chciałbym iść. To po etapie wstępnym, czyli zadaniu testowym. Z tego wyłamały się dwie rozmowy:

  1. po pojawieniu się na rozmowie o staż i otrzymaniu informacji 'nie pytam o cv bo wiem, że wszyscy kłamią' okraszonej złośliwym uśmieszkiem (w odpowiedzi tylko wzruszyłem ramionami, co będę gadał z kimś kto przecież wie lepiej?) otrzymałem zestaw pytań z HTML, CSS, JS, PHP, MySQL. Z racji, że zabiegałem o staż we frontendzie to łaskawie przymknięto oko na braki z backendu. Po ~1,5 godziny pisania dostałem zadanie testowe do wykonania na miejscu - zakodowanie PSD do HTML + CSS. Spędziłem tam 6 godzin i nie było by w tym może nic złego gdyby ktoś mi najpierw o tym powiedział. Wziąłbym ze sobą coś do jedzenia, bo trochę mi żołądek dokuczył. Zostałem tam 4 miesiące stażu a po wszystkim - tak jak i inni stażyści - usłyszałem, że niestety, ale teraz nie mogą mnie zatrudnić, jednak ponieważ fajnie pracowałem (tu należy uściślić - nie robiłem prawie nic wartościowego i godnego uwagi) to mogą mi opłacić certyfikat Magento i wtedy mnie zatrudnią. Przez ten czas mogę nawet przychodzić do nich i się uczyć przez ~2 miesiące. Za darmo. Wtedy mnie oświeciło - cały dzień czułem, że coś mi śmierdzi i nagle zrozumiałem - to po prostu ich posrało do reszty :D
  2. po przejściu etapów 'przedwstępnych' (trochę dziwny test i zadanie do zrobienia) standardowa rozmowa (to o czym wspomniałem na początku) oraz - zaskoczenie - pytania. Większość prosta, ale obejmowały m. in.:
    CSS - różnice w pozycjonowaniu, co to jest z-index, kiedy go można stosować, siła selektorów CSS, jak się ją oblicza i sprawdzenie czy do wszystkiego używam JS czy staram się robić coś w CSS (np. animacje);
    JanuszSkrypt - czym się różni tablica od obiektu, co wyróżnia JS od innych języków, czemu 'onclick' w HTML jest złe (ciekawe czy lubią Angulara...) i jakie są alternatywy, co to JSON, czemu w jQuery powinno się używać $(document).ready() itp.;
    PHP - czym jest klasa abstrakcyjna i co ją odróżnia od interfejsu, rodzaje metod obiektu, czym się różnią obiekty w PHP i JS;
    Ogólnie rzeczy - wydaje mi się - dosyć proste, jeżeli ktoś poświęcił chwilę na naukę technologi (nawet analizując przykłady z neta) powinien udzielić sensownych odpowiedzi. Z PHP miałem pytania głównie dlatego, że firma mocno działała w WP oraz wpisałem jego znajomość w CV. Już usunąłem ;)
0

@kawaStefan - mysle ze ciezko powiedziec o czlowieku ktory uczy sie niekomercyjnego frontu od wrzesnia tego roku ze mozne znac porzadnie taki gigant jak angular, bo jak wiadomo wejscie w niego jest jak noz w maslo, ale im glebiej tym gorzej, aczkolwiek jak zaczynalem korzystalem z wielu tutoriali, nawet do glupot, teraz patrzac na wiekoszosci tutoriali sa one wg. mnie niekompletne i bardzo ubogie, ciezko znalezc dobrze zorganizowany tutorial od A do Z, trzeba albo wglebiac sie w kod czegos wiekszego na githubie i go analizowac, aby dostac clean code. Dlatego teraz korzystam z dokumentacji, ew. stack lub wspomniany git zeby cos ladnie przejrzec, oczywiscie jesli czegod niedokonca rozumiem lub nie wiem.

Teraz mam na to czas, wiec kazde rozwiazanie do ktorego nie moglem dojsc analizuje, dlaczego tak a nie inaczej i staram sie to intepretowac jakby to bylo przetwarzane w czystym JS, czy robie to w Angularze czy w React. Po prostu lubie sobie cos poznac bardziej od srodka.

Jesli chodzi o Reacta to mialem do czynienia z wersja dla es5 i es6, nie jest to nauka na pale, albo na zapamietywanie, chociazby dlaczego w es6 musimy sami bindowac metody. Nie ciesze sie, ze dziala i jest ok, oj nie. Zrozumienie cykli i dzialania architektury, bo przeciez React to praktycznie czysty JS, tylko w fajnym czystym wydaniu jego budowaniu.

  • Co do projektow to dla Reacta mam bardziej zabawe kompontetami, klasami, requirejs - tutaj bardzo zaluje ze nie nauczylem sie architektur flux/reflux, ale przeciez wszystkiego mozna sie douczyc ;)
  • W Angularze aktualnie pracuje nad jednym (Rest Api,mysql, php do resta) a drugi skonczylem, taki maly, ale zrozumialem w nim promisy np.
  • Mialem kiedys napisany taki maly koszyk lista w JSie, robilismy go na lekcji bodajze w listopadzie to postanowilem do poprawic na wersje OOP plus do tego mam taki maly zooming zrobiony i kilka bardzo malych skryptow jsowych.

Jest tego malo ze wzgledu na to ze po prostu moj kod ewoluowal i gdybym mial pokazac moje pierwsze projekty we wspomnianych technologiach o ktorych pisalem, to jednym slowem - wstyd, dlatego poszly do kosza niestety albo stety. Najwieksza nadzieje na pokazanie umiejetnosci aktualnie wiaze z tym projektem co aktualnie realizuje, szkoda tylko ze wybralem Angulara a nie Recata wraz z architekturem Flux (glupis), trudno.
Chetnie bym pokazal kody do tego, ale chcialbym jeszcze doprawcowac to co sie da poki mam jeszcze czas + dokonczyc chociaz w czesci ten projekt troche wiekszy, a mam jeszcze troche czasu.

Co do solidnej pracy.. hm. Bardzo sie zajaralem, strasznie, moja frekwencja szkolna spadla do 50% wiec mysle ze solidnosc chyba jest :D

@Pietruch
Dzieki wielkie za odpowiedz, bo wlasnie takich odpowiedzi szukalem, z ladnym opisem, co jak, kto powiedzial. Wiem, ze brzmi to troche wywiadowczo, ale chcialbym wypasc jak najlepiej. Po prostu czuje, ze to jest to co chce w zyciu robic i bede sie czul w tym szczesliwy. Pamietam jak bylem malym szczylem i wyszedl android i powiedzialem sobie, ze bede robil takie UI, oczywiscie takiego slowa nie znalem, ale wiadomo o co cho ;)
Moglbys mi powiedziec na jakim poziomie wtedy byles, co umiales?

0

@WerdenSehen,
Wiadomo, że chcesz wypaść jak najlepiej, to całkowicie normalne :)

Na jakim poziomie to ciężko mi określić, jedynie mogę napisać tak na "czuja".
HTML5 - oceniam na db+/bdb-. Tu nie ma co się zbytnio rozwodzić, każdy frontendowiec musi to znać, mieć pojęcie o semantyce itp.;
CSS3 - ocena j.w., tutaj też chyba nie ma co się rozpisywać, wydaje mi się, że każdy frontendowiec powinien mieć podstawowe pojęcie o animacjach, modyfikacjach elementów (transform), opływaniu, pozycjonowaniu, 'wyrównywaniu' w poziomie i pionie, bo jako junior dostanie się psd do zakodowania gdzie ta wiedza się przyda.
Z początku miałem zajawkę na "no JS", starałem się robić wszystko w CSS, ale to był czas zabawy, nie nauki z myślą o pracy. Fajnie zrobić slider w czystym CSS, ale w praktyce to sztuka dla sztuki.
W ramach nauki zrobiłem uproszczoną wersję Bootstrapa (czyt. gotowe, responsywne klocki do poskładania i ostylowania). Przydało się w JanuszSofcie przy zadaniu rekrutacyjnym;
JS - oceniam na podstawową/przeciętną. Najogólniej - mam podstawy OOP. Bardziej szczegółowo: "klepałem" proste skrypty modyfikujące elementy na stronie, np. wskaźnik postępu czytanego tekstu, paralax, animacja pojawiania się elementów widocznych w oknie przeglądarki, slider, animacja najechania na element w zależności od tego z której strony wskaźnik "nachodzi" na element, zabawy particles w canvas. Z "większych" rzeczy to zrobiłem w samym jQuery 'aplikację' do zarządzania zadaniami - tworzysz, edytujesz i usuwasz grupy, wewnątrz nich tworzysz zadania , które też modyfikujesz i usuwasz, skrypt podsumowuje ich ilość, które kiedy się kończą itp. Całość zapisywana w pliku JSON na dysku użytkownika (localStorage). Starałem się rozdzielić model od widoku i kontrolera, pisać obiektowo, kod opisany, tak żeby nie było to spagetti a coś co po zobaczeniu nie powoduje pierwszej myśli "WTF?!". To się pojawia pewnie potem :D Przydało mi się to do innej pracy, gdzie musiałem zrobić coś prostszego, ale wycięcie ~3/4 tego co napisałem było szybsze niż skrobanie od początku ;)
PHP - oceniam na podstawową. Znam OOP, popełniłem w ramach nauki pseudo-cms, aplikację w której tworzysz użyszkodnika, ten może dodawać, edytować i usuwać posty oraz oznaczać je jako publiczne - widoczne dla innych. Mając prawa admina masz możliwość edytowania i usuwania użyszkodników oraz widzisz wszystkie ich posty i możesz je dowolnie zmieniać. Całość w czystym PHP (hehe :P), również starałem się trzymać MVC oraz przestrzegać możliwie dużo dobrych praktyk i zabezpieczać całość (czyli własny mechanizm sesji, zabezpieczenia przed atakami SQL).

Frameworków nie znałem, wyszedłem z założenia, że najpier wypadałoby liznąć sam język zanim zabiorę się za narzędzia w nim używane.

P.S. Nie szkoda Ci czasu na Angulara?

0

Myślę, że jak tak przedstawisz sytuację, jak w wypowiedzi powyżej to bez problemów się załapiesz na juniora. Moim zdaniem popadłeś nieco w perfekcjonizm, uzależniłeś się od samodoskonalenia. Wydaje Ci się, że ciągle czegoś nie wiesz i masz rację, bo taka jest specyfika tej branży. Ale czy musisz wiedzieć tyle co developer, żeby załapać się do pierwszej pracy? Moim zdaniem starasz się spełnić wszystkie wymogi jakie są napisane w ogłoszeniach na Frontend Developera, a będziesz pracował za stawkę juniorską.

Poziom znajomości czegokolwiek jest tak subiektywną oceną, że zależy od wielu czynników. Możesz się uważać za Super Sayanina 3go poziomu w javascript, a ktoś Ci może udowodnić, że tak nie jest, możesz też wiecznie mieć przekonanie, że za mało potrafisz, a się okaże, że wiesz więcej od bardziej doświadczonych osób. Też ostatnio zwróciłem uwagę na przymiotniki w ogłoszeniach o pracę, w stylu perfekcyjna znajomość HTML5 i CSS3, bardzo dobra znajomość JS, dobra znajomość Angular. I tutaj pojawia się pytanie skąd osoba bez doświadczenia komercyjnego ma wiedzieć co to znaczy, skoro nie mogła pracować nad realnymi problemami w projektach i nie miała kontaktu z bardziej doświadczonymi programistami? Moim zdaniem osoba bez doświadczenia, aplikująca na juniora powinna w tym przypadku powiedzieć, że zgłosiła się dlatego, gdyż czuje że jej poziom jest odpowiedni na juniorskie stanowisko.

W skrócie przedstaw swoje projekty, plany, wybierz te technologie w których czujesz się najlepiej i tylko te wpisz do cv, bo jak zaczniesz mówić o tym co znasz pobieżnie, może Cię to dodatkowo zestresować. Rozmowa kwalifikacyjna nie powinna wyglądać też jak egzamin ustny na studiach, ponieważ programistów zatrudnia się, nie po to aby snuli elaboraty o danych technologiach tylko żeby programowali. Jeżeli piszesz kod i wiesz co piszesz, potrafisz to wytłumaczyć, just do it.

ps. Jakie miasto?

0

@Pietruch

Wszystko to co opisales bylo zanim zaczales prace tak? Bo uwazam, ze jest to spory wachlarz umiejetnosci, jak na pierwsza prace. A ile juz pracujesz w branzy i jak oceniasz postep od jego zaczecia do teraz?

Co do angulara, to faktycznie zrypalem, tak jak pisalem to wyzej, moglem zaczac ten aktualny projekt w react+flux, ale jescze nic straconego, najwyzej skroce moj projekt, choc mial to byc pelnowartosciowy portal spolecznosciowy. A zawsze pewne umiejetnosci sa tam przedstawione, takie malo tutorialowe, chociaz nie wiem bo do tego projektu zadnego tutoriala nie uzywalem a tylko dokumentacje, ale z tego co patrzylem to ciezko byloby to posklejac sensownie.
Ps. dla jakiej branzy pracujesz?

@kawaStefan

Wydaje Ci się, że ciągle czegoś nie wiesz

  • to jest najgorsze, nie potrafie okreslic przez to moich umiejetnosci, czy nadaja sie na juniora. I dokladnie tak jak nizej napisales, staram sie spelnic wymagania opisane w ogloszeniach, da mi to wieksza pewnosc, przy rozmowie o prace. Oczywiscie kazde ogloszenie jest inne, ale mozna znalezc w nich czesc wspolna.

ostatnio zwróciłem uwagę na przymiotniki w ogłoszeniach o pracę, w stylu perfekcyjna znajomość HTML5 i CSS3, bardzo dobra znajomość JS, dobra znajomość Angular.
To jest dokladnie to, o co zapytales wyzej a ja Ci odpisalem cos podobnego do Ciebie.

Mieszkam w okolicach Poznania, wiec bede startowal wlasnie w to miejsce ;)

0

Wszystko to co opisales bylo zanim zaczales prace tak?

Tak, pomijając PHP to reszty nauczyłem się we własnym zakresie, przed podjęciem pracy. PHP uczyłem się w ramach czasu wolnego u Janusza.

Bo uwazam, ze jest to spory wachlarz umiejetnosci, jak na pierwsza prace.

Również jestem takiego zdania ;) Ale tych umiejętności nie wykorzystuję za bardzo. Wypłata też nie jest za bardzo :P Nie za bardzo też się chwalę umiejętnościami, bo jak coś robię to z reguły odpuszczam sobie 'szlify' i np. korzystam z domyślnej skórki Bootstrapa. Więc sporo tych "nie za bardzo" ;)

A ile juz pracujesz w branzy i jak oceniasz postep od jego zaczecia do teraz?

Komercyjnie 2 proste strony, 4 miesiące u Janusza i teraz miesiąc w nowej robocie. Postęp oceniam marnie:

  • jak wspomniałem, ogarnąłem coś z PHP w ramach czasu wolnego;
  • nauczyłem się SASSa (przynajmniej podstaw). Jeżeli go znasz to wiesz, że to cukier składniowy na css. Jeżeli nie znasz... to już wiesz :D
  • zadania jakie otrzymuję to rzeźbienie w cssach. W pewnym momencie kończy się w nim "acha, więc to o to chodzi", zwłaszcza, że trochę się nim bawiłem zanim wpadłem na pomysł pracy w branży.
    Postęp poza pracą oceniam odwrotnie - sporo się nauczyłem mimo tego, że miewam kilku(nasto) dniowe okresy przestoju w kodowaniu. Ale nie walczę z nimi, bo duży chłopiec jestem* i wiem już, że to bardzo zgubne, bo można się zrazić.

Co do angulara, to faktycznie zrypalem, tak jak pisalem to wyzej, moglem zaczac ten aktualny projekt w react+flux, ale jescze nic straconego, najwyzej skroce moj projekt, choc mial to byc pelnowartosciowy portal spolecznosciowy. A zawsze pewne umiejetnosci sa tam przedstawione, takie malo tutorialowe, chociaz nie wiem bo do tego projektu zadnego tutoriala nie uzywalem a tylko dokumentacje, ale z tego co patrzylem to ciezko byloby to posklejac sensownie.

E tam, olać to. Nawet jeżeli projekt nie jest ukończony na cacy to ważne, że w ogóle zdobyłeś wiedzę.

Ps. dla jakiej branzy pracujesz?

IT, a jakiej innej? :D

nie potrafie okreslic przez to moich umiejetnosci, czy nadaja sie na juniora

Moim zdaniem jak najbardziej się nadajesz. W sumie nie wiem jak tam w Twojej okolicy, ale we Wrocku raczej nie szukałbyś długo roboty. Zwłaszcza, że teraz chyba oferty pracy zostały wypuszczone ze szklarni, bo na początku roku miałem wrażenie, że jest mniej ofert dla juniorów.

Oczywiscie kazde ogloszenie jest inne, ale mozna znalezc w nich czesc wspolna.

Większość jest podobna - perfekcyjny HTML, idealny CSS, doskonały JS, Angular, React często PHP, SQL. Do tego jakieś nudne HRowe teksty, po których wzrok jedynie się prześlizguje, bez zwracania większej uwagi na treść.

    • jak napisałeś

Pamietam jak bylem malym szczylem i wyszedl android

to poczułem się stary.Chyba czas na leki na prostatę i osteoporozę :D

0

IT, a jakiej innej? :D

  • troche tutaj zle zadalem pytanie. Chodzi mi o to dla jakich branz tworzysz, no wlasnie.. tylko strony? Czy aplikacje tez? Np. cos dla rozwiazan biznesowych, a moze dla branz rozrywkowych?

zadania jakie otrzymuję to rzeźbienie w cssach.

  • nie piszesz nic w JSie ani nie uzywacie frameworkow do budowania aplikacji, czy tylko Ty akurat nie jestes na takim stanowisku?

Szczerze mowiac nie wyobrazam sobie isc do pracy aby grzebac tylko w css, niewazne czy to jakis preprocesor, czy stricte, po prostu nie. W wiekszosci ofert widze podpinki jakich technologii dana firma uzywa i sa to naprawde wartosciowe rzeczy - wiec o co tutaj chodzi - pisza tak a dostajesz co innego do roboty?

Mam kumpla ktory dostal sie do X firmy i pisza w konkretnych sprawach, tylko minus jest taki ze nie ma podzialu na front i back end, a nie ukrywam ze wolalbym wymasterzyc front + mala przebitka backendu dla rozwoju i rozwiazaniu niektorych zadan.

Zalezy mi na jak najwiekszej nauce JS-a w szczegolnosci Reacta,Yeoman czy Gulpa - moglbym nawet pojsc na staz, ale byle isc w ta strone. Oczywiscie css i html to nierazlaczna czesc i rowniez zaglebiac jego tajniki, ale wyzej wymionione to moje priority. - teraz powstaje pytanie, gdzie teze postawilem wyzej, pisza ze masz umiec bog wie co a przychodzisz i grzebiesz pol roku css :D

0

@WerdenSehen

  • troche tutaj zle zadalem pytanie. Chodzi mi o to dla jakich branz tworzysz, no wlasnie.. tylko strony? Czy aplikacje tez? Np. cos dla rozwiazan biznesowych, a moze dla branz rozrywkowych?

Obecnie robię przy stronach i aplikacjach dla artystów.

  • nie piszesz nic w JSie ani nie uzywacie frameworkow do budowania aplikacji, czy tylko Ty akurat nie jestes na takim stanowisku?

Jestem juniorem i jak na razie dołączałem do już zaczętych projektów, gdzie trzeba było właśnie kogoś od stylowania żeby dorobił RWD, poprawił błędy z wyświetlaniem czegoś, naniósł poprawki grafików itp. Dodatkowo projekt przy którym robię jest dosyć spory i stworzony w Angularze, którego nie znam(i nie planuję tego zmieniać), więc obecnie nie bardzo mam co robić ponad to co napisałem. Coś tam JS używałem, bo trzeba było stworzyć np. mobilne menu czy slider, ale poza tym do RWD wolę używać CSS jeżeli tylko jest możliwość.

Szczerze mowiac nie wyobrazam sobie isc do pracy aby grzebac tylko w css, niewazne czy to jakis preprocesor, czy stricte, po prostu nie. W wiekszosci ofert widze podpinki jakich technologii dana firma uzywa i sa to naprawde wartosciowe rzeczy - wiec o co tutaj chodzi - pisza tak a dostajesz co innego do roboty?

To, że używają nie znaczy, że Ty będziesz w nich dużo robić ;)
Po kilku przeprowadzonych rozmowach - jako junior front-end najpierw grzebiesz w CSS + trochę JS, jeżeli chcesz bardziej dłubać w JSie to musiałbyś szukać oferty typu JS dev, Angular dev itp.ale tutaj najczęściej wymagają trochę doświadczenia.
Więc chyba będziesz musiał się pogodzić z tym, że zaczniesz od CSS żeby nabić doświadczenie komercyjne. Zawsze to praca w branży, a po godzinach możesz rozwijać się w wybranym przez siebie kierunku ;)

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