Consigli: il dilemma del primo intervistatore [duplicato]

4

Ho lavorato al mio primo lavoro per circa 2 anni, e mi è stato "chiesto" di intervistare un potenziale compagno di squadra (che potrei avere anche per il mentore) con un preavviso piuttosto breve (2 giorni da oggi ). Inizialmente, mi era stata data una briglia sciolta (o così pensavo, e quindi d'accordo), ma oggi, mi è stato detto "di non porre domande libresioni " - il che implica che posso solo chiedere la programmazione di base puzzle e cose simili alla domanda " fizbuzz ". Sono fermamente convinto che non conoscere le notazioni algoritmiche di base (le idee più sane delle complessità spazio / temporali) o la più piccola idea di espressioni regolari possa rendere il lavoro con il ragazzo molto difficile per nessuno.

So che sto chiedendo molto qui, ma secondo te, quale sarebbe un modo completo per testare i requisiti assolutamente basilari di un ragazzo CS (ha 2 anni di exp ) senza sembrare troppo pedante / libresco ecc.? Sembra che sia legittimo fare solo domande a C / semplici enigmi .... ma voglio davvero avere qualcosa di diverso da "trovare loop in liste collegate" che è diventato la dichiarazione di apertura della maggior parte delle interviste techie! ! Questa è un'intervista faccia a faccia con circa un'ora o più di tempo - ho dato un'occhiata a domande sullo schermo del telefono e mi chiedevo se esistesse una guida su" domande di intervista faccia a faccia di base "che potrei usare (o compilare qui le risposte della comunità).

EDIT: la posizione è principalmente per un lavoro di programmazione C a livello di kernel, con qualche infarinatura di C ++ richiesto per scrivere il framework di test.

    
posta TCSGrad 16.03.2011 - 07:55
fonte

4 risposte

2

Quando è in posizione C # dagli un puzzle di programmazione di stringhe da risolvere con espressioni regolari. In questo modo potresti comunque fare le tue domande.

La cosa più importante per un'intervista è verificare che le persone si inseriscano nel team (a livello professionale e anche a livello personale). Se ritieni che sia importante porre queste domande per verificare se il candidato si riempirà, ti suggerirei di discuterne con le persone che ti dicono di non fare quelle domande.

Cerca di scoprire perché non vogliono che tu faccia queste domande.

    
risposta data 16.03.2011 - 08:10
fonte
3

Non devi essere libresco, ma puoi verificare il livello di comprensione dei concetti. Ad esempio, il modo in cui il ragazzo spiega l'ereditarietà e l'astrazione stessa parla molto del ragazzo.

Non credo nell'avere puzzle pronti (che conosci la risposta) e mi aspetto che il ragazzo dall'altra parte dia risposte.

Quello che devi capire è

  1. La passione per il lavoro.
  2. Sarà adatto alla cultura della tua azienda. Essere tecnicamente bravi è solo una parte della storia. (Sono un buon programmatore, ma rimarrò deluso se non mi dai l'accesso a Internet)

  3. Cerca di analizzare ciò che vuole e ciò che vuoi e giungere a una conclusione.

Buona fortuna.

    
risposta data 16.03.2011 - 08:06
fonte
2

In tal caso suggerirei di testare come la persona risolve effettivamente il problema che si ha.

Qui abbiamo un case study da un vero scenario di live-live in cui abbiamo un file di log molto grande che contiene righe da vari punti nel programma multi-thread. Si è scoperto che un valore specifico ha causato il loop del programma finché non è stata soddisfatta una condizione esterna, quindi il thread ha interrotto la registrazione fino a quel momento. La sfida è quindi "quale valore ha dato questo comportamento" e "a che ora è stato risolto"?

Questo richiede di fare molte riflessioni, analisi e strumenti usando per sezionare il file di log, quindi ti mostrerà quanto è brava questa persona ad avvicinarsi a una nuova attività, quali strumenti userà e se c'è qualcosa tu non lo sapevo già.

Se hai tempo, dovresti consentire al programmatore di programmare un compito semplice mentre guardi.

    
risposta data 16.03.2011 - 08:38
fonte
1

La prima cosa che farei è dire al mio capo che non è stato possibile per me dare una valutazione onesta senza porre domande libresche .

Detto questo, a seconda di quale area del kernel in cui il ragazzo lavorerà, potrebbe benissimo non fare molta codifica laddove contenga un strong background in algoritmi / complessità.

Ad ogni modo, alcune domande non libresche che vorresti porre sono cose legate al bit-twiddling, differenze tra lo spazio del kernel e lo spazio utente, kmalloc / vmalloc, strutture del kernel comuni, come per eseguire il debug del kernel, ecc.

    
risposta data 16.03.2011 - 15:15
fonte

Leggi altre domande sui tag