come potrei intervistare per una posizione in C # se ho padroneggiato Java [duplicato]

6

Devo intervistare le persone per una posizione in C # che abbiamo. Lavoro sul lato java del progetto e lo padroneggio abbastanza bene. Quando intervengo per la posizione di java, chiedo alcune domande tecniche / problemi di programmazione, così posso assicurarmi che il candidato abbia solide competenze, non solo "5 anni di esperienza".

Ma non conosco affatto C #. Potrei cercare alcune domande online (e le loro risposte), ma se faccio loro queste domande, potrei non essere in grado di vedere chiaramente se la loro risposta è giusta o sbagliata, forse hanno un punto in qualche modo ecc. Inoltre ho vinto essere in grado di dare seguito a qualsiasi discussione a margine ecc.

Quindi quello che sto fondamentalmente chiedendo è se qualcuno con la conoscenza di java / C # può pensare a domande che:

  1. sono abbastanza profondi da mostrare che il ragazzo è solido
  2. I (con java knowledge ma zero C #) può discernere che la loro risposta è buona / ragionevole / ben pensata o meno.
posta Persimmonium 01.09.2011 - 12:16
fonte

8 risposte

2

Un buon programmatore è un buon programmatore e dovresti essere in grado di identificarlo indipendentemente dalle differenze linguistiche. Una persona che comprende le strutture dati, l'orientamento agli oggetti, gli approcci di test e i fondamenti del mestiere di programmazione avrà pochi problemi con lingue diverse. Una persona che afferma di comprendere un linguaggio in modo approfondito ma non può parlare in modo comprensibile di questi argomenti è un candidato debole.

Anche se hanno meno conoscenza della piattaforma, un buon programmatore saprà che è ciò di cui hanno bisogno e hanno pochi problemi nell'acquisirlo. Identifica che qualcuno è un buon programmatore e hai un solido punto di partenza.

Potresti anche usare la tua conoscenza come una risorsa: molte persone che hai intervistato avranno anche una conoscenza di base di Java, quindi domande di lingua comparativa possono essere informative in questi casi.

    
risposta data 01.09.2011 - 12:48
fonte
2

Penso che se la compagnia deve assumere un programmatore C # e nell'offerta è indicato come un requisito, allora un programmatore C # esperto dovrebbe fare il colloquio.

Altrimenti, come programmatore Java, sarete in grado di identificare le buone qualità di progettazione OO e le abilità generali di programmazione. Potresti comunque utilizzare un test precedentemente realizzato da un altro programmatore C # per aiutarti nella valutazione.

    
risposta data 01.09.2011 - 13:24
fonte
2

Potrebbe essere solo io, ma tu non puoi valutare la conoscenza di C # di qualcuno senza conoscere C # .

Puoi misurare le sue capacità di programmazione, capacità analitiche, abilità logiche, testabilità, progettazione orientata agli oggetti e tutto ciò che è comune tra C # e Java e tutto ciò che è generale alla programmazione (e sì, tutte queste sono molto importanti), ma tu non è in grado di valutare se conosce bene C # o no, non importa se ha una buona esperienza pratica.

Ora, sono d'accordo che la programmazione è un'arte, e puoi programmare i linguaggi ogni giorno e tutto ciò di cui hai bisogno è l'approccio giusto e la mentalità del programmatore. Ma più in pratica, la tua azienda è pronta a spendere (almeno per il tempo) per il suo C # di apprendimento? Lo vuoi "up and programming" dal primo giorno? Se è così, trova qualcuno che sappia C # intervistare per C #. Se hai un po 'di tempo, puoi convincere chiunque abbia una buona mente di programmatore e lasciarlo imparare.

    
risposta data 01.09.2011 - 14:25
fonte
2

Tecnicamente, C # è più di un superset di Java (se si trascurano alcune differenze sintattiche).

C # ha una quantità impressionante di funzionalità che Java omette in base alla progettazione. I più importanti sarebbero:

Detto questo, pochissime di queste funzionalità sono sfruttate nel codice di tutti i giorni. Questo perché sono relativamente nuovi e relativamente difficili da capire. Di queste cose, l'unico che probabilmente utilizzi quotidianamente è LINQ e delegati, l'interrogazione dei dati e la programmazione basata sugli eventi sono rispettivamente l'applicazione più importante.

Francamente, in C # ci sono solo idiomi caratteristici per risolvere alcuni problemi. E ci sono dei motivi per cui quegli idiomi sono a posto. Vuoi un programmatore C # per scrivere codice C #, non codice Java in C #.

Non è improbabile che, se chiedi a un programmatore C # di mostrarti il suo capolavoro del codice, ti mostrerà un pezzo di codice, che ha queste nuove funzionalità che strisciano dappertutto. E avrai davvero difficoltà a capire il codice oa giudicare se l'uso di quelle funzioni fosse appropriato o in realtà offusca un semplice problema con costrutti convoluti.

Se vuoi davvero essere all'altezza di questa sfida, devi fare i compiti a casa.
Quello che vuoi fare è assumere persone brillanti e vuoi esprimere un giudizio sulle loro capacità. Dovresti quindi avere più informazioni possibili. Se non per trovare effettivamente il miglior candidato, allora come un segno di rispetto verso il loro lavoro e competenza.

L'assunzione è un processo critico. Se non riesci a fornire la necessaria competenza di C #, ti consiglio di assumere qualcuno di cui ti puoi fidare, ottenere una buona valutazione delle competenze specifiche di C # e concentrarti sull'esame di tutti gli aspetti non di programmazione dello sviluppo del software.

    
risposta data 01.09.2011 - 14:32
fonte
1

Semplice, dagli un terminale e digli di fare qualcosa. Controlla quanto cerca la sintassi per avere un'idea della familiarità linguistica. Poi fagli spiegare il suo codice, riga per riga. Pensalo come meno un esercizio di programmazione e più di un esercizio di comunicazione. Puoi estirpare preventivamente altri candidati con domande sulle strutture dati e simili.

    
risposta data 01.09.2011 - 12:26
fonte
1

In qualsiasi lingua, la conoscenza della biblioteca è un indicatore dell'esperienza reale. Queste gemme .NET qui dovrebbero darti un'idea su come formulare alcune domande interessanti.

    
risposta data 01.09.2011 - 12:26
fonte
1

Questo è uno dei motivi principali per cui ho creato Dev ++ , sebbene ultimamente non sia stato in grado di spendere molto tempo.

Registrati e prendi il c # da solo ... se vuoi, posso farti un account per 'reclutatori' che ti permetta di invitare altre persone a fare test, poi una volta passati li puoi vedere codice.

Come sviluppatore Java, sarai in grado di leggere il loro codice e valutare la loro conoscenza c # 100 volte meglio di stupidi test a scelta multipla su Internet.

(Hai notato il mio disdegno per le domande a scelta multipla?)

EDIT: Ecco l'elenco dei test C # tra l'altro: link

    
risposta data 01.09.2011 - 12:42
fonte
1

Invialo a inviare alcuni esempi di codice . Se conosci java, dovresti essere in grado di leggere C #. Puoi quindi vedere come codifica e quanto è bravo nella programmazione OO.

    
risposta data 01.09.2011 - 13:27
fonte

Leggi altre domande sui tag