Fragen, die in einem Interview für eine Junior Magento Developer Position zu erwarten sind


33

Erstens möchte ich sagen, dass ich hoffe, dass ich mit dieser Frage nicht an der falschen Stelle poste, und wenn ich bitte darüber informiere, wo (wenn irgendwo in der Stack-Exchange-Welt angebracht ist) ich es posten sollte.

Ich habe ein paar Interviews für junge Magento-Entwickler. Ich habe einige Erfahrungen in der Magento-Entwicklung, habe jedoch nie ein Interview für diese Jobs geführt, sodass ich nicht sicher bin, was mich erwartet.

Ich würde mich über alle Kommentare und Antworten freuen und ich denke, dass dieser Beitrag möglicherweise sehr hilfreich für andere Junior-Entwickler sein könnte, die versuchen, in Magento einzudringen


7
Ich denke, das ist völlig unangebracht, aber ich kann es nicht unterlassen, etwas zu kommentieren. Erwarten Sie dies: inchoo.net/wp-content/uploads/2010/01/inchooers1.jpg
Marius

Entschuldigung, wenn es nicht zum Thema gehört !! Als Antwort auf Ihren Link weiß ich genug über Magento, um den Witz zu verstehen, aber ich hätte wahrscheinlich nach 3 Stunden auch den gleichen Ausdruck wie dieser Typ :)
Develophper

Tut mir leid, wenn dies alle vom Thema abhält! Ich würde auch damit beginnen, dass der Entwickler zumindest die Punkte im FED-Test kennt. Ich würde ihnen auch eine
Frist setzen

1
Die "richtige" Antwort hängt wirklich von den Erwartungen ab, die an den Job gestellt werden. Ich habe nicht die Absicht, einen Magento-Entwickler einzustellen, da "verfügbare" Magento-Entwickler so selten sind wie weiße Elche. Stelle zuerst einen guten Entwickler ein und bezahle ihn für die Magento-Erfahrung, die er im Interview demonstriert. Es gibt hier einige ausgezeichnete Antworten, die alle Grundlagen abdecken, so dass ich nicht hinzufügen muss.
Benmarks

Antworten:


35

Wenn ich Kandidaten und insbesondere Nachwuchskandidaten interviewe, prüfe ich zunächst, ob sie gute Entwickler sein werden . Nevermind Magento .

Sie würden also eine Menge allgemeiner Fragen von mir hören, die nicht von Magento stammen. Hier sind nur einige:

  • Erläutern Sie den Unterschied zwischen einer Karte, einem Hash, einem Array, einer Sammlung und einer Liste.
  • Erläutern Sie, was Sie unter "Vererbung" verstehen, und nennen Sie mir ein Beispiel, an dem weder Autos noch Familienmitglieder beteiligt sind.
  • Nennen Sie drei Arten von Sicherheitslücken, die normalerweise durch ungefilterte Benutzereingaben verursacht werden.
  • Erklären Sie, was eine vorbereitete Aussage ist und was sie bewirkt.
  • Was ist Ihr neues Lieblingsfeature in PHP 5.5?
  • Nennen Sie mindestens 3 wichtige PHP-Frameworks.
  • Was ist der Unterschied zwischen einer Funktionsdeklaration und einem Funktionsausdruck?

Einige nichttechnische Fragen:

  • Sagen Sie mir, wann Sie das letzte Mal einen Fehler gemacht haben, der ein Unternehmen oder einen Kunden Geld gekostet hat, und:
  • Was haben Sie aus Ihrem Fehler gelernt?
  • Was tun Sie, um sich über Technologien auf dem Laufenden zu halten?
  • Was lernst du in deiner Freizeit?

Dann könnte ich sie bitten, einen Code-Review mit einigen ihrer Arbeiten an Github oder etwas, das sie eingereicht haben, durchzuführen. Vielleicht machen wir ein paar Whiteboard-Übungen wie Fizzbuzz, vielleicht eine Auswahl aus Project Euler ... etwas in dieser Richtung. Ich versuche nur, es hier zu verwechseln und zu sehen, wie sie mit Problemen umgehen, auf die sie möglicherweise nicht gestoßen sind.

Wenn ich zufrieden bin und weiß, dass der Kandidat über Magento-Erfahrung verfügt, stelle ich möglicherweise genauere Fragen zu Magento :

  • Wie unterscheidet sich Magento MVC von klassischem MVC (oder Zend Framework MVC)?
  • Nennen Sie 3 Arten von Magento- Modellen
  • Beschreiben oder geben Sie mir ein Beispiel für Magento-Code-Pools und / oder Theme-Fallback
  • Wann ist es in Ordnung, eine Kernänderung vorzunehmen? (Antwort: NIE.)
  • Listen Sie mindestens 3 Techniken auf, um die Standard- / Kernfunktionalität zu überschreiben.

An dieser Stelle stelle ich möglicherweise einige wirklich schwierige Fragen oder lasse sie etwas für mich skizzieren - vielleicht den Checkout-Ablauf von Magento. Ich kann sie alle Unterordner in einer Magento-Erweiterung beschreiben lassen. Ich könnte sie fragen, welche abstrakten Modelle für die gewünschte Funktionalität zu erweitern sind.

Ich hoffe, das hilft - der Einstellungsprozess ist für beide Parteien am Tisch schwierig . In meiner ersten Einstellungsrunde habe ich über 75 Bewerber telefonisch überprüft, mehr als 500 Bewerbungsunterlagen durchgesehen und zwei oder drei persönliche Interviews durchgeführt. Keiner von ihnen hat geklappt - also, in meinem Fall, wenn Sie mir gegenüber sitzen, bin ich auf der Suche nach Ihnen! Ich möchte, dass du es schaffst! Ich möchte, dass der mühsame Prozess der Einstellungsphase endet, damit wir das tun können, was wir am besten können - um großartige Produkte zu bauen.

Der Trick besteht darin, es leicht zu halten und es für den Kandidaten zu einer nützlichen und zumindest lehrreichen Erfahrung zu machen.


9
"Wann ist es in Ordnung, eine Kernänderung vorzunehmen?" - Wenn Sie Magento Core-Entwickler sind? :)
Dmytro Zavalkin

1
Selbst dann ... vielleicht nicht :)
Philwinkle

3
phil, für mich ist es in ordnung, wenn es einen fehler auf die gleiche weise behebt wie die nächste version, auch bekannt als backporting.
Fabian Blechschmidt

@FabianBlechschmidt wollte dasselbe sagen. Ich erinnere mich an ein Update, das zu einer neuen Version von EE hinzugefügt wurde. Der Client benötigte diese einfache Korrektur, war jedoch nicht bereit, sein gesamtes Geschäft zu aktualisieren. Selbst dann hinterlasse ich noch eine kurze Textdatei, in der die Änderung erläutert wird, mit der die Datei geändert wird, Zeilennummer usw.
pspahn

Warum muss ein Magento-Entwickler in der Lage sein, komplizierte mathematische Rätsel zu lösen?
Guerilla

11

Basierend auf der Diskussion, die ich mit Magento-Partnern geführt habe (Hinweis: Ich habe selbst keine Entwickler interviewt), sind hier einige Tipps:

1) Suchen Sie nicht nach Magento-Entwicklern. Finden Sie gute OO PHP (oder Java, ich habe Erfolgsgeschichten von Java-Entwicklern für Magento gehört) und schulen Sie sie. Wir haben auch einige Leute im Haus, die von Java zu Magento gewechselt sind und nicht die schlechten Gewohnheiten typischer PHP-Entwickler haben.

2) Niemals ein externes Personalunternehmen beauftragen - sie werden niemanden finden und wissen nicht, was sie tun (dh sie jagen mich, weil ich für Magento arbeite und vor langer Zeit Entwickler war -, aber ich bin kein Magento Entwickler)

3) Sie sind sich nicht sicher, welche Rolle / Firma Sie spielen. Wenn Sie sich weiterentwickeln möchten, suchen Sie nach Menschen. Wenn Sie jedoch ein Händler sind oder nur ein Projekt durchführen müssen, sollten Sie sich stattdessen an einen erfahrenen Partner wenden.

4) Lassen Sie @benmarks antworten - er führt interne Schulungen für neue Mitarbeiter bei BlueAcorn durch und kann hoffentlich einige gute Einblicke geben


1
Ein guter Punkt zu Java-Entwicklern. Ich denke, viele von ihnen haben mit Sachen wie XSLT gearbeitet, die ihnen helfen sollten, Magentos Layoutsystem zu verstehen.
Pspahn

9

Die erste Frage, die Sie wahrscheinlich erwarten würden, lautet:

Hier ist eine Standardinstallation. Entfernen Sie jetzt den Block "Back to School" mithilfe von local.xml von der Startseite.

Möglicherweise finden Sie auch Folgendes:

Finden Sie heraus, warum der Standard-Checkout-Vorgang nicht ordnungsgemäß ausgeführt wird. (Hinweis, überprüfen Sie auf Javascript-Fehler in der Konsole).

Nach der Installation eines Drittanbieter-Moduls, mit dem die Anzeige von Produktbildern geändert wird, fehlt auf der Produktansichtsseite eine weitere Funktion, die von einem separaten Drittanbieter-Modul generiert wurde. Was ist der erste Schritt, um dies zu debuggen? (Hinweis: 'hängt ab').

Der Kunde wünscht sich einen Bereich auf der Homepage, in dem er problemlos Inhalte ändern kann, ohne sich mit viel „Code“ befassen zu müssen. Wie würden Sie das umsetzen?

Ich persönlich habe all diese Fragen während eines Interviews gesehen.

Und dann erwarten Sie natürlich einige Fragen zu häufig auftretenden Magento-Fehlern während der Entwicklung (Cache leeren, Neuindexieren, base_url-Fehler usw.). Wenn Sie alles schaffen, erwarten Sie einige schwierigere Themen (EAV, Klassenumschreibungen, Aktualisierung eines Blocks über AJAX).

Je nachdem, wen Sie interviewen, ist es möglicherweise ausreichend, nur ein paar grundlegende Bereiche von Magento zu verstehen (Layout-XML, Arbeiten mit Vorlagen), da in den ersten Monaten Ihrer Beschäftigung möglicherweise zufällige Frontend-Probleme auf zufälligen Websites behoben werden müssen . Wenn Sie Magento noch nicht so gut kennen und als Junior-Entwickler angestellt sind, sollten Sie mit viel Lernen am Arbeitsplatz rechnen.



6



0

Im Folgenden finden Sie die Sammlung von Magento Interview Frage:

  1. Wie erhalte ich die CMS-Seiten-ID in Magento?
  2. Unterschied zwischen Up-Selling, Cross-Selling und verwandten Produkten?
  3. Kann ein benutzerdefiniertes Modul mehr als einen Namespace haben?
  4. Unterschied zwischen Controller und Controllermodul?
  5. Anforderungsablauf
  6. Magento: Dateiberechtigungen müssen gesetzt sein
  7. Wo ist die Beziehung zwischen konfigurierbarem Produkt und einfachem Produkt in der Datenbank gespeichert?
  8. Was sind die am häufigsten verwendeten Blocktypen? Was ist das Besondere am Blocktyp core / text_list?
  9. Erläutern Sie verschiedene Arten von Sitzungen in Magento (z. B. Kunde / Sitzung, Kasse / Sitzung, Kern / Sitzung) und den Grund, warum Sie Daten in verschiedenen Sitzungstypen speichern.
  10. Muss beim Erstellen eines benutzerdefinierten Moduls in Magento ein Namespace angegeben werden?
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.