Preguntas para esperar en una entrevista para un puesto de desarrollador junior de Magento


33

En primer lugar, me gustaría decir que espero no publicar en el lugar equivocado con esta pregunta y, si lo estoy, avíseme dónde (si es apropiado en algún lugar del mundo de stackexchange) debería publicarlo.

Tengo un par de entrevistas para los puestos de desarrollador junior de Magento. Tengo algo de experiencia en el desarrollo de Magento pero nunca hice una entrevista para estos trabajos, así que no estoy seguro de qué esperar.

Agradecería todos los comentarios y respuestas y creo que esta publicación podría ser muy útil para otros desarrolladores junior que intentan entrar en magento


77
Creo que esto está completamente fuera de tema, pero no puedo dejar de comentar. Espere esto: inchoo.net/wp-content/uploads/2010/01/inchooers1.jpg
Marius

Lo siento si está fuera de tema !! En respuesta a su enlace, sé lo suficiente sobre magento para entender el chiste, pero probablemente tendría la misma expresión que ese tipo después de 3 horas también :)
Desarrollador

Lo siento si esto está llevando a todos fuera del tema! También comenzaría esperando que el desarrollador conozca al menos los elementos de la prueba FED. También les daría una fecha
límite

1
La respuesta "correcta" realmente depende de las expectativas enumeradas para el trabajo; No tengo intención de contratar a un desarrollador de Magento, ya que los desarrolladores "disponibles" de Magento son tan raros como el alce blanco. Primero contrate a un buen desarrollador y pague por la experiencia de Magento que demuestran en la entrevista. Aquí hay algunas respuestas excelentes que cubren todas las bases, por lo que no necesito agregar.
Benmarks

Respuestas:


35

Cuando estoy entrevistando candidatos, y en particular candidatos junior , primero evalúo si serán buenos desarrolladores . No importa Magento .

Entonces escucharía muchas preguntas genéricas que no son de Magento de mi parte. Estas son solo algunas:

  • Explica la diferencia entre un mapa, un hash, una matriz, una colección y una lista.
  • Explica lo que crees que significa "herencia" y dame un ejemplo que no involucre autos o miembros de la familia.
  • Nombre 3 tipos de vulnerabilidades de seguridad que comúnmente se introducen por entrada de usuario sin filtrar.
  • Explica qué es una declaración preparada y qué hace.
  • ¿Cuál es su nueva característica favorita en PHP 5.5?
  • Nombra al menos 3 marcos PHP principales.
  • ¿Cuál es la diferencia entre una declaración de función y una expresión de función?

Algunas preguntas no técnicas:

  • Dime la última vez que cometiste un error que le costó dinero a una empresa o cliente, y
  • ¿Qué aprendiste de tu error?
  • ¿Qué haces para mantenerte actualizado sobre las tecnologías?
  • ¿Qué estás aprendiendo en tu tiempo libre?

Entonces podría pedirles que hagan una revisión del código con algunos de sus trabajos en Github o algo que hayan enviado; podríamos hacer algunos ejercicios de pizarra como Fizzbuzz, tal vez una selección del Proyecto Euler ... algo en ese sentido. Solo estoy tratando de mezclarlo aquí y ver cómo manejan los problemas que pueden no haber encontrado.

Si estoy satisfecho y sé que el candidato tiene experiencia en Magento, podría hacerle preguntas más específicas sobre Magento :

  • ¿En qué se diferencia Magento MVC del MVC clásico (o Zend Framework MVC)?
  • Nombra 3 tipos de modelos de Magento
  • Describa o déme un ejemplo de agrupaciones de códigos de Magento y / o reserva de temas
  • ¿Cuándo está bien hacer una modificación central? (respuesta: NUNCA)
  • Enumere al menos 3 técnicas para anular la funcionalidad predeterminada / principal.

En este punto, puedo hacer algunas preguntas realmente difíciles o hacer que esbocen algo para mí, tal vez el flujo de pago de Magento. Puedo hacer que describan todas las subcarpetas en una extensión de Magento. Podría preguntarles qué modelos abstractos ampliar para la funcionalidad deseada.

Espero que esto ayude: el proceso de contratación es difícil para ambas partes en la mesa . En mi primera ronda de contratación, la primera vez que salí, examiné por teléfono a más de 75 solicitantes, examiné más de 500 presentaciones de currículums y lo reduje a 2 o 3 entrevistas en persona. Ninguno de ellos funcionó, así que, en mi caso, cuando estás sentado al otro lado de la mesa, ¡te estoy apoyando! ¡Quiero que lo hagas! Quiero que finalice el tortuoso proceso de la fase de contratación para que podamos hacer lo que mejor hacemos: construir productos increíbles.

El truco es mantenerlo ligero y hacerlo una experiencia útil y, al menos, educativa para el candidato.


99
"¿Cuándo está bien hacer una modificación central?" - cuando eres desarrollador principal de magento? :)
Dmytro Zavalkin

1
Incluso entonces ... tal vez no :)
philwinkle

3
Phil, para mí está bien, cuando corrige un error de la misma manera, la siguiente versión lo hace, también conocido como backporting la solución.
Fabian Blechschmidt

@FabianBlechschmidt iba a decir lo mismo. Recuerdo una solución que se agregó a una nueva versión de EE. El cliente necesitaba esta solución simple pero no estaba preparado para actualizar toda su tienda. Incluso entonces, yo seguiría dejando un pequeño archivo de texto que explica el cambio con la que se cambia el archivo, la línea #, etc.
pspahn

¿Por qué un desarrollador de Magento necesita poder resolver complicados acertijos matemáticos?
Guerrilla

11

Según la discusión que tuve con los socios de Magento (nota: no he entrevistado a los desarrolladores yo mismo), a continuación se presentan algunos consejos:

1) No busque desarrolladores de Magento. Encuentre buenos desarrolladores OO PHP (o Java, he escuchado historias exitosas sobre cómo conseguir que los desarrolladores de Java hagan Magento) y capacítelos. También tenemos algunas personas en casa que se mudaron de Java a Magento y no tienen los malos hábitos de los desarrolladores típicos de PHP.

2) Nunca use una empresa de contratación externa: no encontrarán a nadie y no saben lo que están haciendo (es decir, me persiguen porque trabajo para Magento y fui desarrollador hace mucho tiempo, pero no soy un Magento desarrollador)

3) No estoy seguro de cuál es su rol / empresa. Si quieres hacer desarrollo, sí, busca personas. Sin embargo, si usted es un comerciante o necesita hacer un solo proyecto, considere ir con un socio experimentado.

4) Obtenga @benmarks para responder: está impartiendo capacitación interna para nuevos empleados en BlueAcorn y, con suerte, puede compartir algunas buenas ideas


1
Un buen punto sobre los desarrolladores de Java. Creo que muchos de ellos han trabajado con cosas como XSLT que deberían ayudarlos a comprender el sistema de diseño de Magento.
pspahn

9

La primera pregunta que probablemente esperaría es algo similar a:

Aquí hay una instalación predeterminada, ahora elimine el bloque "Regreso a la escuela" de la página de inicio usando local.xml.

Es posible que también encuentres algo como:

Descubra por qué el proceso de pago predeterminado no funciona como debería. (pista, verifique si hay errores de JavaScript en la consola).

Después de instalar un módulo de terceros que modifica la forma en que se muestran las imágenes del producto, a la página de vista del producto le falta otra característica generada por un módulo de terceros separado. ¿Cuál es el primer paso para depurar esto? (pista: 'depende').

El cliente desea un espacio en la página de inicio donde pueda modificar fácilmente el contenido sin tener que lidiar con mucho 'código'. ¿Cómo implementaría esto?

Yo personalmente vi todas estas preguntas durante una entrevista.

Y luego, por supuesto, espere algunas preguntas con respecto a los errores comunes de Magento durante el desarrollo (borrar caché, reindexar, errores base_url, etc.). Si lo logra todo, espere algunas materias más difíciles (EAV, reescrituras de clase, actualización de un bloque a través de AJAX).

Dependiendo de a quién esté entrevistando, podría ser suficiente tener una buena comprensión de algunas áreas básicas de Magento (diseño XML, trabajar con plantillas) ya que los primeros meses de su empleo pueden implicar la solución de problemas frontend aleatorios en sitios aleatorios . Si eres relativamente nuevo en Magento y te encuentras contratado como desarrollador jr, espera aprender mucho en el trabajo.



6



0

A continuación se muestra la colección de preguntas de la entrevista de magento:

  1. ¿Cómo obtener la identificación de la página CMS en Magento?
  2. ¿Diferencia entre Up-sell, cross sell y productos relacionados?
  3. ¿Puede un módulo personalizado tener más de un espacio de nombres?
  4. ¿Diferencia entre el controlador y el módulo de controladores?
  5. Flujo de solicitud
  6. Magento: los permisos de archivo deben establecerse
  7. ¿Dónde está la relación entre el producto configurable y su producto simple almacenado en la base de datos?
  8. ¿Cuáles son los tipos de bloque más utilizados? ¿Qué es lo especial en el tipo de bloque core / text_list?
  9. Explique los diferentes tipos de sesiones en Magento (por ejemplo, cliente / sesión, pago / sesión, núcleo / sesión) y la razón por la que almacena datos en diferentes tipos de sesión.
  10. ¿Es obligatorio dar espacio de nombres al crear un módulo personalizado en Magento?
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.