Una storia vera basata su eventi fittizi.
Tutte le coincidenze non sono casuali.
Tutte le battute non sono divertenti.
— Sergio, salve. Mi chiamo Bibi, il mio collega si chiama Bob e siamo due... team leader, da molto tempo nel progetto, conosciamo tutto a memoria e oggi parleremo delle vostre conoscenze e abilità.
Nel tuo CV c'è scritto che sei un senior, lavori principalmente con .NET, sai di programmazione asincrona e multithreading, hai padronanza delle basi degli algoritmi e delle strutture dati, e hai esperienza sia nel refactoring che nella progettazione di grandi moduli da zero. Eppure, non si può non porre questa domanda stupida: parlami brevemente di te.
— Salve, Bibi e Bob. Lavoro principalmente con .NET, sono esperto in programmazione asincrona e multithreading, ho una buona padronanza delle basi degli algoritmi e delle strutture dati, e ho esperienza sia nel refactoring che nella progettazione di grandi moduli da zero. Questo in breve.
— Grazie. Bene, iniziamo! Per riscaldarci, qualcosa di più semplice: quali alberi e metodi di attraversamento conoscete?
— Quercia, acacia, acero, ciliegio... Non mi viene in mente nient'altro al momento. Per quanto riguarda l'attraversamento dell'albero, si può attraversare da diverse direzioni: da sinistra o da destra. So anche che si può arrampicarsi sugli alberi e che a volte ci sono cavità dove vivono le scoiattoli.
— Bene. Allora, questa domanda: qual è la differenza tra il passaggio di un oggetto per riferimento e la sua copia completa?
— La differenza è che nel primo caso l'oggetto viene passato per riferimento, mentre nel secondo viene copiato completamente.
— Cosa sai sui grafici?
— Ho un profondo rispetto per l'opera del conte Lev Nikolaevič Tolstoj, da bambino ero un appassionato del libro “Il Conte di Montecristo”. E chi non conosce il conte Dracula?!
— Che cos'è “SOLID”?
— “Duro”, più raramente “solido”. Ovviamente dipende dal contesto.
— Come funziona il garbage collector?
— Questo lo so anche io. Un tipico garbage collector indossa una tuta arancione brillante e scarpe speciali. Lavora principalmente di notte — a bordo di un camion dei rifiuti. Il compito principale del garbage collector è trasferire il contenuto dei bidoni della spazzatura nel cassone del camion, cercando di non spargere l'odore nauseabondo dei rifiuti sulla strada. In conclusione, si può dire che l'importanza dei garbage collector è sottovalutata dalla nostra società, eppure il loro lavoro è prezioso tanto quanto quello degli insegnanti e dei panettieri!
— E l'ultima domanda stupida per oggi: supponiamo di avere un cavallo sferico che sa camminare su due zampe come un essere umano. Il cavallo ha un contesto di esecuzione legato all'attuale continuum spazio-temporale. È necessario implementare un pool di questi cavalli con la possibilità di scatenare conflitti militari in Medio Oriente. Come lo faresti in O( n * log(n) )?
— Hmm... per cominciare, rinuncerei ai giudizi valutativi. Comprenderei infine che non esiste alcun pool di cavalli sferici — e l'intera formulazione della domanda perderebbe ogni senso. Diventerei contemporaneamente sia quel cavallo, sia il pool di questi cavalli, sia il Medio Oriente. Per il Fuso con l'Eterno O( n * log(n) ) è completamente indistinguibile da O ( n ^ n ).
— Grazie, Sergey. Ti richiameremo.
— È proprio così: non c'è di che. Non è necessario richiamare.
Fonte: habr.com