Witam,
Pisze w php od jakiegoś czasu no i chicałem spróbować swoich sił w pracy na wakacjach. Moje pytanie - jak wygląda test wstępny, czy musze znać funkcje na pamięć czy dostane dostęp do manuala? Czego się spodziewać? Wiadomo, że to praca czystego klepacza kodu, nic specjalnego, ale nie byłem w takiej sytuacji nigdy i nie wiem na co powinienem zwrócić uwage.
Pozdrawiam
lobopol
2.07.2013, 18:10:49
Wybacz, ale to jest dość niedorzeczne pytanie. W jednej firmie tak w innej nie. W jeszcze innej skończy się na rozmowie, a w kolejnej będziesz pisał test zdalnie. Na tak zadane pytanie nie da się odpowiedzieć.
Rozumiem, dziękuje - po prostu ciekawiło mnie czy musze znać funkcje na pamięć czy mogę się posiłkować manualnem.
peter13135
2.07.2013, 20:31:04
Wszystkich na pewno nie. Natomiast jak nie będziesz znał podstawowych funkcji phpowych to może wyglądać trochę podejrzanie, tak jakbyś z językiem nie był obyty.
Sporo ważniejsza od znajomości funkcji jest znajomość składni języka. W przypadku pehapa, wypadało by, byś potrafił wytłumaczyć, dlaczego php jest językiem dynamicznie typowanym, co jest przekazywane przez referencje a co przez wartość i jakie są tego konsekwencje, czym się różni operator == od ===, funkcje anonimowe i inne pierdółki, które są typowe dla php'a lub języków skryptowych. Następną ważną rzeczą (ważniejsze od poprzedniej) jest znajomość ogólnej konstrukcji języków obiektowych. Czyli co to klasa, klasa abstrakcyjna, interfejs, metoda statyczna / wirtualna, przeciążanie metod. Oczywiście teoria nie wystarczy - W przypadku PHP dobrze by było mieć trochę praktyki z frameworkami, znajomość technologii pobocznych, które pozwolą Ci na stworzenie czegoś użytecznego (jakieś facebook api, generowanie pdfów, generowanie obrazków, allegro api, paypal ipn, platnosci24 itp.). Trochę własnego kodu do pochwalenia się nie zaszkodzi. Następna najważniejszą rzeczą jest umiejętność korzystania z wiedzy, którą przed chwilą opisałem. Wypada wiedzieć, kiedy lepiej skorzystać z agregacji/kompozycji a kiedy z dziedziczenia. jak korzystać z danego wzorca projektowego i co może ważniejsze, jak z niego nie korzystać. Jak pisać czysty kod, łatwy w refaktoryzacji, który sam siebie komentuje i jest jednoznaczny. TDD jest również dobrym nawykiem.
Dla dobrego programisty, język jest tylko narzędziem - dostaje od szefa zlecenie na napisanie czegoś - on znajduje odpowiednie narzędzia i z nich korzysta. Początkujący programista, nie obyty z językami nie będzie wiedział który język/framework/technologię wybrać - będzie pisał w tym co zna.
Być może nieco to zniechęcające to co napisałem, ale się nie przerażaj. Jeśli masz chęci i motywację do pracy to na pewno dasz radę. Jako praktykant, czy stażysta nie musisz znać przecież wszystkiego. Obecnie dobrych programistów nie jest wiele, więc o pracę bardzo łatwo.
@down. poprawione.
sazian
2.07.2013, 21:06:04
Cytat(peter13135 @ 2.07.2013, 21:31:04 )

TTD jest również dobrym nawykiem.
TTD ? dolar Trynidadu i Tobago?
c1chy
2.07.2013, 21:20:25
Jak już napisano, wszystko zależy od firmy. Jednak myślę, że jeżeli będziesz sięgał do manuala tylko w konkretnych sprawach a nie co 2 linijki kodu to powinno być ok. Zresztą przy każdym projekcie prawie zawsze szukasz rozwiązań / bibliotek które mogą się przydać wówczas również musisz czytać dokumentację.
Jakby się zastanowić to nie znam programisty, który zna wszystkie funkcje PHP na pamięć, łącznie z typami argumentów i zwracanymi wartościami. Co innego jednak wiedzieć że idzie się do manuala sprawdzić jak wygląda wywołanie usort a co innego szukać w Google jak posortować tablice za pomocą własnej funkcji porównującej.
batman
3.07.2013, 06:51:53
Ten temat przewijał się przez forum wiele razy. Użyj wyszukiwarki i znajdziesz odpowiedzi na wszystkie swoje pytania.
Zamykam.