Quali sono le migliori domande per le interviste su Linux di livello senior [chiuso]


25

Di tanto in tanto su questo sito ci sono persone che chiedono quali sono alcune domande di intervista di amministratore di sistema. Principalmente quando li leggono sono tutte domande da medio a medio livello.

Mi chiedo quali sono le tue migliori domande di intervista per amministratori di livello senior su Linux.

Due dei miei sono

1) Come si fa a fermare una bomba se si è già connessi a un sistema

2) Si elimina un file di registro utilizzato da Apache e non si è ancora riavviato Apache, come è possibile ripristinare tale file di registro?


Un'altra variante della prima Q è: cosa fa :(){ :|:& };:il tuo sistema e perché te ne importa? Saluti!
MacUsers,

Risposte:


13
  • Come sembrano le dipendenze della libreria condivisa?
  • Come tracciare la chiamata e il segnale del sistema?
  • Come profilo app?
  • Come stampare le stringhe di caratteri stampabili nei file?
  • Quali campi sono memorizzati in un inode?
  • Che cos'è nscd?
  • Che cos'è Automake e Autoconf?
  • Quali passi per aggiungere un utente a un sistema senza usare useradd / adduser?
  • Come vedi le informazioni sull'aspetto dei file ELF?
  • Quali sono i numeri MAJOR e MINOR di file speciali?
  • Come filtrare il livello di collegamento?

16
  • Parlami dell'ultimo grande progetto Linux che hai completato. Quali sono stati alcuni degli ostacoli e come li hai superati. A volte porre queste domande aperte rivelerà molto più delle piccole domande a cui Google può facilmente rispondere. Un grande amministratore senior non ha bisogno di sapere tutto, ma dovrebbe essere in grado di trovare soluzioni sorprendenti per progetti impossibili.
  • Contribuisci a qualche progetto Open Source? Non importa se si tratta solo di documentazione, mostra una certa dedizione al mestiere.

Per capire quanto sono bravi, fai le domande aperte ...


2
+1 per domande aperte. Le domande chiuse si riducono alla conoscenza delle curiosità.
Sirex,

2
Assolutamente. Per me un anziano non è solo qualcuno che può memorizzare cose che puoi Google, ma qualcuno che può risolvere problemi complessi, progettare, assumere un ruolo di leadership nei progetti e così via. "Riesci a ricordare come usare ldd" non mi dirà se sto assumendo qualcuno che può aiutare a individuare il difetto in una complessa app di produzione multilivello o fare una pianificazione della capacità significativa.
Rodger,

9

Domanda: Descrivi uno scenario quando viene visualizzato l'errore "filesystem is full", ma " df " mostra che c'è spazio libero

Risposta: Il filesystem può esaurire gli inode, ' df -i ' lo mostrerà.

Domande aperte:

  • parlami di come gestisci il tuo database di conoscenza (wiki, contorni, fogli di calcolo, file di testo semplice) e perché hai scelto opzioni particolari
  • usi il controllo versione? quale e perché? i tuoi messaggi di commit sono belli?

3
Correlati potrebbero essere: "Perché du e df non sono d'accordo?" - Perché du controlla l'uso delle directory, ma df controlla gli inode liberi, e i file possono essere tenuti aperti e occupare spazio dopo essere stati eliminati
Matt Simmons,

+1 per questo e il commento di Matt (In realtà lo chiedo a TUTTE le interviste unix, indipendentemente dal livello. Mostra come qualcuno capisce i concetti del filesystem)
voretaq7

Ohh .. la differenza tra du / e df è sempre buona
Mike

prende nota Aha! Ora lo so! :)
Mister IT Guru,

8

Uno che mi piace chiedere, e mi sento a mio agio, è questo:

Raccontami l'errore più grande che hai commesso in [qualche recente periodo di tempo] e come lo faresti diversamente oggi. Cosa hai imparato da questa esperienza?

Ci sono molti amministratori di sistema con 10 anni di esperienza. Molti sembrano avere lo stesso anno 10 volte di seguito. Ne voglio uno nella mia squadra con 10 anni diversi, progressivamente migliori. E se non hai mai fatto un grosso errore, uno che ti ha fatto domandare se dovresti solo impacchettare la tua scrivania, non hai davvero vissuto. :)

Non mi interessano le domande trivia, come intervistatore o intervistato. Mi piacciono le domande che hanno sconcertato i miei venditori prima, o quelle che mi hanno dato "Eureka!" momenti.


Sostengo questa domanda
ZaphodB,

7

Sono sempre un fan di

  • Descrivi il processo di avvio di Linux con il maggior numero di dettagli possibile, a partire da quando il sistema è acceso e termina quando viene visualizzato un messaggio.

Mi piace fare domande che dimostrino quanta consapevolezza qualcuno ha delle differenze tra i diversi unix. Mi piace anche vedere quanto una persona capisce che Linux fa le cose in un modo, non necessariamente come lo fanno tutti gli altri. Molte di queste domande ruotano attorno agli strumenti linux predefiniti, ad esempio:

  • Dimmi due modi per reindirizzare contemporaneamente sia stderr che stdin
    • &> e >/dev/null 2>&1
    • dimostra la conoscenza della shell bash vs. bourne

Un altro punto chiave: per le posizioni senior, mi aspetto di vedere prove di capacità di scrittura e presentazione pubbliche. Se sei una persona anziana, dovresti essere stato pubblicato più volte sul web e nelle riviste. Diamine, basta avere il tuo blog tecnico è sufficiente. Avere presentato almeno un articolo durante una conferenza è un grande vantaggio. Penso che questo in particolare separi gli amministratori junior da senior di Linux.


La mia variante della tua domanda è: dalla fine del POST fino a quando non vedi una richiesta di accesso, descrivi il processo di avvio di un server PC che esegue Linux con tutti i dettagli che ritieni appropriati, con un'enfasi sulla risoluzione dei problemi? (Quindi le cose su come il dispositivo di avvio viene trovato dal BIOS e come il bootloader viene recuperato dal codice nell'MBR, come il kernel avvia il processo di init e così via, sono tutti rilevanti; perché ognuno di questi fornisce feedback e ha una risoluzione dei problemi associata passi).
Jim Dennis,

6

Ho appena eseguito 'chmod -x / bin / chmod'. Cosa ho fatto? Come posso recuperare?

Descrivere il processo di handshake di TCP.

Come funziona traceroute?

Quando potrebbe essere necessario utilizzare CTRL-Z o CTRL-D?

Cosa fa la parte adesiva?

Quali opzioni del kernel potrebbero essere necessarie per ottimizzare?

Come fai a sapere quale distribuzione stai eseguendo?

Come si dice su quale hardware si esegue?

Qual è la differenza tra una SAN, un NAS e un disco locale?

Ho 30 server e non sono sicuro che ognuno abbia la stessa configurazione di Apache. Come faccio a sapere quante copie ci sono e quali sono le differenze?

Che cos'è una prigione chroot?

Come fai a sapere se sei stato violato?

Nomina tutti i comandi unix di due lettere che ti vengono in mente e cosa fanno? Come puoi cercare tutti i comandi unix di due lettere sul tuo sistema.

Chiedo anche alle persone pre-sul posto di fare alcuni semplici compiti. Soprattutto se professano una certa esperienza nella scrittura di script. Chiedo loro di analizzare due diversi file di dati (uno csv, uno | sv) e di fare effettivamente un join dei dati. Ho inserito alcuni gotcha (dati scarsamente formattati), campi mancanti necessari per i join, dati stranamente fuori sequenza, ecc. Chiedo loro di inviarmi il codice sorgente e l'output. (Stile del problema della macchina) Solitamente concedo un intervallo di tempo di 3-4 ore per affrontarlo. Questo compito ha aiutato a filtrare molti candidati che elencano lo "scripting" come un'abilità, ma non riescono a mettere in pratica le basi quando sono sotto pressione.


Non sono convinto che siano abbastanza tecnici per un ruolo senior (in base al fatto che posso rispondere a loro, e sono un junior).
Sirex,

Con un po 'di tempo, potrei rispondere a tutti questi, ma voglio essere in grado di farlo nel sonno! Io penso di aver bisogno di più apprendimento :)
Mister IT Guru,

6

La mia domanda di chiusura preferita:

Se fossi bloccato su un'isola deserta con solo 5 utility da riga di comando, quale sceglieresti?

La mia lista personale:

  • ping
  • tcpdump
  • ps
  • lsof
  • strace

È una semplice domanda per vedere con quali comandi un amministratore è più a suo agio e aiuta anche a dimostrare il suo conforto con domande non ortodosse (giocose). Alcuni intervistati leggono modo troppo nella questione e si scoraggia. Se non riesci a rispondere a qualcosa di così semplice, mi dice che hai poca fiducia nelle tue capacità. D'altra parte, se ti sforzi troppo per trovare l'elenco perfetto, potrebbe suggerire che hai paura del fallimento e incapace di pensare in piedi.

Certo, questo è più utile per i candidati junior / di medio livello, ma non fa male neanche chiedere. :)


5
Immagino che vorrei andare busyboxa coprire le basi, oltre mplayerad aiutare a gestire la noia. Ciò mi lascia tre avanzi ....
mattdm,

2
Vorrei solo l'eco e la posta - l'eco "per favore, vieni e salvami!" | mail -s rescue admin@mcga.gov.uk
symcbean

"Mail" e "ntpdate". Potrei usare Mail per chiedere aiuto e usare NTP per determinare la mia esatta latitudine e longitudine. :)
Ernie

5

Io uso questo:

  • Cosa succede quando il kernel Linux avvia il killer OOM, come sceglie quale processo uccidere per primo.

e altri che non ho dalla cima della mia testa ..


Questa è un'ottima domanda .. Non credo che molte persone di livello senior lo saprebbero. Certamente non l'ho fatto e mi ha fatto leggere. Grazie!
Mike,

La mia risposta sarebbe: il kernel mantiene varie statistiche relative all'allocazione della memoria virtuale e all'attività di paging. Quando vengono superate determinate soglie, il killer OOM viene invocato per selezionare i processi da terminare. I dettagli sono stati modificati e modificati con quasi ogni versione del kernel e build del kernel del fornitore negli ultimi anni.
Jim Dennis,

1
(Il mio punto generale è che il normale amministratore di sistema dovrebbe considerare la selezione del processo killer OOM quasi casuale. Un paio di anni fa ho trascorso un periodo imbarazzante di tempo a rintracciare le misteriose morti sporadiche sui miei processi portmapper (alcuni alla settimana tra cluster di un poche migliaia di macchine) scoprono solo che è stato ucciso dal killer OOM --- nonostante il fatto che usi pochissima memoria, quasi mai alloca memoria aggiuntiva, non fa mai biforcazioni ed è, per molti aspetti, un candidato estremamente improbabile per OOM selezione). (Non sono state applicate modifiche di sistema a questi).
Jim Dennis,

Il mio cervello è appena esploso - Queste sono domande MOLTO molto valide!
Mister IT Guru,

Jim, hai ragione, cambia tutto il tempo, ma sono più interessato a come l'intervistato inizierebbe a pensarci e cosa avrebbe più senso uccidere per primo e bonus se potesse menzionare come proteggere determinati processi da uccidere.
Chmouel Boudjnah,

4

Ho un favorito forte qui. Questa domanda ha un eccellente valore predittivo su come faranno i candidati in domande più avanzate:

Un utente / collega viene da te per lamentarti del fatto che un file di lunghezza zero denominato "-fr" è apparso nella directory principale di alcuni sistemi.

Qual è il modo più semplice, sicuro e portatile per rimuovere quella voce della directory, e perché vale la pena porre la domanda?

Le persone ottengono il merito di aver detto cose come: rm -- -fro perl -le 'unlink("-fr");'(sono efficaci ma non perfettamente portatili).

Le persone che si occupano della quotazione della riga di comando della shell e della fuga di caratteri sono quasi pericolose quanto quelle che semplicemente non riconoscono nemmeno perché un nome di file del genere presenti qualche problema.

Coloro che ridacchiano ... dicono qualcosa sull'uso di "barra rovesciata" e sottolineano che questa è una delle voci più vecchie nelle FAQ sulla shell UNIX di USENIX che ottiene ulteriore credito.


Cosa intendi per "più portatile"? La mia risposta è, comunque: "elimina per numero di inode". find . -inum <number> -exec rm -i {} \;
MacUsers,

@MacUsers: Nel mio libro è quasi come usare Perl per l'attività (metà credito ... funzionerà, ma alcune versioni di find potrebbero non implementare l'opzione -inum ed è inutilmente complicato rispetto a rm ./-fr ( non "più semplice"). In particolare, possiamo misurare più facilmente in termini di sforzo e in modo affidabile possiamo guidare un utente attraverso il processo al telefono.
Jim Dennis,

Mi piace conoscere la tua risposta per ottenere il tuo "credito completo". Saluti!!
MacUsers,

Il metodo più semplice e portatile è: rm ./-fr ... funziona sempre con le versioni più vecchie di UNIX e richiede solo l'inserimento di due sequenze di tasti senza spostamento. Ancora più importante, si può aggiungere un prefisso a qualsiasi modello di glob con ./ ed essere certi che nessuna espansione della shell del glob verrà interpretata erroneamente come un interruttore da un comando esterno. (Un programma dovrebbe concatenare i suoi argomenti insieme e analizzare nuovamente la stringa anche per essere confuso da ./foo \ -bar ... un file con una sequenza di trattini spaziali).
Jim Dennis,

Sembra che 'manchi l'esempio di unl perlink.
GnP,

3

"Quali unix non Linux sono stati usati? Potresti dirmi alcune delle differenze tra loro?"

Perché, dopotutto, non tutto il mondo è un linux (ho usato una manciata di unici commerciali non linux e alcuni aperti non linux, se fai affidamento sulle abilità di uno nell'ambiente di un altro, sparerai te stesso nel piede).


4
Solaris killall! = Linux killall
user9517 supporta GoFundMonica il

Almeno era il caso che la modifica dei file di configurazione in AIX non comportasse la modifica del comportamento dei demoni, poiché prendevano la configurazione da un database binario, anziché dal file di configurazione in testo normale.
Vatine,


1

Dirò che mi sento come molti dei tipi di domande "dov'è __, cos'è __, come fai __" mi sembrano delle domande junior / intermedie. Quando intervisto per una posizione Linux di livello intermedio, chiedo la tipica conoscenza di base (a cosa serve un kernel, qual è la differenza tra un collegamento simbolico e un collegamento reale, cosa devo fare se rimuovo i bit eseguibili da chmod?) . Alcune delle cose che vorrei considerare come domande di livello superiore:

  1. Quali sono alcuni dei vantaggi dell'utilizzo di systemd su SysV init? Svantaggi? Debian è appena passata a systemd anziché a Upstart. Qual era il ragionamento alla base di ciò?
    • Una delle cose che mostra è l'interesse e gli investimenti nella comunità Linux e come questo influisce sul lavoro quotidiano di un amministratore di sistema. Mostra che questa persona è informata su come il campo si sta evolvendo e (potenzialmente) è disposto a cambiare con esso.
  2. Se volessi installare Apache su un server remoto, qual è il modo migliore per farlo? E se volessi fare la stessa cosa su 100 server? E se metà di loro sono RHEL e metà sono Debian?
    • Mostra familiarità con l'utilizzo di software di terze parti per risolvere problemi pratici; familiarità con l'utilizzo delle utilità di gestione della configurazione.
  3. Quali considerazioni entrano in gioco quando si progetta un'applicazione a disponibilità elevata, sia a livello di architettura che a livello di applicazione?
    • Mostra che questa persona può considerare un problema di grande immagine. Dimostra di capire come funziona il bilanciamento del carico, le applicazioni senza stato, forse mostra alcune conoscenze sulle opzioni di configurazione e sui moduli Apache comuni utilizzati per le applicazioni multithread e l'ottimizzazione delle prestazioni a livello del singolo server.
  4. Quali sono alcune differenze tra un microkernel e un kernel monolitico? Qual è il vantaggio che Linux sia un kernel monolitico?
    • Mostra familiarità con il sistema Linux a un livello più profondo dello spazio utente.
  5. Se digito "www.google.com" nel browser e premo invio, che cosa succede dal momento in cui la mia chiave arriva al momento in cui la pagina viene visualizzata nel mio browser?
    • Anche se la posizione non è per un ingegnere di rete, mi aspetto che le persone possano pensare al di fuori del microcosmo. Ciò entra in molti fondamenti di rete e nel loro significato per i singoli sistemi e le piccole reti in termini di adattamento a sistemi più grandi. Questo può indirizzare le cache DNS del browser / OS locale, come funziona ARP, come funzionano le tabelle di instradamento, cos'è una query DNS ricorsiva, il significato di BGP / OSPF e il ruolo che svolgono nelle reti più grandi, l'handshake SSL e la crittografia in generale, TCP connessioni e gobs di altre piccole cose utili da approfondire.

Questi sono solo alcuni esempi fuori mano, ma penso che in generale un amministratore senior dovrebbe avere familiarità con i concetti di grande immagine e piuttosto che cose per le quali puoi semplicemente Google.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.