Pytania, których należy się spodziewać w wywiadzie na stanowisko programisty Junior Magento


33

Po pierwsze, chciałbym powiedzieć, że mam nadzieję, że nie zamieszczam w niewłaściwym miejscu tego pytania i jeśli jestem, proszę, doradzić mi, gdzie (jeśli gdziekolwiek w świecie wymiany stosów jest właściwe), powinienem to opublikować.

Mam kilka wywiadów dotyczących młodszych stanowisk programistycznych Magento. Mam trochę doświadczenia w programowaniu Magento, ale nigdy nie przeprowadziłem rozmowy kwalifikacyjnej na te stanowiska, więc nie jestem pewien, czego się spodziewać.

Byłbym wdzięczny za wszystkie komentarze i odpowiedzi i myślę, że ten post mógłby potencjalnie być bardzo pomocny dla innych młodszych programistów próbujących włamać się do Magento


7
Myślę, że to całkowicie nie na temat, ale nie mogę powstrzymać się od komentowania. Spodziewaj się tego: inchoo.net/wp-content/uploads/2010/01/inchooers1.jpg
Marius

Przepraszam, jeśli to nie w porządku !! W odpowiedzi na twój link, wiem wystarczająco dużo o Magento, aby uzyskać dowcip, ale prawdopodobnie miałbym takie samo wyrażenie jak ten facet po 3 godzinach :)
develophper

Przepraszam, jeśli to prowadzi wszystkich do tematu! Zacznę też od oczekiwania od dewelopera, że ​​pozna przynajmniej pozycje w teście FED. Dałbym im również
ostateczny termin

1
„Prawidłowa” odpowiedź naprawdę zależy od oczekiwań podanych dla pracy; Nie mam zamiaru zatrudniać programisty Magento, ponieważ „dostępni” programiści Magento są tak rzadcy jak biały łoś. Najpierw zatrudnij dobrego programistę i zapłać za doświadczenie Magento, które wykazali w wywiadzie. Jest tu kilka doskonałych odpowiedzi, które obejmują wszystkie podstawy, więc nie muszę dodawać.
benmarks

Odpowiedzi:


35

Kiedy przeprowadzam rozmowy z kandydatami, a zwłaszcza młodszymi , najpierw oceniam, czy będą dobrymi programistami . Nevermind Magento .

Więc usłyszycie ode mnie wiele ogólnych, nie-Magento, pytań. Oto tylko kilka:

  • Wyjaśnij różnicę między mapą, skrótem, tablicą, kolekcją i listą.
  • Wyjaśnij, co według ciebie oznacza „dziedzictwo”, i daj mi przykład, który nie dotyczy samochodów ani członków rodziny.
  • Wymień 3 rodzaje luk w zabezpieczeniach, które są często wprowadzane przez niefiltrowane dane wejściowe użytkownika.
  • Wyjaśnij, czym jest przygotowane oświadczenie i co robi.
  • Jaka jest twoja ulubiona nowa funkcja w PHP 5.5?
  • Wymień przynajmniej 3 główne frameworki PHP.
  • Jaka jest różnica między deklaracją funkcji a wyrażeniem funkcji?

Niektóre pytania nietechniczne:

  • Powiedz mi, kiedy ostatni raz popełniłeś błąd, który kosztował pieniądze firmy lub klienta, i:
  • Czego nauczyłeś się na swoim błędzie?
  • Co robisz, aby być na bieżąco z technologiami?
  • Czego uczysz się w czasie wolnym?

Następnie mogę poprosić ich o dokonanie przeglądu kodu z częścią ich pracy w Github lub czymś, co przesłali; moglibyśmy wykonać kilka ćwiczeń na tablicy, takich jak Fizzbuzz, może wybór z Project Euler ... coś w tym rodzaju. Próbuję to tutaj pomieszać i zobaczyć, jak radzą sobie z problemami, z którymi się nie spotkali.

Jeśli jestem zadowolony i wiem, że kandydat ma doświadczenie w Magento, mogę zadać bardziej szczegółowe pytania dotyczące Magento :

  • Czym Magento MVC różni się od klasycznego MVC (lub Zend Framework MVC)?
  • Wymień 3 rodzaje modeli Magento
  • Opisz lub podaj przykład puli kodów Magento i / lub powrotu do tematu
  • Kiedy można dokonać modyfikacji rdzenia? (odpowiedź: NIGDY)
  • Wymień co najmniej 3 techniki zastępujące domyślną / podstawową funkcjonalność.

W tym momencie mogę zadać kilka naprawdę trudnych pytań lub poprosić, aby coś naszkicowały - być może przepływ transakcji Magento. Mogę kazać im opisać wszystkie podfoldery w rozszerzeniu Magento. Mogę zapytać ich, jakie abstrakcyjne modele rozszerzyć w celu uzyskania pożądanej funkcjonalności.

Mam nadzieję, że to pomoże - proces wynajmu jest trudny dla obu stron przy stole . W pierwszej rundzie zatrudniania po raz pierwszy telefonem sprawdziłem ponad 75 kandydatów, przeszukałem ponad 500 CV, a następnie zmniejszyłem liczbę wywiadów do 2 lub 3 osobiście. Żadne z nich nie zadziałało - więc w moim przypadku, gdy siedzisz naprzeciwko mnie, kibicuję ci! Chcę, żebyś to zrobił! Chcę, aby torturujący proces rekrutacji dobiegł końca, abyśmy mogli robić to, co robimy najlepiej - tworzyć niesamowite produkty.

Sztuczka polega na tym, aby zachować lekkość i uczynić z niej użyteczne, a przynajmniej edukacyjne doświadczenie dla kandydata.


9
„Kiedy można dokonać modyfikacji rdzenia?” - kiedy jesteś programistą Magento? :)
Dmytro Zavalkin,

1
Nawet wtedy ... może nie :)
philwinkle

3
phil, dla mnie jest ok, kiedy naprawia błąd w ten sam sposób, robi to kolejna wersja, czyli backporting poprawki.
Fabian Blechschmidt

@FabianBlechschmidt zamierzał powiedzieć to samo. Pamiętam poprawkę, która została dodana do nowej wersji EE. Klient potrzebował tej prostej poprawki, ale nie był przygotowany na aktualizację całego sklepu. Nawet wtedy nadal pozostawiam krótki plik tekstowy wyjaśniający zmianę, za pomocą której plik jest zmieniany, wiersz nr itp.
pspahn

Dlaczego twórca Magento musi być w stanie rozwiązać skomplikowane zagadki matematyczne?
Partyzant

11

Na podstawie dyskusji, którą przeprowadziłem z partnerami Magento (uwaga: sam nie przeprowadzałem wywiadu z programistami), poniżej znajduje się kilka wskazówek:

1) Nie szukaj programistów Magento. Znajdź dobrych OO PHP (lub Java, słyszałem historie sukcesów w pozyskiwaniu programistów Java do Magento) i trenuj ich. Mamy też kilku ludzi, którzy przenieśli się z Javy do Magento i nie mają złych nawyków typowych programistów PHP.

2) Nigdy nie korzystaj z zewnętrznej firmy wynajmującej - nikogo nie znajdą i nie wiedzą, co robią (tzn. Ścigają mnie, ponieważ pracuję dla Magento i byłem programistą dawno temu - ale nie jestem Magento deweloper)

3) Nie jestem pewien, jaka jest Twoja rola / firma. Jeśli chcesz robić rozwój, tak, szukaj ludzi. Jeśli jednak jesteś kupcem lub chcesz wykonać tylko jeden projekt, zastanów się zamiast tego z doświadczonym partnerem.

4) Uzyskaj @benmarks, aby odpowiedzieć - prowadzi wewnętrzne szkolenie dla nowych pracowników w BlueAcorn i mam nadzieję, że może podzielić się dobrymi spostrzeżeniami


1
Dobra uwaga na temat programistów Java. Myślę, że wielu z nich pracowało z takimi rzeczami, jak XSLT, które powinny pomóc im zrozumieć układ układu Magento.
pspahn

9

Pierwsze pytanie, którego prawdopodobnie byś się spodziewał, to coś w stylu:

Oto domyślna instalacja, teraz usuń blok „Powrót do szkoły” ze strony głównej za pomocą local.xml.

Możesz również znaleźć coś takiego jak:

Dowiedz się, dlaczego domyślny proces realizacji transakcji nie działa tak, jak powinien. (wskazówka, sprawdź błędy javascript w konsoli).

Po zainstalowaniu modułu innej firmy, który modyfikuje sposób wyświetlania obrazów produktów, na stronie widoku produktu brakuje innej funkcji wygenerowanej przez osobny moduł innej firmy. Jaki jest pierwszy krok do debugowania tego? (wskazówka: „zależy”).

Klient chce mieć miejsce na stronie głównej, na którym może łatwo modyfikować zawartość bez konieczności zajmowania się „kodem”. Jak byś to wdrożył?

Wszystkie te pytania osobiście widziałem podczas wywiadu.

A potem oczywiście spodziewaj się pytań o typowe błędy Magento podczas programowania (wyczyść pamięć podręczną, reindex, błędy base_url itp.). Jeśli przybędziesz wszystko, spodziewaj się trudniejszych przedmiotów (EAV, przepisywanie klas, aktualizacja bloku za pomocą AJAX).

W zależności od tego, z kim przeprowadzasz wywiad, może być wystarczające, aby dobrze zrozumieć kilka podstawowych obszarów Magento (układ XML, praca z szablonami), ponieważ pierwsze miesiące zatrudnienia mogą prawdopodobnie wymagać naprawy losowych problemów z interfejsem na losowych stronach . Jeśli jesteś stosunkowo nowy w Magento i znalazłeś zatrudnienie jako programista jr, spodziewaj się dużo nauki w miejscu pracy.



6



0

Poniżej znajduje się zbiór pytań do wywiadu magento:

  1. Jak uzyskać identyfikator strony CMS w Magento?
  2. Różnica między sprzedażą wyższą, sprzedażą krzyżową i produktami pokrewnymi?
  3. Czy moduł niestandardowy może mieć więcej niż jedną przestrzeń nazw?
  4. Różnica między kontrolerem a modułem kontrolerów?
  5. Przepływ żądania
  6. Magento: Należy ustawić uprawnienia do plików
  7. Gdzie jest relacja między konfigurowalnym produktem a prostym produktem przechowywanym w bazie danych?
  8. Jakie są najczęściej używane typy bloków? Co jest specjalnego w typie bloku core / text_list.
  9. Wyjaśnij różne rodzaje sesji w Magento (np. Klient / sesja, kasa / sesja, rdzeń / sesja) i powód, dla którego przechowujesz dane w różnych typach sesji?
  10. Czy podanie przestrzeni nazw podczas tworzenia niestandardowego modułu w Magento jest obowiązkowe?
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.