2009-09-25 11 views
6

Sto intervistando i candidati degli sviluppatori senior e vorrei che pensassero attraverso un problema di progettazione come parte dell'intervista. Mi piacerebbe qualcosa che coinvolga front-end, middle e database. Dovrebbe avere qualche sfida per la modellazione dei dati e altro ancora. Cosa ne pensi?Problemi di progettazione del sistema semplici per le interviste

+1

Che tipo di problemi di progettazione stai pensando esattamente? Posso pensare a due opzioni, o "* Come progetteresti [inserire il sistema qui]? *" O "* Come supereresti [un problema sorprendentemente difficile qui]?* " – Esko

risposta

2

Fornisci una panoramica di un progetto per un'applicazione per un addetto alle vendite sulla strada in cui gli ordini verranno inseriti dagli utenti dai dispositivi mobili.

Il sistema dovrebbe avere

  1. un database supporto
  2. applicazione web
  3. ricca applicazione client con un motore di stima locale

Come vi modificare il progetto per gestire persone di essere scollegati , quindi possono ancora inserire gli ordini e riconciliarli in seguito?

La risposta potrebbe includere:

  1. implicazioni per il database
  2. design del client locale
  3. interazione con l'utente rilascia

Ora, chiedere dove questo sistema ha vulnerabilità di sicurezza e come il il requisito offline influisce su tali vulnerabilità.

Questo dovrebbe essere sufficiente per far sudare chiunque o il lancio creativo in una buona sessione di progettazione.

Se davvero si vuole sottolineare loro, tenere interrompendo con OK, ottengo che, si prega di passare al prossimo punto

+0

sto pensando se qualcuno mi chiedesse" Ora chiedi dove questo sistema ha vulnerabilità di sicurezza e in che modo i requisiti offline influiscono su quelle vulnerabilità "farò davvero sudare ... – iceangel89

+1

" Ho capito, per favore vai al prossimo punto "è davvero CATTIVO ... bw a dire alcune delle vulnerabilità della sicurezza e di come i requisiti offline li riguardano? – iceangel89

0

Prima di tutto, chiediti se il lavoro richiede questa competenza - i programmatori saranno effettivamente responsabili della modellazione dei dati. Mi sono seduto in così tante interviste come intervistatore e intervistato in cui sono state impostate le attività di risoluzione dei problemi e di programmazione della carta più inutili. Il modo migliore per intervistare un programmatore è sedersi e fare qualche programmazione con loro.

0

Quello che mi è stato chiesto è stato: "Come si costruirà un'app Web in stile Netflix, dall'inizio alla fine? Supponiamo che dovrà supportare la stessa scala che attualmente supporta Netflix."

-1

penso che Andy ha la struttura di base, notare che ha già qualche gemito di andare il suo modo (che sono d'accordo con btw) considerarlo un "lancio creativo in una buona sessione di progettazione". e non stressarli usando: Io sto bene, tu sei OK ma il tuo design non è OK a meno che tu non sappia davvero come funziona il progetto e come programmare e avere una buona prova a prova di proiettile del perché il design è difettoso. E un altro livello da considerare è non gettare il dottorato. Tesi di dottorato "Qualsiasi domanda" a meno che tu non abbia un dottorato effettivo. di fronte a te nella sedia per il colloquio. Il livello del Maestro e inferiore non gestiscono lo stress, o correttamente e il vero dottorato. ti inchioderemo sul pavimento se proverai a infiltrarti nell'intervista con una forma scadente di quella .... grande ora.

È il chiedere dove questo sistema presenta vulnerabilità di sicurezza e in che modo i requisiti offline influiscono su tali vulnerabilità. dove Andy mostra il valore dell'esperienza sul campo, hai l'intero potatoe proprio lì e ti dà la configurazione del tappeto peluche per mancarti che ti stuzzica con come sottolineare l'intervistato - come gli intervistatori non sanno come fare quella. Come sempre, il maggior rischio viene dall'interno ~ ma nessun candidato te lo dirà.

A meno che non abbiano 50.000 ore di esperienza sul campo.

@ iceangel89: Che cosa fai se ti stai impostando per prendere la caduta di qualcun altro?

{Se sono in gioco cinquanta milioni a loro non dispiacerà darti il ​​business, e non intendo i loro affari. }

0

Non penso che sia sempre la scelta migliore per fare un caso come questo. Questo funzionerà solo per le persone anziane che devono essere utilizzate anche per gestire nuovi contatti (forse i consulenti?). Quello che stai testando non è quanto sia bravo qualcuno a progettare un sistema, ma quanto bravo qualcuno maneggia lo stress e/o può bluffare attraverso una conversazione.

Ho avuto la mia parte di interviste da entrambi i lati del tavolo e una tecnica ha attirato la mia attenzione. So che sia Avanade che Microsoft usano (o usano) questo per la gente tecnica.

Danno poi enigmi non tecnici che possono risolvere pensando logicamente. Dovresti essere consapevole che non si tratta di ottenere la risposta giusta, ma di come si arriva a una risposta che ti dice se qualcuno è bravo a risolvere i problemi. E questo è tutto ciò che riguarda la programmazione e la progettazione del software, non è vero?

I linguaggi di programmazione e le tecnologie possono essere apprese. Il talento per risolvere i problemi non può essere imparato.

0

Secondo me uno sviluppatore senior che vogliono coinvolgere nella progettazione di un'architettura a più livelli che dovete sapere su

  1. Qual è il modello di progettazione?
  2. Conosci UML? (Se programmazione orientata agli oggetti)
  3. Qual è la differenza tra analisi e progettazione?
  4. Hai mai lavorato su un'architettura software accoppiata liberamente? se sì come l'hai raggiunto?

e tanti ..

0

Facendo questo vi mostrerà se il candidato in grado di progettare un tale sistema in pochi minuti; con enfasi su "pochi minuti". Questo probabilmente non è lo scenario che dovrà affrontare quando lavorerà per te, quindi potrebbe non dirti cosa devi sapere.

Perché non lo fai viceversa? Chiedi loro di parlarti del design di un'applicazione che hanno progettato in passato.

0

Grazie a tutti. Questa è una grande discussione. Mi piace molto l'idea di proporre un semplice problema di progettazione, consentirgli di progettarlo e quindi chiedere sicurezza e scalabilità. Ho intenzione di seguire tutto questo con alcune semplici sfide di codifica. Non voglio davvero sottolineare i candidati, ma voglio anche trovare delle brave persone.

Problemi correlati