Da meiner Meinung nach nicht nur Magento-/Zend-/PHP-Wissen für einen guten Magento-Programmierer notwendig ist, sondern auch allgemeines Wissen zu Programmiermethoden und zum System (OS, Apache usw.), enthält die Liste auch Fragen zu allgemeineren Themen, die eng mit dem Betrieb einer (Magento- oder anderen) Website zu tun haben.
Wenn Sie diese Fragen verwenden, machen Sie dem Kandidaten bitte klar, dass Sie mehr als nur ein einfaches Ja oder Nein hören möchten. Je mehr Details, desto besser (ich habe z. B. auf die Bitte um eine Beschreibung Antworten erhalten, die nur aus einigen wenigen Wörtern bestanden — das ist natürlich keine Beschreibung).
Wenn Sie Ergänzungen, Verbesserungen oder andere Kommentare haben, lassen Sie es mich bitte wissen, damit ich diese Liste verbessern kann — vielen Dank im Voraus!
Los geht's:
Magento
Wie viele Jahre Erfahrung haben Sie mit Magento?Können Sie etwas zu den technischen Herausforderungen sagen, die Sie in Magento gemeistert haben?
Welche Probleme sind Ihnen begegnet und wie haben Sie eine Antwort gefunden und sie gelöst?
Welche Art von Magento-Projekten haben Sie umgesetzt? (möglichst für ein paar Projekte je mindestens eine Zeile mit den von Ihnen implementierten Funktionalitäten)
Haben Sie eine Magento-Zertifizierung?
Wie würden Sie die Erstellung einer neuen Erweiterung beginnen?
Kennen Sie moduleCreator? Haben Sie ihn benutzt? Was halten Sie davon?
Wann würden Sie Core-Dateien verändern?
Sind Sie mit der Rewrite-Funktionalität in der config.xml vertraut? Wie haben Sie sie verwendet?
Haben Sie eine Lösung für das Rewrite-Konflikt-Problem in Magento? Welche unterschiedlichen Lösungen haben Sie eingesetzt?
Sind Sie mit modman vertraut? Haben Sie ihn benutzt? Was halten Sie davon?
Können Sie Ihre Programmiererfahrung zu folgenden Themen in Magento beschreiben:
- Steuern
- Quotes
- Bestellungen
- Rechnungen/Gutschriften
- EAV (Kunde, Katalog, Produkt usw.)
- Mehrsprachige Website
- Versand
- Zahlung
- Modelle/Blöcke überschreiben
- Controller überschreiben
- Config XML
- Debugging
- Performance
Debugging
Sind Sie mit xdebug vertraut? Welche Features von xdebug nutzen Sie, wie und warum?Tracen Sie manchmal Code, indem Sie Schritt für Schritt durchgehen? Wie?
Haben Sie schon einmal die Trace-Log-Funktionalität von xdebug verwendet? Warum? Wie?
Haben Sie schon einmal die Profiling-Funktionalität von xdebug verwendet? Sind Sie mit cachegrind vertraut?
Logging
Wissen Sie, wie man (Fehler-)Logging in PHP konfiguriert? Wie?Wohin werden die Fehler geloggt?
Wissen Sie, wie man Log-Nachrichten in Magento erstellt? Welche Stufe haben Sie verwendet? Wie?
In welchen Situationen im Code würden Sie Log-Nachrichten in Magento verwenden?
Loggen Sie lieber so wenig wie möglich oder so viel wie möglich? Bitte erläutern Sie das.
IDE / Editor
Welche Editoren verwenden Sie? Auf welcher Plattform?Beschreiben Sie bitte Ihre Erfahrung mit Linux/Unix.
Verwenden Sie Apache in Ihrer Entwicklungsumgebung? Warum / warum nicht?
Welchen Editor bevorzugen Sie und warum?
Welchen Editor verwenden Sie zum tatsächlichen Programmieren in Magento?
Versionsverwaltung
Sind Sie mit Versionsverwaltungssystemen wie git, svn, mercurial usw. vertraut?Wie arbeiten Sie am liebsten mit vielen Entwicklern am gleichen Projekt in Bezug auf Versionsverwaltung?
Wissen Sie, wie man Branches erstellt und Merges durchführt? Können Sie beschreiben, wie Sie Konflikte auflösen?
Können Sie den Prozess beschreiben, den Sie zum Commit von Code verwenden? (z. B. Diff vor dem Commit usw.)
Qualitätssicherung (QA)
Sind Sie mit Unit-Testing vertraut: PHPUnit, Mage_Test, Ecomdev_PHPUnit, Selenium? Wie und wann würden Sie sie einsetzen?Beschreiben Sie Ihr Wissen/Ihre Erfahrung mit Mock-Objekten
Was sind Ihre Vorstellungen zu Codequalität?
Verwenden Sie Coding Standards? Warum? Wie/welche?
Beschreiben Sie Ihr Wissen/Ihre Erfahrung mit Unit-Testing (inkl. Code-Coverage-Reports, CRAP-Score)
Beschreiben Sie Ihr Wissen/Ihre Erfahrung mit Continuous Integration (z. B. Jenkins). Was halten Sie davon?
Können Sie Ihren Prozess in Bezug auf Release-Management beschreiben? (z. B. welche Schritte unternehmen Sie, um Code von Ihrer Entwicklungsumgebung in die Produktion zu bringen)
Bitte fügen Sie die Tools an, die Sie dafür verwenden
Wie gehen Sie mit unterschiedlichen Konfigurationen für Magento in diesen verschiedenen Umgebungen um? (z. B. unterschiedliche URL)
Issue-Tracking / Projektmanagement
Beschreiben Sie Ihre Erfahrung mit Issue-Tracking- und/oder Projektmanagement-Systemen zur Verfolgung von Arbeit/Aufgaben/Issues. Welche haben Sie verwendet, welche haben Ihnen am besten gefallen und warum? (z. B. asana, assembly, basecamp, pivotal, redmine, git, trac, mantis, bugzilla usw.)Apache
Können Sie uns ein wenig über Ihre Apache-Expertise erzählen?Beschreiben Sie einige komplexe Rewriting-Regeln und Zugriffssteuerungs-Konfigurationen in Apache, die Sie eingesetzt haben
MySQL
Beschreiben Sie Ihre Expertise in MySQLSind Ihnen schon einmal versionsabhängige Probleme mit MySQL begegnet? Können Sie diese und die von Ihnen umgesetzte Lösung beschreiben.
Cron
Wissen Sie, wie man Cron-Jobs auf der Kommandozeile unter *nix konfiguriert?Wissen Sie, wie man Cron-Jobs in Magento konfiguriert?