• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pierwsze CV do oceny - frontend developer

+4 głosów
558 wizyt
pytanie zadane 8 lipca 2020 w Rozwój zawodowy, nauka, szkoła, praca przez Arcywojak Początkujący (370 p.)

Witam, jestem aktualnie po maturze, a przed studiami chciałbym nabyć trochę doświadczenia na stanowisku frontend developer. Napisałem swoje pierwsze CV ale nie mam co do niego pewności. Czy mogłaby jakaś dobra i doświadczona dusza ocenić moje CV? Jeśli ktoś chciałby wejść w jeden z projektów to podaję swój Github:

https://github.com/Arcywojak (Projekty z CV są przypięte do profilu)

2 odpowiedzi

+1 głos
odpowiedź 9 lipca 2020 przez Lewo Gaduła (3,000 p.)
edycja 9 lipca 2020 przez Lewo

Mam pewną wątpliwość czy szachy zaimplementowałeś dobrze, jest pare pułapek
- bicie w przelocie
- ruch podczas gdy jesteś szachowany
- roszada (można przejść wieżą przez pola szachowane, ale nie królem)
- ruch odsłaniający króla na szacha
- 50ruchów bez bicia piona
- trzykrotne powtórzenie pozycji

Patrzę
 

if (battleField.fields[origin.x][origin.y].typeOfCounter === "king" || // CASTLING
                battleField.fields[origin.x][origin.y].isFirstMove === true)

to jak dobrze pamiętam JS oznacza, że możesz zrobić roszardę jeśli na pytanym polu (origin) stoi król LUB jest to pierwszy ruch (dowolna figura). Czyli można zrobić roszadę jeśli na origin stoi nie tylko król.

Dalej

if (origin.x - destination.x === -2) { // It mean we are doing short castling
...
} else if (origin.x - destination.x === 2) { // It mean we are doing long castling

Inna różnica pól jest przy długiej i krótkiej roszadzie.  Po za tym w połączeniu z wyzej wymienionym błędzie jak nie sprawdzasz linii (czy to linia 1 czy 8) to można zrobić w pewnych okolicznościach roszadę: dwoma dowolnymi figurami np. pionkiem b2 i e2 (2 pola różnicy i ich pierwszy ruch).

Sama właściwość isFirstMove nie powinna być umieszczona w metodzie roszady tylko funkcji która wykonuje ruch
 

battleField.fields[origin.x][origin.y].isFirstMove = false;

Tak samo z pozycją wieży po roszadzie
 

coordinatesOfRookDestination = {
                        "x": destination.x + 1, // To the righy of the king
                        "y": origin.y // Y coordinate doesnt change
                    };

wieża jest na lewo od króla przy krótkiej roszadzie. (jeśli destination.x to pole dla króla)

Taka rada - jak bedziesz implementował FEN to masz tam stan gry poniekąd i masz zapisane czy były wykonywane roszady.


Przejrzałem tylko jedną metodę :) Ogólnie szachy to dość ciężka gierka do implementowania, szczególnie w JS (brakuje mi tam prawdziwych obiektów). Sam przymierzam się do pisania serwera szachowego, daj znać jak coś to dam więcej rad. Albo dopiszesz potem klienta do mojego serwera jak bedziesz chciał w JS.

 

Apropo CV parę pomniejszych uwag
- adresu nie trzeba, wystarczy miejsce zamieszkania, Tak samo wystarczy sam wiek a nie data urodzenie (w CV im mniej informacji zbędnych tym lepiej)
- wykształcenie chronologicznie. Zamiast znaku zapytania pisze się planowane zakończenie studiów albo "obecnie".
- Przy studiach informatycznych powinieneś podać szkołę. I jak zawodówkę pogrubiasz (rodzaj i nazwa szkoły) a "kierunek"/"zawód" piszesz pod spodem to trzymaj się tej konwencji też przy studiach. Na górze nazwa szkoły, niżej stopień jaki robisz (zakładam licencjat, ale nie musi to byc oczywiste)
- cel zawodowy ma Cię sprzedać, pokazać, że jesteś konkretny i wiesz czego chcesz. "celem jest ciągły samorozwój" - to nie jest cel tylko raczej metoda do osiągnięcia celu. Jedyny konkret jaki z tego wyłapałem to słowo "front-end" a babki z "HR" to nie są humanistki które lubią czytać oklepane teksty (dlatego listy motywacyjne często filtruja takich "zaangażowanych i otwartych na wszystko" i lepiej ich nie wysyłać jak nie wymagają a Ty nie masz doświadczenia w ich pisaniu). Lepiej napisać "Obecnie studiuję to i to. Chcę zostać tym i tym, dlatego napisałem poniższe projekty. Szukam pracy która pomoże mi się rozwijać w takim kierunku." - możesz sobie to jakoś udekorować, ale to raczej z czynów ma wynikać. Zrobiłeś logistykę a mimo, to studiujesz Infę - może użyj tego. Tylko ta sekcja nie powinna byc za mocno rozciągnięta.
- to co podałeś to nie doświadczenie jako takie. Zmieniłbym to na "Projekty" i oprócz jednego zdaniu o programie napisał coś o użytych technologiach.
- punktowy w doświadczeniu rozjechały Ci się z tekstem
- w umiejętnościach niepotrzebnie powtarzasz słowo znajomość. I jak wyróżniasz JavaScript jako dobrą znajomość to resztę znasz słabo? Ogólnie "dobre pojęcie JavaScript" bym uważał bo trafisz kogoś kto zacznie Cie pytać w eventloopa lub programowania reaktywnego i może wyjść, że jednak nie znasz dobrze. Dlatego na początku polecam same kropki z technologiami jakie znasz (nie z nazwy ale coś w tym zrobiłeś.
- w hobby unikałbym ogólnych zainteresowań takich jak "sport". Pamiętaj im mniej tym lepiej. Lepiej napisać, że lubisz jeździć MTB po single trackach czy coś niż być kolejnym klonem który lubi wyjść od kompa to już jest "hobby" sport. Coś co Cię wyróżni.
- link do github czesto podaje się przy swoich danych, wtedy nie musisz linkować do kazdego projektu (który i tak znajduje się na jednym repo, techniczny który przegląda kod sobie znajdzie). Możesz zrobić stronę startową swojego githuba z linkami do projektów jak potrzebujesz.

Ogólnie zwykle na górze daje się Doświadczenie bo to pierwsza istotna rzecz. Jako ktoś bez doświadczenia możesz zobaczyć na CV funkcjonalne (tylko bez lania wody).

1
komentarz 9 lipca 2020 przez Comandeer Guru (566,520 p.)

Ogólnie szachy to dość ciężka gierka do implementowania, szczególnie w JS (brakuje mi tam prawdziwych obiektów).

Możesz rozwinąć? 

komentarz 9 lipca 2020 przez Lewo Gaduła (3,000 p.)
To taki trochę skrót myślowy, ale mniej więcej chodzi o to, że obiektowość JS bazuje na prototypach.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Details_of_the_Object_Model
komentarz 9 lipca 2020 przez Comandeer Guru (566,520 p.)
No tak – i jest to jak najbardziej prawdziwa obiektowość, pod pewnymi względami dająca większe możliwości niż obiektowość oparta o klasy (zmienianie prototypu w locie czasami się przydaje). To, że jest to model obiektowości inny niż w większości języków, nie oznacza, że nie jest prawdziwy.
komentarz 9 lipca 2020 przez Lewo Gaduła (3,000 p.)
Źle się wyraziłem "prawdziwą obiektowością" - to pojęcie to zapewne kwestia interpretacji.
Ogólnie w JS da się prawie wszystko (a jak się nie da to da się zasymulować (patrz typy w TypeScript )) - żeby dobrze nim się posługiwać trzeba sporego skilla i zrozumienia.
Możliwe, że ja nie poznałem go na tyle, by odczuć jak przyjemnie się w nim pisze typowo obiektowe projekty (model - szachownica, figury, wzorce strategi, silnik walidujący ruchy). Próbowałem, ale nie przekonało mnie - mam wrażenie, ze to wynika z tej różnicy w obiektowości i trochę ze składni + paradygmatu funkcyjnego. Natomiast fajnie mi się w nich pisało typowo frontendowe rzeczy. Co nie wyklucza, że pewnie można niezłe szachy w JS napisać ;)

Dla przykładu dwa największe serwisy - Lichess został napisany w Scali, Chess.com (backend) w Javie.
komentarz 9 lipca 2020 przez Arcywojak Początkujący (370 p.)

@Lewo, wydaje mi się, że z roszadami wszystko w porządku, wcześniej jest warunek sprawdzający czy na danym polu jest król, a tu gdzie jest warunek LUB, to jest to prawdopodobnie zbędne powtórzenie kodu. Mam zamiar za jakiś czas ten kod zrefaktoryzować, bo mam świadomość, że ten kod jest strasznie nieuporządkowany i pewnie wtedy wyjdą wszystkie kwiatki. Jeśli chodzi o nazwę uczelni - jeszcze się na żadną nie dostałem :). 11 sierpnia dopiero otrzymam wyniki z matur.

komentarz 9 lipca 2020 przez Lewo Gaduła (3,000 p.)
To możesz napisać, w "O mnie" że jesteś maturzystą i aplikowałeś na takie studia bo póki co nie studiujesz i to nieprawda. Logikę sprawdzającą roszadę powinieneś mieć w jednym miejscu jak coś. I chciałbym zobaczyć gdzie sprawdzasz czy król podczas roszady nie przechodzi przez szachowane pole (nie chodzi mi, ze król po roszadzie jest pod szachem).
komentarz 9 lipca 2020 przez Arcywojak Początkujący (370 p.)
Jest taka funkcja filterTabInCaseOfCheck w pliku LookForCheck.js która symuluje każdy możliwy ruch i sprawdza czy po tym ruchu będzie szach. Gdy król ma wolne pola do roszady, są one dodawane do tablicy ruchów dla roszady (tzn. 2 ruchy w prawo lub 2 ruchy w lewo) i filtrowane tą funkcją. Jeśli po tej filtracji tablica tych ruchów jest równa 2 (czyli żaden z tych ruchów nie został odrzucony) to znaczy, że nie ma przeciwwskazań, aby król zrobił roszadę.
komentarz 9 lipca 2020 przez Lewo Gaduła (3,000 p.)
Spoko, trochę trudno czyta mi się ten kod. Jak będziesz chciał jakieś dokładniejsze code review to bym na jakimś czacie poza forum Cie podpytać gdzie co masz. Ja nie piszę też w javascript więc to też trochę utrudnia. Gram za to w szachy i pisałem coś podobnego więc chętnie pogadam o tym :D
0 głosów
odpowiedź 8 lipca 2020 przez Wiciorny Ekspert (217,990 p.)
za dużo w hobby, serio nikogo to nie interesuje :) więc tutaj lekiej króciutko i tak "hasłami"
Doświadczenie to nie projekty....
3
komentarz 8 lipca 2020 przez Arcywojak Początkujący (370 p.)

Chyba ktoś tu nie doczytał smiley. W hobby są tylko 3 wyrazy, niżej jest zgody na przetwarzanie danych osobowych. A jeśli chodzi o projekty to jest to jedyne co mogę zaoferować, bo nigdy nie pracowałem na stanowisku programisty. Gdyby nie one moje CV byłoby puste. Pozdrawiam.

komentarz 8 lipca 2020 przez Wiciorny Ekspert (217,990 p.)
no i twjw cv bedzie puste, bo nikt nie uwzgledni pojektow w doswiadczeniu bo to nie jest doswiadczenie, to powinno byc w innej sekcji ... lub po prostu w informacjach o Tobie, pytasz o ocene cv a sam wiesz lepiej...

czytaj ze zrozumieniem albo sprawdz chociaz w internecie jak wygladaja dobre CV i co oznaczaja poszczegolne sekcje
2
komentarz 9 lipca 2020 przez ScriptyChris Mędrzec (179,600 p.)

@Wiciorny a czym że jest zrobienie kilku projektów (nawet "do szuflady") jeśli nie zdobyciem doświadczenia? Owszem, to nie koniecznie będzie doświadczenie komercyjne, ale jeśli chodzi o pierwszą pracę/staż/praktyki, to takie projekty na pewno będą na plus i na ich podstawie rekruter może - przynajmniej wstępnie - ocenić umiejętności kandydata.

Poza tym, przecież gdzieś trzeba to doświadczenie zdobyć zanim pójdzie się do pierwszej firmy. Jeśli ktoś studiuje/studiował to też otarł się o projekty (wtedy z większą szansą na grupowe) i one też są niekomercyjne, ale pozwalają nabrać doświadczenia, liznąć jakiejś pracy zespołowej, planowania zadań itp.

komentarz 9 lipca 2020 przez Paweł Nąckiewicz Nałogowiec (48,990 p.)
Ja w swoim CV jak nie miałem doświadczenia komercyjnego ale miałem własne projekty, wrzucałem je do zakładki projekty hobbystyczne.

Podobne pytania

–1 głos
1 odpowiedź 197 wizyt
0 głosów
1 odpowiedź 124 wizyt
+1 głos
1 odpowiedź 125 wizyt
pytanie zadane 9 kwietnia w Rozwój zawodowy, nauka, szkoła, praca przez Patrykosik88 Początkujący (320 p.)

87,892 zapytań

136,483 odpowiedzi

304,289 komentarzy

58,279 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...