Va bene mescolare C e C ++ in un'intervista? [chiuso]

8

Se mi viene chiesto in un'intervista di scrivere del codice, dovrei completamente attenermi a C ++ o è accettabile "mescolare" i due per scrivere codice facile come mi viene in mente?

Lo spiegherò: se mi viene chiesto di creare un tipo di dati "stack", una classe C ++ è perfettamente adatta, mentre se devo analizzare alcune stringhe un strtok / sscanf è molto più semplice di STL. D'altra parte, se ho bisogno di un contenitore generico STL e modelli sono la strada da percorrere.

Tutto può essere fatto in C o in C ++, ma in un'intervista non posso codificare tutto o ricordare ogni funzione standard / STL. Qual è un compromesso accettabile?

    
posta John Smith 30.08.2012 - 21:19
fonte

6 risposte

13

Per essere veramente pedante, il C ++ offre supporti per C, in modo nativo, forse solo un sottoinsieme , ma se l'argomento è il C ++ è incluso il linguaggio di programmazione C , e questo non è un'opinione, non mi aspetterei argomenti su questo in un ambiente professionale.

    
risposta data 30.08.2012 - 22:00
fonte
17

Se non specificato, la maggior parte delle domande di programmazione ti consentirà di utilizzare qualsiasi lingua desideri per rispondere a una domanda specifica. Puoi spiegare quale lingua stai usando per rispondere alla domanda specifica per evitare confusione e spiegare perché la stai usando.

Se non sei sicuro che tutto ciò andrà bene con l'intervistatore, chiedi - è assolutamente accettabile chiedere se puoi rispondere a domande diverse usando lingue diverse (nella maggior parte delle risposte cartacee, lo pseudo-codice sarà più che accettabile ).

    
risposta data 30.08.2012 - 21:24
fonte
10

Dovresti solo chiedere all'intervistatore cosa preferisce, se sai come usarli entrambi.

A seconda della sua risposta puoi scoprire:

  1. se conosce davvero le differenze tra C e C ++;
  2. se conosce la libreria standard C ++;
  3. se è importante per lui.

Non esiste una risposta generica a questa domanda. È troppo dipendente dal lavoro e dagli obiettivi del reclutatore. Se lui vuole che tu mostri la conoscenza della lingua, allora sarà specifico. Se lui vuole che tu ti mostri capacità di problem solving e capacità di comunicazione, allora non gli interesserà molto.

    
risposta data 30.08.2012 - 21:25
fonte
8

A meno che il tuo intervistatore non richieda esplicitamente di eseguire il codice in C o C ++, vorrei semplicemente utilizzare ciò che è appropriato per l'intervista.

Per me, se il mio candidato stava mixando i due, sarei più interessato alla sua strategia o al motivo per mescolare le due lingue. Avere qualcuno nel mio team in grado di fornire una soluzione e essere in grado di giustificare la soluzione è estremamente prezioso.

    
risposta data 30.08.2012 - 21:44
fonte
1

If I am asked in an interview to write down some code, should I completely stick with C++ or is it acceptable to "mix" the two to write easy code as it comes to my mind?

Dipende interamente dal tipo di lavoro che stai richiedendo e dalla lingua che si aspettano che tu usi. In generale, se stai scrivendo C ++, è meglio attenersi al C ++ il più lontano possibile. Tuttavia, mi aspetto che ogni programmatore C ++ conosca almeno un po 'di C (e viceversa).

I'll explain it: if I'm asked to create a "stack" data type, a C++ class is perfectly suited, while if I need to parse some strings a strtok/sscanf is far easier than STL. On the other hand, if I need a generic container STL and templates are the way to go.

Se si aspettano che tu scriva un'intero tipo di dati di lavoro durante l'intervista, dovresti essere cauto. Va bene se ti chiedono informazioni tecniche, ma se si aspettano che tu passi ore di scrittura dei programmi durante l'intervista, è probabile che ciò dica qualcosa di negativo sul datore di lavoro.

Se usi scanf (), probabilmente hai fatto un grosso errore non importa se C o C ++. Spiega meglio all'intervistatore che stai scrivendo qualcosa di veloce e strong; sporco e non userebbe mai scanf nel codice di produzione. Ci sono molti fallimenti con varie funzioni della libreria C.

L'intervistatore non dovrebbe aspettarsi di ricordare ogni funzione nel librerie standard C e C ++, ma dovrebbe aspettarsi che tu sappia quali sono palesemente pericolose. gets (), getchar (), scanf (), setjmp () ecc.

    
risposta data 31.08.2012 - 15:31
fonte
0

Penso che quando in realtà ti viene chiesto esplicitamente di fare un breve incarico in C ++, sarebbe della massima importanza rimanere fedele a C ++ e non mischiare C con esso. Modern C non è un sottoinsieme del C ++ moderno, in quanto mescolare i due significherebbe solo che non hai molta familiarità con il C ++ pulito e moderno.

    
risposta data 30.08.2012 - 21:32
fonte

Leggi altre domande sui tag