Domande da aspettarsi in un'intervista per una posizione di sviluppatore Magento Junior


33

In primo luogo, vorrei dire che spero di non pubblicare messaggi in un posto sbagliato con questa domanda e, per favore, mi informi di dove (se nel mondo di stackexchange è appropriato) dovrei pubblicarlo.

Ho un paio di interviste in arrivo per le posizioni degli sviluppatori Magento junior. Ho una certa esperienza di sviluppo di Magento ma non ho mai fatto un'intervista per questi lavori, quindi non sono sicuro di cosa aspettarmi.

Gradirei tutti i commenti e le risposte e penso che questo post potrebbe potenzialmente essere molto utile per altri sviluppatori junior che cercano di entrare in magento


7
Penso che questo sia completamente fuori tema, ma non posso trattenermi dal commentare. Aspettatevi questo: inchoo.net/wp-content/uploads/2010/01/inchooers1.jpg
Marius

Scusate se è fuori tema !! In risposta al tuo link, conosco abbastanza bene il magento per farmi una battuta ma probabilmente avrei la stessa espressione di quel ragazzo anche dopo 3 ore :)
Develophper

Scusate se questo sta portando tutti fuori tema! Vorrei anche iniziare aspettandomi che lo sviluppatore conoscesse almeno gli elementi del test FED. Darei anche loro un
limite

1
La risposta "corretta" dipende in realtà dalle aspettative elencate per il lavoro; Non ho intenzione di assumere uno sviluppatore Magento, in quanto gli sviluppatori "disponibili" di Magento sono rari quanto gli alci bianchi. Assumi prima un buon sviluppatore e pagali per l'esperienza Magento che dimostrano nell'intervista. Ci sono alcune risposte eccellenti qui che coprono tutte le basi, quindi non ho bisogno di aggiungere.
benmarks

Risposte:


35

Quando intervisto i candidati, e in particolare i candidati junior , per prima cosa valuto se saranno buoni sviluppatori . Nevermind Magento .

Quindi sentiresti molte domande generiche, non magento, da parte mia. Qui ci sono solo alcune:

  • Spiega la differenza tra una mappa, un hash, un array, una raccolta e un elenco.
  • Spiega cosa pensi che significhi "eredità" e fammi un esempio che non coinvolga automobili o familiari.
  • Nomina 3 tipi di vulnerabilità di sicurezza che sono comunemente introdotte dall'input dell'utente non filtrato.
  • Spiega cos'è un'affermazione preparata e cosa fa.
  • Qual è la tua nuova funzionalità preferita in PHP 5.5?
  • Nomina almeno 3 principali framework PHP.
  • Qual è la differenza tra una dichiarazione di funzione e un'espressione di funzione?

Alcune domande non tecniche:

  • Dimmi l'ultima volta che hai commesso un errore che è costato denaro a un'azienda o a un cliente e:
  • Cosa hai imparato dal tuo errore?
  • Cosa fai per rimanere aggiornato sulle tecnologie?
  • Cosa stai imparando nel tuo tempo libero?

Quindi potrei chiedere loro di fare una revisione del codice con alcuni dei loro lavori su Github o qualcosa che hanno inviato; potremmo fare alcuni esercizi di lavagna come Fizzbuzz, forse una selezione da Project Euler ... qualcosa in tal senso. Sto solo cercando di mescolarlo qui e vedere come gestiscono i problemi che potrebbero non aver riscontrato.

Se sono soddisfatto e so che il candidato ha esperienza Magento, potrei porre domande Magento più specifiche :

  • In che modo Magento MVC differisce dal MVC classico (o Zend Framework MVC)?
  • Nome 3 tipi di modelli Magento
  • Descrivimi o forniscimi un esempio di pool di codici Magento e / o fallback del tema
  • Quando va bene fare una modifica di base? (risposta: MAI.)
  • Elencare almeno 3 tecniche per sovrascrivere la funzionalità predefinita / core.

A questo punto potrei fare alcune domande davvero difficili o farmi delineare qualcosa per me - forse il flusso di checkout di Magento. Potrei fargli descrivere tutte le sottocartelle in un'estensione Magento. Potrei chiedere loro quali modelli astratti estendere per la funzionalità desiderata.

Spero che questo aiuti - il processo di assunzione è difficile per entrambe le parti al tavolo . Nel mio primo giro di assunzioni la prima volta che ho telefonato ho selezionato oltre 75 candidati, ho esaminato oltre 500 curriculum e ho ridotto il numero a 2 o 3 interviste di persona. Nessuno di loro ha funzionato - quindi, nel mio caso, quando mi siedi dall'altra parte del tavolo sto facendo il tifo per te! Voglio che tu ce la faccia! Voglio che il processo tortuoso della fase di assunzione si concluda in modo che possiamo fare ciò che facciamo meglio: costruire prodotti fantastici.

Il trucco è mantenerlo leggero e renderlo un'esperienza utile e almeno educativa per il candidato.


9
"Quando va bene fare una modifica di base?" - quando sei uno sviluppatore core di magento? :)
Dmytro Zavalkin,

1
Anche allora ... forse no :)
Philwinkle,

3
phil, per me va bene, quando corregge un errore allo stesso modo, la versione successiva lo fa, ovvero il backport della correzione.
Fabian Blechschmidt,

@FabianBlechschmidt stava per dire la stessa cosa. Ricordo una correzione che è stata aggiunta a una nuova versione di EE. Il client aveva bisogno di questa semplice soluzione, ma non era disposto ad aggiornare l'intero negozio. Anche allora, lascerò comunque un breve file di testo che spiega la modifica con cui viene modificato il file, la riga #, ecc.
pspahn,

Perché uno sviluppatore Magento deve essere in grado di risolvere complicati puzzle matematici?
Guerrilla

11

Sulla base della discussione che ho avuto con i partner di Magento (nota: non ho intervistato personalmente gli sviluppatori), di seguito sono riportati alcuni suggerimenti:

1) Non cercare sviluppatori Magento. Trova buoni OO PHP (o Java, ho sentito storie di successo su come ottenere sviluppatori Java che fanno Magento) e addestrarli. Abbiamo anche alcune persone che si sono trasferite da Java a Magento e non hanno le cattive abitudini dei tipici sviluppatori PHP.

2) Non usare mai una società di noleggio esterna: non troveranno nessuno e non sanno cosa stanno facendo (cioè mi inseguono perché lavoro per Magento e sono stato uno sviluppatore molto tempo fa - ma non sono un Magento sviluppatore)

3) Non sono sicuro di quale sia il tuo ruolo / azienda. Se vuoi fare sviluppo, cerca persone. Tuttavia, se sei un commerciante o hai bisogno di fare solo un progetto, considera invece di andare con un partner esperto.

4) Ottieni risposte a @benmarks: sta eseguendo un training interno per i nuovi assunti presso BlueAcorn e spero che possa condividere alcune buone intuizioni


1
Un buon punto sugli sviluppatori Java. Penso che molti di loro abbiano lavorato con cose come XSLT che dovrebbero aiutarli a comprendere il sistema di layout di Magento.
pspahn,

9

La prima domanda che probabilmente ti aspetteresti è qualcosa del tipo:

Ecco un'installazione predefinita, ora rimuovi il blocco "Ritorno a scuola" dalla home page usando local.xml.

Potresti anche trovare qualcosa come:

Scopri perché il processo di checkout predefinito non funziona come dovrebbe. (suggerimento, verifica la presenza di errori javascript nella console).

Dopo aver installato un modulo di terze parti che modifica la modalità di visualizzazione delle immagini dei prodotti, nella pagina di visualizzazione dei prodotti manca un'altra funzione generata da un modulo di terze parti separato. Qual è il primo passo per eseguire il debug di questo? (suggerimento: 'dipende').

Il cliente vorrebbe uno spazio sulla home page in cui poter facilmente modificare i contenuti senza dover gestire molto "codice". Come lo implementeresti?

Ho visto personalmente tutte queste domande durante un'intervista.

E poi, naturalmente, aspettatevi alcune domande relative agli errori comuni di Magento durante lo sviluppo (svuota cache, reindex, errori base_url, ecc.). Se inchiodi tutto, aspettati alcuni argomenti più difficili (EAV, riscritture di classe, aggiornamento di un blocco tramite AJAX).

A seconda di chi stai intervistando, potrebbe essere sufficiente avere una buona conoscenza di alcune aree di base di Magento (layout XML, lavorare con i modelli) poiché i primi mesi del tuo impiego potrebbero probabilmente comportare la risoluzione di problemi di frontend casuali su siti casuali . Se sei relativamente nuovo in Magento e ti trovi assunto come sviluppatore jr, aspettati di fare un sacco di apprendimento sul lavoro.



6



0

Di seguito sono riportate le domande per l'intervista a Magento:

  1. Come ottenere l'ID della pagina CMS in Magento?
  2. Differenza tra up-sell, cross-sell e prodotti correlati?
  3. Un modulo personalizzato può avere più di uno spazio dei nomi?
  4. Differenza tra controller e modulo controller?
  5. Flusso di richiesta
  6. Magento: è necessario impostare le autorizzazioni per i file
  7. Dov'è la relazione tra il prodotto configurabile e il suo semplice prodotto archiviato nel database?
  8. Quali sono i tipi di blocco comunemente usati? Qual è lo speciale nel tipo di blocco core / text_list.
  9. Spiegare i diversi tipi di sessioni in Magento (ad es. Cliente / sessione, checkout / sessione, core / sessione) e il motivo per cui si archiviano i dati in diversi tipi di sessione?
  10. È obbligatorio assegnare Namespace durante la creazione di un modulo personalizzato in Magento?
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.