Cosa devo aspettarmi da una valutazione tecnica per C ++? [chiuso]

10

Mi è stato chiesto di fare un test tecnico / valutazione per un lavoro come sviluppatore junior, principalmente usando C ++. Questo è il mio primo test / valutazione, ed è lungo 2 ore.

Il mio C ++ è un po 'arrugginito perché recentemente ho fatto progetti su PHP.

Questa è una società del Regno Unito, tuttavia immaginiamo che i test tecnici dei candidati saranno praticamente gli stessi ovunque.

Cosa devo aspettarmi in uno di questi test?

    
posta bearbread 02.09.2011 - 16:02
fonte

8 risposte

5

È C ++, quindi puoi aspettarti qualsiasi cosa, intendo VERAMENTE qualsiasi cosa.

Di solito ciò implica domande di trucco e qualche tipo di domande sul polimorfismo.

Ma potrebbe essere anche qualcosa di semplice.

Siate pronti a rispondere a una domanda su qualcosa del tipo "perché dovreste creare un distruttore virtuale", cosa è "volatile", "progettare una classe" per qualche problema irrealistico, "implementare una lista collegata", "invertire una stringa", ecc.

    
risposta data 02.09.2011 - 17:02
fonte
5

Se si tratta di un test C ++ puro (cioè non un test di Windows / MFC / Managed C ++), trascorri alcune ore o un giorno con Effective C ++ di Scott Meyer e dovresti fare molto bene. Non copre i template e il STL, ma se fossero interessati a questo, probabilmente non ti daranno un test di due ore. Sono passati alcuni anni, ma intervistavo spesso gli sviluppatori C ++. Anche se le idee di Effective C ++ sono fondamentali per la programmazione in C ++, solo circa il dieci percento dei candidati le conosceva.

    
risposta data 02.09.2011 - 16:56
fonte
4

Beh dipende o meno che ti permetteranno di usare Google. : P

Di solito faccio abbastanza bene nei test tecnici, finché posso usare gli strumenti intorno a me. Quando mi chiedono di codificare cieco quando mi metto nei guai. Quindi il miglior consiglio che posso darti è codice cieco a casa ... Assicurati di ricordare cose banali che diamo per scontate perché possiamo controllarle facilmente se non lo ricordiamo.

Inoltre, di solito il controllo di abilità specifiche di cui hanno bisogno, quindi se sai a cosa ti stai dedicando, concentrati su quello.

(Questo è nella mia esperienza generale, non sono del Regno Unito)

    
risposta data 02.09.2011 - 16:07
fonte
1

Codice pratica kata Scegli un algoritmo semplice (ring buffer, torre di Hanoi, ricerca binaria, qualsiasi cosa) e codificalo da zero. Quindi esegui di nuovo la volta successiva e la volta successiva e la volta successiva e la volta successiva e così via. Guarda come puoi migliorarli ad ogni iterazione.

    
risposta data 15.09.2011 - 12:50
fonte
0

È vero che puoi aspettarti qualcosa.

Ti hanno detto che il test era C ++, ma forse è proprio il sottoinsieme C del C ++ che usano nei loro test (userete array di caratteri anziché stringhe di libreria standard). Questo sarà difficile da sapere.

Se è veramente C ++, ti consiglierei di vedere le basi:

  • Classi, variabili, matrici
  • riferimenti, puntatori (e perché non dovresti usarli di default)
  • l'uso della parola chiave const
  • Concetti oggetto orientato (ereditarietà, polimorfismo ...)
  • Modelli

quindi:

  • Usi della libreria standard (std :: string, std :: vector, contenitori, ...)
risposta data 15.09.2011 - 13:09
fonte
0

Ciò che è stato pubblicato è stato grandioso finora, ma aggiungerò qualcosa e una storia! Direi pratica che applica ciò che sai in C ++ ai problemi nel dominio della società di software. È fantastico se si conoscono tutti gli ins e out di C ++, ma se non si può applicare a un problema, sei inutile per l'azienda. Visto che questa è una posizione di sviluppo junior, non penserei che si aspetterebbero che tu sappia tutto sul C ++.

Ho effettuato il mio primo test tecnico per il mio primo lavoro di sviluppatore la scorsa settimana e sono rimasto sorpreso da quello che ho trovato. Mi aspettavo qualcosa di simile a FizzBuzz o qualcosa di più nitty grintoso (questo era per Java, btw) ma quello che ho trovato è stato che mi hanno dato un file e me lo hanno fatto analizzare in un nuovo formato, che è quale parte del lavoro era. Inoltre, mi hanno permesso di usare Google e le proprie librerie. In conclusione, devi conoscere il C ++, ma se vuoi sapere come sarà il test, dai un'occhiata al dominio della posizione che stai richiedendo e lavora sull'implementazione di C ++ verso qualcosa in quel dominio.

    
risposta data 15.09.2011 - 18:17
fonte
0

Sei:

  1. Scrittura del codice
  2. scelta multipla
  3. Intervista in persona

Durante la scrittura del codice

Si aspettano che tu sappia (e usi):

  • RAII
  • La regola dei tre
  • Comprendi i puntatori intelligenti

Probabilmente ti metteranno alla prova:

  • Inheritance
  • Funzioni virtuali
  • Serializzazione a / da uno stream
  • sovraccaricare gli operatori aritmetici (non usati spesso nella vita reale ma è facile scrivere un test in giro).

Se sei sfortunato potrebbero pensare

  • L'ereditarietà multipla e le classi di base virtuali sono qualcosa che dovresti sapere.
    • Non è così, ma alcune persone diventano pazze.

Quando si sceglie una scelta multipla

  • Comprendi tutto il terminologia OO
  • Conoscere i modi C ++ di implementare OO

Intervista in prima persona

  • Tutto sopra.
  • Conoscenza della ricorsione
  • Come convertire la ricorsione in un ciclo
  • Come stimare la complessità di Big O ()
  • Gli algoritmi di ordinamento standard (non solo bolle).
risposta data 15.09.2011 - 18:10
fonte
-1

Ho ricevuto la mia ultima intervista:

Differenza tra il passaggio di un oggetto a una funzione in base al valore / riferimento / puntatore e dove e perché lo si dovrebbe fare.

Sostituisce gli ultimi 2 8 bit di un numero intero, ad es. da RGBA a RGAB.

Che cos'è RIAA?

Definisci la meta-programmazione del modello: potresti ottenere una domanda in termini di "risolvere questo problema con TMP .."

Che cosa è mutabile, volatile, const ecc ecc ecc? conoscere tutte le parole chiave.

ereditarietà multipla .... ancora e ancora.

Multi threading: consumer di produzione e oggetti di memoria condivisa bufferizzati.

Alcune altre domande sulla periferia:

Aggregazione e composizione UML

Modelli di progettazione: implementa un singleton ... Quali sono i componenti comuni di MVC?

    
risposta data 27.10.2011 - 15:06
fonte

Leggi altre domande sui tag