Quais são as suas melhores perguntas para entrevistas de nível sênior no Linux [fechado]

25

De vez em quando neste site, há pessoas perguntando o que são algumas perguntas da entrevista do administrador do sistema. Principalmente ao lê-los, todos são perguntas de nível médio a médio.

Gostaria de saber quais são as suas melhores perguntas da entrevista com administradores de nível sênior do Linux.

Dois dos meus são

1) Como você interrompe uma bomba se você já estiver logado em um sistema

2) Você excluiu um arquivo de log que o apache está usando e ainda não o reiniciou, como recuperar esse arquivo de log?

Mike
fonte
Outra variante do primeiro Q é: O que :(){ :|:& };:faz no seu sistema e por que você se importaria com isso? Felicidades!
precisa saber é o seguinte

Respostas:

13
  • Como são as dependências da biblioteca compartilhada?
  • Como rastrear chamadas e sinais do sistema?
  • Como aplicativo de perfil?
  • Como imprimir as seqüências de caracteres imprimíveis nos arquivos?
  • Quais campos são armazenados em um inode?
  • O que é nscd?
  • O que são Automake e Autoconf?
  • Quais etapas para adicionar um usuário a um sistema sem usar useradd / adduser?
  • Como você vê informações sobre os arquivos ELF?
  • O que são números MAJOR e MINOR de arquivos especiais?
  • Como filtragem da camada de link?
osdyng
fonte
16
  • Conte-me sobre o último grande projeto Linux que você terminou. Quais foram alguns dos obstáculos e como você os superou. Às vezes, essas perguntas abertas revelam muito mais do que pequenas perguntas que são facilmente respondidas pelo Google. Um ótimo administrador sênior não precisa saber tudo, mas deve conseguir soluções surpreendentes para projetos impossíveis.
  • Você contribui com algum projeto de código aberto? Não importa se é apenas documentação, mostra uma certa dedicação ao ofício.

Para descobrir como elas são boas, faça as perguntas abertas ...

cwheeler33
fonte
2
+1 para perguntas abertas. As perguntas fechadas se resumem a conhecer curiosidades.
Sirex
2
Absolutamente. Para mim, um graduado não é apenas alguém que pode memorizar coisas que você pode usar no Google, mas alguém que pode resolver problemas complexos, projetar, assumir um papel de liderança em projetos e assim por diante. "Você consegue se lembrar de como usar o ldd" não vai me dizer se estou contratando alguém que pode ajudar a identificar a falha em um aplicativo de produção complexo de várias camadas ou fazer um planejamento de capacidade significativo.
Rodger
9

Pergunta: Descreva um cenário ao receber o erro "o sistema de arquivos está cheio", mas ' df ' mostra que há espaço livre

Resposta: O sistema de arquivos pode ficar sem inodes, ' df -i ' mostrará isso.

Questões em aberto:

  • fale sobre como você gerencia seu banco de dados de conhecimento (wikis, contornos, planilhas, arquivos de texto sem formatação) e por que você escolheu opções específicas
  • você usa controle de versão? qual e por que? suas mensagens de commit são bonitas?
halp
fonte
3
Relacionado pode ser: "Por que du e df discordam?" - Porque du verificações de uso de diretórios, mas df cheques free'd inodes, e arquivos podem ser mantidos abertos e tomar espaço depois de serem eliminados
Matt Simmons
+1 para este & comentário de Matt (Na verdade eu perguntar isso em entrevistas ALL UNIX, independentemente do nível Ela mostra o quão bem alguém entende conceitos de sistemas de arquivos.)
voretaq7
Ohh .. a diferença entre du / e df é sempre uma boa
Mike
faz uma anotação Aha! Agora eu conheço este! :)
Mister IT Guru
8

Um que eu gostaria de perguntar, e me sinto à vontade em perguntar, é o seguinte:

Conte-me sobre o maior erro que você cometeu em [algum período recente] e como você o faria de maneira diferente hoje. O que você aprendeu com essa experiência?

Existem muitos administradores de sistemas com 10 anos de experiência. Muitos parecem ter o mesmo ano 10 vezes seguidas. Quero um na minha equipe com 10 anos diferentes e progressivamente melhores. E se você nunca cometeu um grande erro, um que fez você se perguntar se deveria arrumar sua mesa, não viveu realmente. :)

Eu não ligo para as perguntas triviais, como entrevistador ou entrevistado. Eu gosto das perguntas que atrapalharam meus fornecedores antes, ou as que me deram "Eureka!" momentos.

Robert Novak
fonte
eu apoio a esta pergunta
ZaphodB
7

Eu sempre sou fã de

  • Descreva o processo de inicialização do linux com o máximo de detalhes possível, começando quando o sistema é ligado e terminando quando você receber um prompt.

Gosto de fazer perguntas que demonstrem quanta consciência alguém tem das diferenças entre diferentes unixes. Eu também gosto de ver o quanto uma pessoa entende que o linux faz as coisas de uma maneira, que não é necessariamente como todo mundo faz. Muitas dessas perguntas giram em torno das ferramentas linux padrão, por exemplo:

  • Diga-me duas maneiras de redirecionar stderr e stdin de uma só vez
    • &> e >/dev/null 2>&1
    • demonstra conhecimento de bash vs. bourne shell

Outro ponto-chave: para cargos de chefia, espero ver evidências de redação pública e habilidades de apresentação. Se você é uma pessoa idosa, deveria ter sido publicado várias vezes na Web e em revistas. Caramba, basta ter seu próprio blog de tecnologia. Ter apresentado pelo menos um artigo em uma conferência é uma grande vantagem. Eu acho que isso, em particular, separa os administradores júnior e sênior do linux.

Phil Hollenback
fonte
Minha variante da sua pergunta é: Desde o final do POST até você ver um prompt de login, descreva o processo de inicialização de um servidor de PC executando o Linux com os detalhes que achar mais adequados, com ênfase na solução de problemas? (Assim, as coisas sobre como o dispositivo de inicialização é encontrado pelo BIOS e como o gerenciador de inicialização é buscado pelo código no MBR, como o kernel inicia o processo init e assim por diante são relevantes; porque cada uma delas fornece feedback e tem solução de problemas associada passos).
Jim Dennis
6

Acabei de executar 'chmod -x / bin / chmod'. O que eu fiz? Como me recupero?

Descreva o processo de handshake do TCP.

Como o traceroute funciona?

Quando você pode precisar usar CTRL-Z ou CTRL-D?

O que a parte pegajosa faz?

Quais opções de kernel você pode precisar para ajustar?

Como você diz qual distribuição você está executando?

Como você diz em qual hardware está executando?

Qual é a diferença entre uma SAN, um NAS e um disco local?

Eu tenho 30 servidores e não tenho certeza se cada um tem a mesma configuração do apache. Como descubro quantas cópias existem e quais são as diferenças?

O que é uma prisão chroot?

Como você sabe se foi invadido?

Nomeie todos os comandos de duas letras unix que você puder imaginar e o que eles fazem? Como você pode procurar todos os comandos de duas letras unix no seu sistema.

Também peço às pessoas no local que façam algumas tarefas simples. Especialmente se eles professam alguma experiência em escrever scripts. Peço que analisem dois arquivos de dados diferentes (um csv, um | sv) e efetuem uma junção dos dados. Coloquei algumas dicas (dados mal formatados), campos ausentes necessários para junções, dados estranhamente fora de sequência, etc. Peço que eles me enviem o código fonte e a saída. (Estilo de problema de máquina) Normalmente, dou uma janela de tempo de 3-4 horas para resolvê-la. Essa tarefa ajudou a filtrar muitos candidatos que listam 'scripts' como uma habilidade, mas não podem usar o básico quando pressionados.

Joel K
fonte
Não estou convencido de que eles sejam técnicos o suficiente para um cargo sênior (com base nisso, posso respondê-los e sou um júnior).
Sirex
Com algum tempo, eu poderia responder a tudo isso, mas quero poder fazê-lo enquanto durmo! Eu pensa que eu preciso de mais aprendizado :)
Senhor TI Guru
6

Minha pergunta de fechamento favorita:

Se você estivesse preso em uma ilha deserta com apenas 5 utilitários de linha de comando, qual escolheria?

Minha lista pessoal:

  • ping
  • tcpdump
  • ps
  • lsof
  • traço

É uma pergunta simples para ver com quais comandos um administrador se sente mais confortável e também ajuda a demonstrar seu conforto com perguntas não-ortodoxas (divertidas). Alguns entrevistados ler maneira muito para a questão e se perturbado. Se você não pode responder algo tão básico, isso me diz que você tem pouca confiança em suas próprias habilidades. Por outro lado, se você se esforçar demais para encontrar a lista perfeita, isso pode sugerir que você tem medo do fracasso e não consegue pensar em seus próprios pés.

É certo que isso é mais útil para candidatos de nível júnior / médio, mas também não custa perguntar. :)

ofuscação
fonte
5
Acho que eu iria busyboxcobrir o básico, além mplayerde ajudar a lidar com o tédio. Isso me deixa três sobras ....
mattdm
2
Eu só queria eco e correspondência - eco 'por favor, venha e me salve!' | mail -s rescue [email protected]
symcbean
"Correio" e "ntpdate". Eu poderia usar o Mail para pedir ajuda e usar o NTP para determinar minha latitude e longitude exatas. :)
Ernie
5

Eu uso este:

  • O que está acontecendo quando o kernel do Linux está iniciando o killer do OOM, como ele escolhe qual processo matar primeiro.

e outros que eu não tenho do topo da minha cabeça ..

Chmouel Boudjnah
fonte
Essa é uma ótima pergunta. Eu não acho que muitas pessoas de nível sênior saberiam disso. Eu certamente não fiz e isso me fez ler sobre isso. obrigado!
Mike
Minha resposta para isso seria: o kernel mantém várias estatísticas relacionadas à alocação de memória virtual e atividade de paginação. Quando certos limites são excedidos, o killer do OOM é chamado para selecionar processos para finalização. Os detalhes foram aprimorados e alterados com quase todas as versões do kernel e compilação do kernel do fornecedor nos últimos anos.
Jim Dennis
11
(Meu argumento geral é que o administrador de sistemas normal deve considerar a seleção de processos assassinos de OOM quase aleatória. Há alguns anos, passei um tempo embaraçoso rastreando as misteriosas mortes esporádicas nos meus processos de portmapper (algumas por semana em grupos de poucos milhares de máquinas) apenas descobrem que estava sendo morto pelo assassino da OOM - apesar de usar muito pouca memória, quase nunca aloca memória adicional, nunca faz bifurcação e é, na maioria dos aspectos, um candidato extremamente improvável à OOM seleção). (Nenhum ajuste sysctl foi aplicado a eles).
Jim Dennis
Meu cérebro simplesmente explodiu - Essas são perguntas MUITO muito boas!
Mister IT Guru
Jim, você está certo, isso muda o tempo todo, mas estou mais interessado em saber como o entrevistado começaria a pensar sobre isso e o que faria mais sentido matar primeiro e obter bônus se ele mencionar como proteger determinado processo para ser morto.
Chmouel Boudjnah
4

Eu tenho um forte favorito aqui. Esta pergunta tem um excelente valor preditivo de como os candidatos se sairão em perguntas mais avançadas:

Um usuário / colega vem até você para reclamar que um arquivo de tamanho zero chamado "-fr" apareceu no diretório raiz de algum sistema.

Qual é a maneira mais fácil, segura e portátil de remover essa entrada de diretório e por que vale a pena fazer a pergunta?

As pessoas recebem metade do crédito por dizer coisas como: rm -- -frou perl -le 'unlink("-fr");'(Elas são eficazes, mas não são otimamente portáteis).

As pessoas que falam sobre citações na linha de comando do shell e escapam de caracteres são quase tão perigosas quanto aquelas que simplesmente nem reconhecem por que um nome de arquivo como esse apresenta algum problema.

Aqueles que riem ... dizem alguma coisa sobre o uso de "barra" e apontam que esta é uma das entradas mais antigas nas perguntas frequentes do shell UNIX do USENIX e recebe crédito extra.

Jim Dennis
fonte
O que você quer dizer com "mais portátil"? Minha resposta é, de qualquer maneira: "delete by inode number". find . -inum <number> -exec rm -i {} \;
MacUsers
@ MacUsers: No meu livro, é quase o mesmo que usar Perl para a tarefa (meio crédito ... ele funcionará, mas algumas versões do find podem não implementar a opção -inum e é desnecessariamente complicado comparado ao rm ./-fr ( . não "mais fácil") em particular podemos medir mais fácil em termos de como muito esforço e como confiável podemos caminhar um usuário através do processo através do telefone.
Jim Dennis
Gostaria de saber sua resposta para obter seu "crédito total". Felicidades!!
MacUsers
O método mais simples e portátil é: rm ./-fr ... é sempre trabalhado a partir das versões mais antigas do UNIX e requer apenas a inserção de dois pressionamentos de tecla não deslocados. Mais importante, pode-se prefixar qualquer padrão glob com ./ e ter certeza de que nenhuma expansão shell da glob será mal interpretada como uma opção por algum comando externo. (Um programa precisaria concatenar seus argumentos e analisar novamente a cadeia de caracteres, mesmo para ser confundida com ./foo \ -bar ... um arquivo com uma seqüência de traços espaciais).
Jim Dennis
Parece haver uma 'falta no seu exemplo de desvinculação do perl.
GnP 07/07
3

"Que unixes que não são linux você usou? Você poderia me dizer algumas das diferenças entre eles?"

Porque, afinal, nem todo o mundo é um linux (eu usei algumas unidades comerciais não-linux e algumas não-linux, se você confiar nas habilidades de um no ambiente de outro, você irá atirar você mesmo no pé).

Vatine
fonte
4
Solaris killall! = Linux killall
user9517 suporta GoFundMonica
Pelo menos costumava ser o caso de editar arquivos de configuração no AIX não resultar na mudança de comportamento dos daemons, pois eles buscavam a configuração de um banco de dados binário, em vez do arquivo de configuração de texto sem formatação.
Vatine
2

Se você estivesse preso em uma ilha deserta com apenas 5 utilitários de linha de comando, qual escolheria?

date whoami echo sleep kill

Joey1978
fonte
fsck fsck fsck fsck e fsck.
Sirex
Isso é uma bobagem, uma tentativa de transformar a resposta em serverfault.com/questions/225946/… em uma discussão ou o quê?
quux
'whoami' - LOL!
symcbean 4/08/11
1

Eu direi que sinto que muitas das perguntas "onde está __, o que é __, como você __" me parecem perguntas júnior / intermediária. Quando estou entrevistando para uma posição Linux de nível intermediário, pergunto o que é um conhecimento básico básico (para que serve um kernel, qual a diferença entre um link simbólico e um link físico, o que faço se remover os bits executáveis ​​do chmod?) . Algumas das coisas que eu consideraria mais perguntas de nível sênior:

  1. Quais são alguns dos benefícios do uso do systemd sobre o SysV init? Desvantagens? O Debian acabou de se mudar para systemd em vez de Upstart. Qual foi o raciocínio por trás disso?
    • Uma das coisas que isso mostra é interesse e investimento na comunidade Linux e como isso afeta o trabalho diário de um administrador de sistemas. Isso mostra que essa pessoa é informada sobre como o campo está evoluindo e está (potencialmente) disposta a mudar com ele.
  2. Se eu queria instalar o Apache em um servidor remoto, qual é a melhor maneira de fazer isso? E se eu quisesse fazer a mesma coisa em 100 servidores? E se metade deles for RHEL e metade for Debian?
    • Mostra familiaridade com o uso de software de terceiros para resolver problemas práticos; familiaridade com o aproveitamento dos utilitários de gerenciamento de configuração.
  3. Que considerações entram em jogo ao projetar um aplicativo altamente disponível, tanto no nível da arquitetura quanto no nível do aplicativo?
    • Mostra que essa pessoa pode considerar um problema geral. Mostra que eles entendem como o balanceamento de carga funciona, aplicativos sem estado, talvez exiba algum conhecimento sobre opções e módulos de configuração comuns do Apache usados ​​para aplicativos multithread e otimização de desempenho no nível do servidor individual.
  4. Quais são algumas diferenças entre um microkernel e um kernel monolítico? O que é vantajoso que o Linux seja um kernel monolítico?
    • Mostra familiaridade com o sistema Linux em um nível mais profundo do que o espaço do usuário.
  5. Se eu digitar "www.google.com" em pelo navegador e pressionar enter, o que acontece a partir do momento em que minha chave chega ao tempo em que a página é renderizada em meu navegador?
    • Mesmo que a posição não seja para um engenheiro de rede, espero que as pessoas possam pensar fora do microcosmo. Isso envolve muitos fundamentos de rede e seu significado para sistemas individuais e pequenas redes em termos de como eles se encaixam em sistemas maiores. Isso pode abordar caches de DNS do navegador / SO local, como o ARP funciona, como as tabelas de rotas funcionam, o que é uma consulta DNS recursiva, o significado do BGP / OSPF e o papel que eles desempenham em redes maiores, o handshake SSL e a criptografia em geral, TCP conexões e montes de outros pequenos petiscos úteis para aprofundar.

Estes são apenas alguns exemplos imediatos, mas acho que, em geral, um administrador sênior deve estar familiarizado com conceitos gerais e não com as coisas pelas quais você pode apenas procurar no Google.

ChudMunson
fonte