Perguntas a serem esperadas em uma entrevista para uma posição de desenvolvedor Junior Magento


33

Em primeiro lugar, gostaria de dizer que espero não estar postando no lugar errado com esta pergunta e, se estiver, por favor, informe-me de onde (se algum lugar no mundo da stackexchange for apropriado) devo publicá-la.

Tenho algumas entrevistas chegando para posições de desenvolvedor júnior de Magento. Tenho alguma experiência em desenvolvimento no Magento, mas nunca fiz uma entrevista para esses trabalhos, por isso não tenho certeza do que esperar.

Gostaria de receber todos os comentários e respostas e acho que este post pode ser muito útil para outros desenvolvedores juniores que tentam invadir o magento


7
Eu acho que isso é completamente fora de tópico, mas não posso deixar de comentar. Espere isso: inchoo.net/wp-content/uploads/2010/01/inchooers1.jpg
Marius

Desculpe se está fora do tópico !! Em resposta ao seu link, eu sei o suficiente sobre magento para obter a piada, mas eu provavelmente teria a mesma expressão como aquele cara depois de 3 horas também :)
develophper

Desculpe se isso está levando todo mundo para fora do tópico! Eu também começaria esperando que o desenvolvedor conhecesse pelo menos os itens no teste FED. Também gostaria de dar-lhes uma linha de mortos para passar seus testes
brentwpeterson

1
A resposta "correta" realmente depende das expectativas listadas para o trabalho; Não tenho intenção de contratar um desenvolvedor Magento, já que os desenvolvedores Magento "disponíveis" são tão raros quanto os alces brancos. Contrate um bom desenvolvedor primeiro e pague-o pela experiência em Magento que eles demonstram na entrevista. Existem algumas respostas excelentes aqui que cobrem todas as bases, então não preciso adicionar.
benmarks

Respostas:


35

Quando entrevisto candidatos e, em particular , candidatos juniores , primeiro avalio se eles serão bons desenvolvedores . Deixa pra lá Magento .

Então você ouviria muitas perguntas genéricas, não Magento, na minha frente. Aqui estão apenas alguns:

  • Explique a diferença entre um mapa, um hash, uma matriz, uma coleção e uma lista.
  • Explique o que você acha que "herança" significa e dê-me um exemplo que não envolva carros ou familiares.
  • Nomeie três tipos de vulnerabilidades de segurança que são geralmente introduzidas por entradas não filtradas do usuário.
  • Explique o que é uma declaração preparada e o que ela faz.
  • Qual é o seu novo recurso favorito no PHP 5.5?
  • Nomeie pelo menos três principais estruturas PHP.
  • Qual é a diferença entre uma declaração de função e uma expressão de função?

Algumas perguntas não técnicas:

  • Diga-me a última vez que cometeu um erro que custa dinheiro a uma empresa ou cliente e:
  • O que você aprendeu com seu erro?
  • O que você faz para manter-se atualizado sobre as tecnologias?
  • O que você está aprendendo no seu tempo livre?

Então eu poderia pedir para eles fazerem uma revisão de código com alguns de seus trabalhos no Github ou algo que eles enviaram; podemos fazer alguns exercícios no quadro branco como o Fizzbuzz, talvez uma seleção do Project Euler ... algo nesse sentido. Só estou tentando misturar aqui e ver como eles lidam com problemas que podem não ter encontrado.

Se estou satisfeito e sei que o candidato tem experiência com Magento, posso fazer perguntas mais específicas sobre Magento :

  • Como o Magento MVC difere do clássico MVC (ou Zend Framework MVC)?
  • Nomeie 3 tipos de modelos Magento
  • Descreva ou me dê um exemplo de pools de código Magento e / ou fallback de tema
  • Quando é bom fazer uma modificação básica? (resposta: NUNCA.)
  • Liste pelo menos três técnicas para substituir a funcionalidade padrão / principal.

Neste ponto, posso fazer algumas perguntas realmente difíceis ou tê-las esboçando algo para mim - talvez o fluxo de caixa do Magento. Posso tê-los a descrever todas as subpastas em uma extensão Magento. Eu poderia perguntar a eles quais modelos abstratos estender para a funcionalidade desejada.

Espero que isso ajude - o processo de contratação é difícil para ambas as partes na mesa . Na minha primeira rodada de contratação, pela primeira vez, telefonei para mais de 75 candidatos, vasculhei mais de 500 apresentações de currículo e reduzi-o para 2 ou 3 entrevistas pessoais. Nenhum deles deu certo - então, no meu caso, quando você está sentado do outro lado da mesa, estou torcendo por você! Eu quero que você faça isso! Quero que o processo torturante da fase de contratação termine para que possamos fazer o que fazemos de melhor - criar produtos incríveis.

O truque é mantê-lo leve e torná-lo útil e, pelo menos, uma experiência educacional para o candidato.


9
"Quando é bom fazer uma modificação básica?" - quando você é desenvolvedor de magento? :)
Dmytro Zavalkin

1
Mesmo assim ... talvez não :)
philwinkle

3
phil, para mim tudo bem, quando ele corrige um erro da mesma maneira, a próxima versão, também conhecida como backporting a correção.
Fabian Blechschmidt 22/09

@FabianBlechschmidt ia dizer a mesma coisa. Lembro-me de uma correção que foi adicionada a uma nova versão do EE. O cliente precisava dessa correção simples, mas não estava preparado para atualizar toda a loja. Mesmo assim, eu ainda vai deixar um pequeno ficheiro de texto explicando a mudança com a qual arquivo é alterado, linha #, etc.
pspahn

Por que um desenvolvedor Magento precisa ser capaz de resolver quebra-cabeças matemáticos complicados?
Guerrilha

11

Com base na discussão que tive com os parceiros do Magento (nota: eu mesmo não entrevistei os desenvolvedores), abaixo estão algumas dicas:

1) Não procure desenvolvedores Magento. Encontre bons OO PHP (ou Java, ouvi histórias de sucesso de obter desenvolvedores de Java do Magento) e os treine. Também temos algumas pessoas em casa que se mudaram do Java para o Magento e elas não têm os maus hábitos dos desenvolvedores típicos de PHP.

2) Nunca use uma empresa de contratação externa - eles não encontrarão ninguém e não sabem o que estão fazendo (ou seja, me perseguem porque trabalho na Magento e fui desenvolvedor há muito tempo - mas não sou um Magento desenvolvedor)

3) Não tenho certeza qual é o seu papel / empresa. Se você quer desenvolver, sim, procure pessoas. No entanto, se você é um comerciante ou precisa fazer apenas um projeto, considere ir com um parceiro experiente.

4) Faça o @benmarks responder - ele está executando um treinamento interno para novas contratações na BlueAcorn e, com sorte, pode compartilhar algumas boas idéias


1
Um bom ponto sobre os desenvolvedores Java. Eu acho que muitos deles trabalharam com coisas como XSLT, que devem ajudá-los a entender o sistema de layout do Magento.
Pspahn 22/09

9

A primeira pergunta que você provavelmente esperaria é algo parecido com:

Aqui está uma instalação padrão, agora remova o bloco "Voltar para a escola" da página inicial usando local.xml.

Você também pode encontrar algo como:

Descubra por que o processo de pagamento padrão não está funcionando da maneira que deveria. (dica, verifique se há erros de javascript no console).

Depois de instalar um módulo de terceiros que modifica como as imagens do produto são exibidas, a página de visualização do produto não possui outro recurso gerado por um módulo de terceiros separado. Qual é o primeiro passo para depurar isso? (dica: 'depende').

O cliente deseja um espaço na página inicial onde possa modificar facilmente o conteúdo sem precisar lidar com muito 'código'. Como você implementaria isso?

Eu pessoalmente vi todas essas perguntas durante uma entrevista.

E então, é claro, espere algumas perguntas sobre erros comuns do Magento durante o desenvolvimento (limpar cache, reindexar, erros base_url, etc). Se você acertar tudo, espere alguns assuntos mais difíceis (EAV, classe reescreve, atualizando um bloco via AJAX).

Dependendo de quem você está entrevistando, pode ser suficiente entender apenas algumas áreas básicas do Magento (XML de layout, trabalhando com modelos), já que os primeiros meses de seu emprego podem envolver a correção de problemas de interface aleatórios em sites aleatórios . Se você é relativamente novo no Magento e se encontra contratado como desenvolvedor jr, espere fazer muito aprendizado no trabalho.



6



0

Abaixo está a coleção de perguntas da entrevista em magento:

  1. Como obter o ID da página CMS no Magento?
  2. Diferença entre Up-sell, cross sell e produtos relacionados?
  3. Um módulo personalizado pode ter mais de um espaço para nome?
  4. Diferença entre o controlador e o módulo de controladores?
  5. Solicitar fluxo
  6. Magento: É necessário definir permissões de arquivo
  7. Onde está a relação entre produto configurável e seu produto simples armazenado no banco de dados?
  8. Quais são os tipos de bloco mais usados? Qual é o especial no tipo de bloco core / text_list.
  9. Explique diferentes tipos de sessões no Magento (por exemplo, cliente / sessão, checkout / sessão, núcleo / sessão) e o motivo pelo qual você armazena dados em diferentes tipos de sessão?
  10. É obrigatório fornecer Namespace ao criar um módulo personalizado no Magento?
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.