Questions à attendre dans une interview pour un poste de développeur Junior Magento


33

Premièrement, je voudrais dire que j'espère ne pas poster au mauvais endroit avec cette question et si je le suis, s'il vous plaît, avisez-moi de l'endroit où (si n'importe où dans le monde de stackexchange est approprié) je devrais la poster.

J'ai quelques entretiens à venir pour les postes de développeur junior de Magento. J'ai quelques expériences en développement Magento mais je n'ai jamais fait d'interview pour ces postes donc je ne sais pas trop à quoi m'attendre.

J'apprécierais tous les commentaires et les réponses et je pense que ce post pourrait potentiellement être très utile pour les autres développeurs juniors qui tentent de percer dans magento


7
Je pense que c'est complètement hors sujet, mais je ne peux pas m'empêcher de commenter. Attendez-vous à ceci: inchoo.net/wp-content/uploads/2010/01/inchooers1.jpg
Marius

Désolé si c'est hors sujet !! En réponse à votre lien, j'en sais assez sur magento pour comprendre la blague, mais j'aurais probablement la même expression que ce gars-là après 3 heures aussi :)
develophper

Désolé si cela mène tout le monde hors sujet! Je voudrais aussi commencer par m'attendre à ce que le développeur connaisse au moins les éléments du test FED. Je voudrais également leur donner une ligne morte pour réussir leurs tests
Brentwpeters le

1
La réponse "correcte" dépend vraiment des attentes listées pour le travail; Je n'ai aucune intention d'embaucher un développeur Magento, car les développeurs "disponibles" de Magento sont aussi rares que le wapiti. Commencez par embaucher un bon développeur et payez-le pour l'expérience Magento dont il témoigne dans l'entretien. Il y a d'excellentes réponses ici qui couvrent toutes les bases, donc je n'ai pas besoin d'ajouter.
Benmarks

Réponses:


35

Lorsque j'interviewe des candidats, et en particulier des candidats juniors , je commence par déterminer s'ils seront de bons développeurs . Nevermind Magento .

Donc, vous entendriez beaucoup de questions génériques, non-Magento, dès le départ. En voici quelques unes:

  • Expliquez la différence entre une carte, un hachage, un tableau, une collection et une liste.
  • Expliquez ce que vous pensez de "héritage", et donnez-moi un exemple qui ne concerne ni les voitures ni les membres de la famille.
  • Nommez 3 types de vulnérabilités de sécurité couramment introduites par une entrée utilisateur non filtrée.
  • Expliquez ce qu'est une déclaration préparée et ce qu'elle fait.
  • Quelle est votre nouvelle fonctionnalité préférée dans PHP 5.5?
  • Nommez au moins 3 principaux frameworks PHP.
  • Quelle est la différence entre une déclaration de fonction et une expression de fonction?

Quelques questions non techniques:

  • Dites-moi la dernière fois que vous avez commis une erreur coûtant de l'argent à une entreprise ou à un client et:
  • Qu'avez-vous appris de votre erreur?
  • Que faites-vous pour rester au fait des technologies?
  • Qu'apprenez-vous pendant votre temps libre?

Ensuite, je pourrais leur demander de réviser le code avec certains de leurs travaux sur Github ou quelque chose qu'ils ont soumis; nous pourrions faire des exercices sur tableau blanc comme Fizzbuzz, peut-être une sélection de Project Euler ... quelque chose à cet effet. J'essaie simplement de mélanger les choses ici et de voir comment ils gèrent des problèmes qu'ils n'ont peut-être pas rencontrés.

Si je suis satisfait et que je sais que le candidat possède une expérience Magento, je pourrais poser des questions plus spécifiques sur Magento :

  • Comment Magento MVC diffère-t-il du MVC classique (ou du Zend Framework MVC)?
  • Nommez 3 types de modèles Magento
  • Décrivez ou donnez-moi un exemple de groupes de code Magento et / ou de solutions de secours de thème
  • Quand est-il possible de faire une modification de base? (réponse: JAMAIS.)
  • Énumérez au moins trois techniques pour remplacer les fonctionnalités par défaut / principales.

À ce stade, je peux poser des questions très difficiles ou leur demander de dessiner quelque chose pour moi - peut-être le flux de paiement de Magento. Je peux leur demander de décrire tous les sous-dossiers d’une extension Magento. Je pourrais leur demander quels modèles abstraits étendre pour la fonctionnalité désirée.

J'espère que cela aide - le processus de location est difficile pour les deux parties à la table . Lors de ma première session d'embauche, j'ai examiné par téléphone plus de 75 candidats, examiné plus de 500 soumissions de CV et réduit le nombre d'entretiens en personne à deux ou trois. Aucun d'entre eux n'a fonctionné - alors, dans mon cas, quand vous êtes assis en face de moi, je suis impatient de vous! Je veux que tu le fasses! Je veux que le processus tortueux de la phase d'embauche se termine afin que nous puissions faire ce que nous faisons le mieux: construire des produits impressionnants.

L'astuce consiste à garder la lumière et à en faire une expérience utile et au moins éducative pour le candidat.


9
"Quand est-il possible de faire une modification de base?" - quand vous êtes développeur core de magento? :)
Dmytro Zavalkin

1
Même alors ... peut-être pas :)
philwinkle

3
phil, pour moi ça va, quand ça corrige une erreur de la même manière, la prochaine version le fait, c'est-à-dire le portage rétroactif du correctif.
Fabian Blechschmidt

@FabianBlechschmidt allait dire la même chose. Je me souviens d'un correctif qui a été ajouté à une nouvelle version de EE. Le client avait besoin de ce correctif simple mais n'était pas prêt à mettre à jour tout son magasin. Même dans ce cas, je laisserai toujours un court fichier texte expliquant le changement avec lequel le fichier est modifié, numéro de ligne, etc.
pspahn

Pourquoi un développeur Magento doit-il être capable de résoudre des énigmes mathématiques complexes?
Guerrilla

11

D'après la discussion que j'ai eue avec les partenaires de Magento (note: je n'ai pas interviewé les développeurs), voici quelques conseils:

1) Ne cherchez pas de développeurs Magento. Trouvez de bons PHP (ou Java, j'ai entendu parler d'histoires à succès de développeurs Java pour Magento) et formez-les. Nous avons également des personnes qui ont quitté Java pour Magento et qui n’ont pas les mauvaises habitudes des développeurs PHP typiques.

2) N'utilisez jamais une société de recrutement externe - ils ne trouveront personne et ne sauront pas ce qu'ils font (ils me poursuivent parce que je travaille pour Magento et que j'étais développeur il y a longtemps - mais je ne suis pas un Magento développeur)

3) Vous ne savez pas quel est votre rôle / votre entreprise. Si vous voulez faire du développement, ouais, cherchez des personnes. Toutefois, si vous êtes un commerçant ou avez besoin de ne faire qu'un seul projet, envisagez plutôt de faire appel à un partenaire expérimenté.

4) Demandez à @benmarks de répondre - il organise une formation interne pour les nouveaux employés chez BlueAcorn et peut espérer partager de bonnes idées.


1
Un bon point sur les développeurs Java. Je pense que beaucoup d’entre eux ont travaillé avec des logiciels comme XSLT, ce qui devrait les aider à comprendre le système de présentation de Magento.
pspahn

9

La première question à laquelle vous vous attendriez probablement concerne quelque chose comme:

Voici une installation par défaut. Supprimez maintenant le bloc "Back to School" de la page d'accueil à l'aide de local.xml.

Vous pouvez également trouver quelque chose comme:

Découvrez pourquoi le processus de paiement par défaut ne fonctionne pas comme il se doit. (indice, recherchez les erreurs javascript dans la console).

Après avoir installé un module tiers modifiant la façon dont les images du produit sont affichées, il manque une autre fonctionnalité générée par un module tiers distinct à la page de vue du produit. Quelle est la première étape pour déboguer ceci? (indice: 'dépend').

Le client souhaite un espace sur la page d'accueil où il peut facilement modifier le contenu sans avoir à traiter beaucoup de "code". Comment mettriez-vous cela en œuvre?

J'ai personnellement vu toutes ces questions lors d'une interview.

Et puis, bien sûr, attendez-vous à des questions concernant les erreurs courantes de Magento au cours du développement (cache vide, erreurs de réindexation, erreurs base_url, etc.). Si vous avez tout compris, attendez-vous à des sujets plus difficiles (EAV, réécriture de classe, mise à jour d'un bloc via AJAX).

Selon les personnes que vous interviewez, il peut être suffisant de bien comprendre quelques domaines de base de Magento (présentation XML, utilisation de modèles), car les premiers mois de votre emploi peuvent impliquer la résolution aléatoire de problèmes frontaux sur des sites aléatoires. . Si vous êtes relativement nouveau dans Magento et que vous vous trouvez embauché en tant que développeur junior, attendez-vous à faire beaucoup d'apprentissage sur le tas.



6



0

Vous trouverez ci-dessous la collection de questions d’interview magento:

  1. Comment obtenir un identifiant de page CMS dans Magento?
  2. Différence entre la vente incitative, la vente croisée et les produits connexes?
  3. Un module personnalisé peut-il avoir plusieurs espaces de noms?
  4. Différence entre contrôleur et module de contrôleurs?
  5. Flux de demande
  6. Magento: les autorisations de fichiers doivent être définies
  7. Où est la relation entre le produit configurable et son produit simple stocké dans une base de données?
  8. Quels sont les types de blocs couramment utilisés? Quelle est la particularité du type de bloc core / text_list?
  9. Expliquez différents types de sessions dans Magento (par exemple, client / session, achat / session, cœur / session) et la raison pour laquelle vous stockez des données dans différents types de session?
  10. Est-il obligatoire de donner un espace de noms lors de la création d'un module personnalisé dans Magento?
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.