Mam więc kilka programów / witryn w moim portfolio. Zarabiają pieniądze, ale nie za dużo.
Postanowiłem więc zdobyć doświadczenie zawodowe, głównie aplikując na młodsze stanowiska programistyczne Java / PHP.
Problem polega na tym, że odpowiadam poprawnie na wszystkie pytania techniczne i planujemy zrobić „test” kodujący, ostatnią fazę wywiadu. Nigdy nie mogę się odprężyć i zastanowić nad tym, co kończy się testem bardzo powoli. LUB czasami po prostu uderzam w blok i bardzo trudno jest mi myśleć na własnych nogach.
Nie rozumiem tego, ponieważ inne rzeczy, które napisałem, rozwiązywały znacznie bardziej złożone problemy, podczas gdy „Test” jest tak naprawdę brutalnie prosty, jak pisanie i testowanie palindromu.
Innym razem dadzą mi test logiczny z przepływami do operacji matematycznych i znowu nie będę w stanie tego zrobić w czasie, który przydzielą.
Wiem, że potrafię pisać oprogramowanie / strony internetowe z możliwością sprzedaży, które mogą generować niewielkie przychody i znaleźć sposoby rozwiązania problemów, ale mam duże trudności z prostymi testami kodowania w wywiadach.
Jakieś sugestie?
Odpowiedzi:
Uczęszczaj na wywiady. W końcu znajdziesz miejsce, w którym będziesz zadawać pytania bardziej dostosowane do twoich mocnych stron. Uzyskasz także lepszą i wygodniejszą rozmowę, która może tylko pomóc. Spójrz na to jak na grę, bo tak naprawdę jest. Graj dalej, a ostatecznie wygrasz.
źródło
bool isPalindrome(string)
ponieważ miałem napisać go na papierze w terminie (15 minut?). Biorąc pod uwagę edytor tekstu i bez limitu czasu, uważam, że mógłbym to zrobić idealnie w ciągu minuty.To jest bardzo powszechne. Większość programistów jest w stanie skutecznie programować, gdy znajdują się w strefie komfortu. Na przykład mogę pracować tylko na Ubuntu, z vimem, jeśli nie mam tego obszaru roboczego, nie będę miał ochoty programować. Ja również wymagać , w pewnym stopniu Google na badania.
Jestem pewien, że opracowałeś strefę komfortu programowania. Polecam, przyzwyczajając się do środowiska, w którym ktoś stoi za tobą i czeka na uzupełnienie kodu. Najlepszym sposobem, aby się do tego przyzwyczaić, jest kontynuacja rozmowy kwalifikacyjnej.
Możesz myśleć, że nie ma to większego wpływu i może nie. Ale dla niektórych z nas, programowanie z muzyką lub bez, za pomocą IDE lub prostego edytora tekstu, za pomocą drewnianego krzesła lub siedzenia na kanapie, ciemnym pokoju lub jasnym pokoju ... to ogromna różnica w naszym rozwoju prędkość.
Uwaga: po otrzymaniu pracy zazwyczaj możesz stworzyć własną strefę komfortu w przestrzeni biurowej, którą ci dają.
EDYCJA : To pytanie przypomina mi sprzedawcę, który pyta, jak czuć się lepiej i lepiej dzwonić na zimno. Najlepszą odpowiedzią jest wykonywanie zimnych połączeń i refleksja nad każdym połączeniem. Po pewnym czasie sprzedawca poprawia swoje umiejętności i komfort. Wydaje mi się, że programista nie różni się, biorąc udział w rozmowach kwalifikacyjnych, ponieważ najważniejsze jest, aby sprzedać się ankieterowi
źródło
To tylko moja sugestia, dlaczego nie spróbować zostać przedsiębiorcą. Może być wiele osób, które borykają się z podobnym problemem. Jeśli potrafisz pisać strony internetowe o niewielkich dochodach, to na pewno możesz na nich zarobić.
źródło
Zidentyfikowałeś już swój problem - rozwiązywanie problemów pod presją (np. Gdy ktoś cię obserwuje). Czy to dlatego, że brakuje ci pewności siebie, nie masz wystarczającego doświadczenia lub pękasz pod presją?
Udawanie się na wiele wywiadów w celu zdobycia doświadczenia i praktyki może być dobrym pomysłem, ale może również przynieść efekty przeciwne. Ciągłe niepowodzenia w wywiadach mogą jeszcze bardziej podważyć twoją pewność siebie, więc bądź ostrożny.
Sugeruję, abyś spróbował programowania równorzędnego, abyś mógł wygodnie rozwiązywać problemy, gdy ktoś cię obserwuje. Spróbuj także dowiedzieć się, co powstrzymuje cię przed byciem skutecznym pod presją (czy to stres związany z samym testowaniem, stres związany z pracą pod ścisłym nadzorem, stres związany z pracą w określonym czasie itp.).
źródło
Brzmi jak dusisz się pod presją. Ponieważ musisz wykonać przykłady czasowe w ramach procesu wywiadu, musisz nauczyć się, jak sobie z tym poradzić. To wszystko dotyczy radzenia sobie ze strachem, a nie umiejętności programowania.
Jedną z opcji byłoby przećwiczenie pisania przykładowych problemów i poświęcenie czasu sobie. Gdy dowiesz się, że możesz to zrobić w mniej niż dziesięć minut, możesz obawiać się mniejszego czasu.
Inną opcją byłoby wymyślenie techniki uspokojenia strachu i użycia jej do uwolnienia się od zadławienia. Nauka techniki medytacji może ci pomóc. Albo zapamiętaj litanię przeciwko strachowi (z Wydmy ). Naucz się sztuczki, aby zdjąć reakcję na strach.
źródło
Jestem zaskoczony, że nikt jeszcze o to nie pytał, ale jak podchodzisz do zadań programistycznych ?
Jeśli po prostu wskakujesz do kodu, istnieje szansa, że się zgubisz i popełnisz proste błędy i wpadniesz w błąd. Zrób to krok po kroku:
Naprawdę, podczas rozwiązywania problemów z kodowaniem, ankieter nie szuka aż tak dobrego kodu. Chodzi bardziej o to, jak poradzisz sobie z danym problemem. Nurkowanie bezpośrednio w kodzie to zła rzecz, kropka.
Przekonasz się również, że kiedy mówisz o problemie (zbieranie wymagań i projektowanie), poczujesz się trochę wygodniej i rzadziej popełniasz głupie błędy podczas kodowania.
źródło
Projekt Euler
Wydaje mi się, że nie zdajesz testu fizzbuz . Umysł odrętwiający proste algorytmy, które zasadniczo nie służą żadnemu praktycznemu celowi, z wyjątkiem określenia, czy rozumiesz podstawowe pojęcia programowania.
Odśwież swoje podstawy
Polecam odświeżyć swoje podstawy.
http://projecteuler.net/
Zarejestruj się i zacznij ćwiczyć, a przekonasz się o tych przykładach, aby lepiej zrozumieć podstawowe koncepcje programowania. Myślę, że znajdziesz tam pytanie palindromowe wraz z sekwencjami Fibonacciego i innymi pojęciami matematycznymi (brzmi znajomo).
źródło
Poproś o informacje zwrotne podczas wywiadu lub po nim. Co im się podobało Co im się nie podobało? Możesz być zaskoczony odpowiedziami.
Różni ludzie oczywiście szukają różnych rzeczy, ale sposób, w jaki próbujesz rozwiązać problem, jest zwykle ważniejszy niż napisanie w 100% poprawnego rozwiązania. Możesz martwić się o wszystkie złe rzeczy.
Najlepszym sposobem na poprawienie czegokolwiek jest ćwiczenie. Spróbuj zapisać listę krótkich problemów. Następnie dla każdego elementu na liście napisz mały program, który rozwiąże problem. Zacznij od bardzo łatwych problemów, takich jak FizzBuzz , i stopniowo zwiększaj poziom trudności. Czy potrafisz rozwiązać problemy, które widziałeś w poprzednich wywiadach? Znajdź największy podciąg, który łączy dwa ciągi? Oblicz pierwszą faktoryzację n !?
Chodzi o to, aby nie nauczyć się rozwiązania każdego napotkanego problemu, ale poćwiczyć szybkie pisanie małych programów, a także dowiedzieć się, gdzie są twoje słabe punkty, abyś mógł poprawić. Wiele problemów można łatwo rozwiązać za pomocą odpowiedniej struktury danych, ale w innym przypadku jest to trudne, więc upewnij się, że masz solidne podstawy w strukturach danych.
źródło
Poćwicz i znajdź kogoś, kto pomoże ci przejść przez podstawy, jak się przez to przejść. Może to wymagać kilku prób, ale może być zaskakujące, co zostanie odkryte, jeśli możesz uzyskać informacje zwrotne i poćwiczyć na ten temat. Miałem rekrutera, który przeprowadził mnie przez proces rozwiązywania problemu z tablicą, która wydaje się podobna do twojego problemu tutaj.
Nie sugeruję zapamiętywania odpowiedzi w takim stopniu, w jakim zawiera plan tego, co robić, gdy pojawia się taki problem i jak go omówić. Jak to wygląda? Czy widziałeś podobne problemy? Co mogą przynieść niektóre proste podejścia w zakresie algorytmu? Przynajmniej taka jest moja propozycja dla ciebie.
źródło
Deweloperzy oprogramowania często marnieją, gdy są proszeni o poddanie się testowi kodowania lub napisanie małego fragmentu kodu podczas wywiadu. Jak ktoś już wspomniał, dzieje się tak dlatego, że większość z nas może kodować tylko wtedy, gdy znajdujemy się w „strefie komfortu” i siedzenie w małym pokoju, otoczonym 2-5 ankieterami, nie zapewnia większego komfortu.
Odpowiedź jest trzykrotna:
ćwiczyć i ćwiczyć więcej. spróbuj przez miesiąc zrobić 30-40 minut programowania za pomocą papieru i długopisu, a będziesz zaskoczony, jak łatwo by to było. Podczas ćwiczeń - wypróbuj zadania programistyczne, których oczekujesz od sesji kodowania wywiadu - np. Zaimplementuj singleton, odwróć ciąg znaków itp. Jeszcze łatwiej jest „odczytać fragment niepotrzebnego kodu i znaleźć coś złego „- spróbuj wydrukować i analizować te wydruki przez dwa tygodnie, a znacznie poprawisz tę umiejętność.
naucz się kontrolować swój strach. jeśli uważasz, że test jest zbyt trudny i możesz go ukończyć tylko 20% - zrób to 20%, nie martw się o resztę. Może się zdarzyć, że test jest nieuzasadniony za długi jak na ten czas (np. Faceci podczas wywiadu powinni dać ci 20 minut na jego ukończenie, ale muszą zakończyć rozmowę w ciągu 5 minut z powodu pewnego wybuchu produkcji itp.) . Możliwe jest również, że innym kandydatom udało się tylko ukończyć test 10%, więc po ukończeniu 20% nadal będziesz wyprzedzać innych kandydatów.
Pisząc kod podczas rozmowy kwalifikacyjnej - nie zawracaj sobie głowy tym, aby był idealny w pierwszym przejściu. po prostu zaimplementuj „szczęśliwą ścieżkę, czyli pierwszy najczęściej występujący scenariusz”, a później zajmuj się obsługą błędów. jeśli kończy Ci się czas - po prostu dodaj krótką notatkę na dole opisu arkusza - co byś zrobił, aby poprawić kod, gdybyś miał więcej czasu.
[muszę uruchomić, zmodyfikuję / poprawię moją odpowiedź później]
źródło
Jak już wiele osób powiedziało, ćwiczę to jedna z najważniejszych rzeczy. Jeśli już zrobiłeś podobny problem, będziesz w stanie szybko znaleźć rozwiązanie.
Jeśli masz problemy z samodzielnym rozwiązywaniem problemów, skorzystaj z wyszukiwarki Google, aby znaleźć odpowiedzi na pytania dotyczące rozmowy kwalifikacyjnej w Twoim języku lub wybranym języku.
Możesz także odebrać książki przeznaczone do nauczania kursów CS niższego poziomu. Większość tych książek jest wypełniona niewielkimi zadaniami programistycznymi i można je szybko wykonać w domu. Można je wykorzystać do ćwiczeń.
źródło
Jestem też bardzo zły na testach i zawsze tak było. Przez całe życie nie mogłem zrozumieć, dlaczego dano mi lekcje programowania, żeby wziąć ołówek i papier. Nigdy nie byłem w tym dobry. Jednak to, co zrobiłem, wyjaśniło ankieterom, że miałem ten problem i wiedziałem o nim. Udało mi się również przeprowadzić wywiad z firmami, które nie dały mi głupich testów.
Moją sugestią jest poinformowanie firmy przed udaniem się na rozmowę, że nie zrobisz tego z takimi testami, jednak zamiast tego jesteś zadowolony z X. (Wymyśl alternatywę, która ma sens, a czujesz się komfortowo.) Dla siebie zaproponowałem, że wyślę im kod i pewnego razu zasugerowałem, że dadzą mi prosty program do pisania, a ja przyniosę go ze sobą wywiad za 3 dni.
W zależności od tego, gdzie szukasz pracy, może to dla ciebie działać lub nie.
źródło