Ho notato che nella maggior parte degli schermi telefonici tecnici, le domande di programmazione tendono a concentrarsi sull'ereditarietà. Ad esempio:
- Se una classe è destinata ad essere ereditata, cosa dovresti fare con il distruttore? (Risposta: renderlo virtuale)
- Qual è l'accordo con l'accesso pubblico / privato?
- Che cos'è "protetto" per?
- Ecc. ecc.
Mi sembra che ci siano più domande significative da porre in questi giorni. E, IMHO, affidarsi all'ereditarietà come soluzione di progettazione primaria a un problema di OO è un po 'problematico. Ho sbagliato? La conoscenza dell'ereditarietà è il modo migliore per valutare le capacità tecniche?
Modifica
I commentatori mi hanno chiesto di spiegare più dettagliatamente perché penso che affidarsi alle domande basate su OO sia problematico. Vediamo ... Fondamentalmente, il mio pensiero è che ci sono un sacco di domande interessanti e non-OO che potresti chiedere. Ad esempio:
- (C ++) Qual è la differenza tra una mappa e una multimap?
- (C ++) Quali sono i due diversi tipi di cose che puoi usare come argomenti del template?
- (C #) Che cos'è un metodo di estensione?
- (Perl) Quali restrizioni, se esistono, esistono sul numero di argomenti che una funzione può assumere?
- (Python) Quali sono i diversi modi in cui puoi utilizzare l'importazione e quali sono le conseguenze di tali tattiche?
Sottopongo che le domande di cui sopra sono anche domande decenti e poco piacevoli. Quindi la mia domanda per questo forum è: Perché gli screeners non fanno domande come quelle sopra?