Exercício de codificação para Linux Systems Admin?

4

Estou me preparando para um papel de administrador de sistemas (linux) para uma grande empresa (as 10 maiores empresas) e um dos requisitos é o conhecimento de uma linguagem como perl, python ou Ruby. Eu tenho uma entrevista por telefone que envolve o compartilhamento de um editor com o entrevistador, agora que tipo de exercício de codificação eu posso esperar em uma entrevista por telefone ou uma entrevista regular?

Eu usei shell para a maioria das minhas tarefas do dia-a-dia e, ocasionalmente, Perl e python para tarefas maiores. Agora eu não espero que eles perguntem

Write a script that syncs AD users to LDAP.

Eu não acho que estruturas de dados, algoritmos ou questões de classificação se aplicam a mim? Você pode me dar algum exemplo de questões de codificação relacionadas ao SysAdmin?

    
por Prashanth Sundaram 11.01.2011 / 03:32

4 respostas

8

I don't think data structures, algorithms or sorting questions apply to me role?

Por que você não acha isso? Mabe não saber as diferenças entre O (n) e O (1) e O (log n), mas escrever código bom - e os scripts são códigos - definitivamente precisa de um entendimento básico dessas três coisas.

Quando eu entrevistei para meu trabalho atual , perguntaram-me pelo menos os quesiotns abaixo (eu posso ter esquecido alguns) Eu fui autorizado a usar a linguagem da minha escolha.

  • FizzBuzz
  • Dando quatro pontos e uma coordenada determina se a coordenada está dentro ou fora do quadrado / retângulo
  • Dando uma lista de nomes e pontuações de teste, como você descobriria quem obteve a pontuação mais alta e a média. O teste pode ser repetido para que possa haver mais de uma entrada por nome, contando apenas sua pontuação mais alta. Como você encontraria a pontuação mais alta para um aluno em particular?

Algumas coisas específicas do sysadmin:

  • Como você pesquisaria um arquivo de log de 100 GB para entradas correspondentes a $ Pattern?
  • Dada uma lista de 1000 pessoas contendo: Nome, Sobrenome, Departamento e número de telefone, como você adicionaria essas pessoas a servidores Dirctory ou $ 10 * nix sem um sistema de autenticação central?
  • Como você correlacionaria um evento de erro com registros relacionados em três arquivos de log diferentes?
  • Como você converteria um arquivo de log em um banco de dados MySQL com Estrutura dada a você ? Como você mudaria a estrutura do banco de dados?
por 11.01.2011 / 03:55
4

Eu não gosto de entrevistas para se sentir como exames. Deve ser mais uma questão de descobrir se a pessoa é, em geral, uma boa opção para o cargo e para a organização, e não tanto para colocar o entrevistado no local. Agora, com certeza, um bom administrador de sistema tem que ser capaz de criar um script útil sob pressão, mas não é o mesmo tipo de pressão.

Portanto, em vez de fazer uma série de perguntas, eu estaria mais inclinado a conversar um pouco sobre como criar scripts de preferências de idioma, cultura e assim por diante. (Isso deve ser particularmente eficaz para Python, Perl ou Ruby!) Geralmente, isso deve ser suficiente para ter uma idéia do engajamento do entrevistado com o idioma ou idiomas de escolha, o que é mais importante que o capacidade de responder a alguma pergunta inteligente cuidadosamente selecionada ali mesmo no papel.

Você sempre pode solicitar que os scripts de exemplo sejam enviados por e-mail após a entrevista. (E então você pode Google bits do código para ver se é plagiado ....)

    
por 11.01.2011 / 06:00
1

Na minha experiência, questões de sysadmin em entrevistas tendem a ser freqüentemente baseadas no processamento de arquivos. Por exemplo, "pegar este arquivo de log e extrair os endereços IP únicos, juntamente com uma contagem de cada" é algo que me foi perguntado em uma entrevista há pouco tempo.

O teste FizzBuzz continua sendo uma das questões favoritas de programação.

    
por 11.01.2011 / 05:04
1

Outras pessoas forneceram alguns ótimos exemplos de exercícios que você pode encontrar, então deixarei isso como tratado. Eu quero mencionar, porém, que tão importante quanto obter o código em execução é torná-lo sustentável - isso é talvez mais importante em sysadmin-land do que em qualquer outro lugar, já que somos o tipo de pessoas que tendem a escrever um script e depois esquecer sobre isso há anos, até que algo o quebra, ao contrário dos desenvolvedores de aplicativos que passam muito tempo em contato próximo com sua base de código e podem se acostumar com suas idiossincrasias. Eu contratei para posições de sysadmin, e essa clareza é algo que eu procuro nas amostras de código.

Nomes de variáveis inteligentes seguindo um esquema de nomenclatura consistente; comentário suficiente; separando configuração de código (muitos de meus colegas de programação em perl têm o péssimo hábito de armazenar sua configuração de script em grandes escalares de strings inline delimitados por vírgula, um erro de digitação que transforma o que deveria ter sido um aviso em um dado bagunçado ); Eu sinceramente recomendo 'Perl Best Practices' de Damian Conway como referência nesta área. Espero que ajude; boa sorte com sua entrevista!

    
por 22.01.2011 / 07:03

Tags