O que é 'FizzBuzz' para administradores de sistema? [fechadas]

12

O FizzBuzz é um teste simples da capacidade de programação, frequentemente usado pelos empregadores para eliminar pessoas que na verdade não conseguem programar. Existe um teste equivalente para administradores de sistema e profissionais de TI em geral?

Esclarecimentos Estou procurando coisas que possam ser testadas em um ambiente de entrevista com alguma precisão. Obviamente, isso não vai determinar claramente a pessoa certa, assim como o FizzBuzz não determina para os programadores. Estou apenas procurando eliminar pessoas que pensam que podem trabalhar como administrador de sistemas / pessoa de TI porque podem navegar na web.

baudtack
fonte
Se você pode receber seu e-mail, provavelmente estará seguro.
The Unix Janitor
1
@ user37899: você não quer dizer que, se ele ou ela pode receber seu e-mail, você provavelmente está seguro?
Bart Silverstrim
Então ... Devemos contratar alguém na rua e, se ainda podemos receber nosso e-mail, contratamos claramente o cara certo?
baudtack
Bem, para alguém que está executando uma boa quantidade de scripts, o FizzBuzz também não é ruim para os administradores.
Kyle Brandt
2
Não deveria ser este Wiki da comunidade? Existe uma resposta para esta pergunta?
Richard Holloway

Respostas:

11

Eu não acho que você venha com um único teste como este para administradores, porque a definição de administrador (para fins deste site) é muito ampla. O teste do FizzBuzz pode ser implementado em qualquer linguagem de programação, portanto, não importa se você está contratando um desenvolvedor PHP ou alguém com C. incorporado.

No lado administrativo, você pode contratar um administrador de rede, administrador de armazenamento, administrador de servidor (dividido em Windows, Linux, * nix, mainframe), administradores de desktop / suporte, service desk ou até mesmo administradores de aplicativos específicos (Exchange, Lotus, SAP etc).

Claro, uma área em que você pode tocar é TCP / IP e CIDR, pois a comunicação em rede é uma habilidade fundamental da maioria das posições, mas mesmo isso pode não ser necessário para poções de nível de entrada (ao contrário do FizzBuzz para desenvolvedores).

Pessoalmente, prefiro usar cenários abertos para ver o processo de solução de problemas de um candidato e quão bem ele pode analisar uma nova situação. Uma extensão ainda melhor disso é fazer com que o candidato trabalhe diretamente com um cliente interno em um problema real. Você não apenas vê o que está acima em ação, mas também vê a atitude de atendimento ao cliente.

Doug Luxem
fonte
+1 Bons pontos. A entrevista e a metodologia devem ser tomadas no contexto da posição solicitada.
John Gardeniers 18/03/10
2
+1 de mim também. Sysadmin é uma descrição de cargo extraordinariamente ampla. Se você precisar de um administrador unix, faça-o construir um pacote ou instalar alguns patches. Se você precisar de um administrador do Windows, adicione-o ao domínio ou configure o DNS ou o DHCP. Se você estiver procurando por alguém da área de trabalho, faça perguntas estúpidas até que uma pessoa normal se encaixe.
23610 Satanicpuppy
Pela descrição, o fizzbuzz para administradores seria um teste do processo de solução de problemas, não? Isso é algo que todas essas subcategorias têm em comum, eu acho.
Bart Silverstrim
@Satanicpuppy ... a pergunta é: as pessoas normais se inscrevem para um trabalho de suporte de desktop?
Bart Silverstrim
1
@ Silverstrim Bart Todas as coisas são para o melhor neste melhor de todos os mundos possíveis.
23610 Satanicpuppy
7

Eu acho que você verá que o FizzBuzz é muito raramente usado e, em seguida, apenas por entrevistadores muito pobres com conhecimento mínimo dos princípios de programação. Qualquer método de teste comum como esse é completamente derrotado porque as soluções são amplamente divulgadas e memorizadas por quem se considera qualificado para uma entrevista. Qualquer teste desse tipo para um administrador de sistema seria igualmente inútil.

Perguntas de teste padronizadas são e sempre foram inúteis. Não menos em uma entrevista de emprego do que ter as mesmas perguntas todos os anos em um exame escolar. Eles trabalham apenas uma vez.

O que você precisa é que o entrevistador seja qualificado e tenha a capacidade de "ler" as pessoas. Há mais a aprender sobre como um candidato responde a perguntas do que sobre as próprias respostas. Não há atalhos. Pelo menos nenhum valor.

John Gardeniers
fonte
3
O FizzBuzz obviamente não vai eliminar todas as pessoas que não podem programar. Não deveria. Deveria eliminar aqueles que acham que a programação parece um trabalho divertido, mas nunca escreveram uma linha de código. Será bastante óbvio se alguém apenas regurgitar algo que lê on-line sem entender. Eu estava usando principalmente o FizzBuzz como exemplo, não sugerindo que quem passasse por ele pudesse programar.
baudtack
2
Não posso dizer o suficiente como esta resposta está correta.
Jim B.
2
Eu devo discordar. Eu dei o FizzBuzz como uma questão de programação de entrevistas para muitos candidatos, e frequentemente fico chocado com o número de candidatos que o enfrentam ou falham completamente. Qualquer pessoa que não consiga passar no FizzBuzz é rejeitada rapidamente. Aqueles que passam no FizzBuzz são submetidos a uma avaliação mais rigorosa. O FizzBuzz é uma excelente ferramenta para eliminar alguns programadores incompetentes.
abelenky
2
O FizzBuzz não é sobre programação. Não se trata de ser um programador competente. É sobre processo de pensamento. Os administradores de sistemas também precisam dessa qualidade, descobrindo como resolver um problema. O Fizzbuzz é basicamente apresentar um algoritmo / solução para uma matemática relativamente simples e traduzi-lo para o formato solicitado (já que os blogs que li sobre ele disseram que colocá-lo no pseudocódigo era muito difícil para muitos candidatos). Pode-se argumentar que o FizzBuzz é aplicável a qualquer trabalho que exija pensamento lógico e metódico. Só não a única qualificação, o que não era de qualquer maneira :-)
Bart Silverstrim
1
@ John Gardeniers: Eu concordo. Estou decepcionado que esses candidatos cheguem à fase de entrevistas. Mas o fato é que as pessoas mentem em currículos, os recrutadores deturpam seus candidatos e a equipe de RH, sem conhecimento técnico, frequentemente realiza entrevistas. Cabe a programadores como eu tentar manter um padrão mínimo para candidatos e funcionários.
abelenky
4

Ainda acho que o antigo "como faço para excluir com segurança e portabilidade um arquivo chamado 'dash-eff-arr' (-fr)?" ser um bom indicador de quão bem alguém se sairá para perguntas mais avançadas. Eu o recomendo rotineiramente como uma pergunta de triagem.

As pessoas que se debatem com sugestões sobre globbing, citações e escapadas são, na minha opinião, potencialmente perigosas na raiz de um sistema de produção. Aqueles que sugerem alegremente rm -- -frsão apenas um pouco melhores. Aqueles que demonstram um entendimento real de como o shell analisa uma linha de comando ... sobre a diferença entre o que o shell analisou e o que um comando (como rm) recebido em seu vetor de argumento geralmente tem um entendimento muito bom de outros materiais de administração de sistemas como bem.

Uma pergunta muito mais interessante e envolvida:

Given a tape backup, a boot/root or rescue disc of your choice, and
a system with a freshly replace, blank, hard drive ... how would you get
that system back into production?  What other information do you need
before you can proceed?

(I normalmente irá fornecer um determinado tarcomando e uma data como o rótulo sobre o caso da fita; e imprimir com o fdisk -le df -ksaída; e eu geralmente lhes permita mudar a tarqualquer semelhante cpio, afioou até mesmo paxcomando; os detalhes do arquivamento utilidade não são o foco da minha pergunta).

Esta pergunta não é adequada para triagem ... o entrevistador precisa ter um entendimento sólido da resposta e deve poder verificar cerca de dez etapas do processo. Estou muito perdoando de questões seqüência menores, especialmente se as capturas respondentes los --- por exemplo perceber que ele ou ela teria que correr fdiskantes que a série de mkfse mountcomandos.

Eu diria que este é, em espírito, o mais próximo de um cenário de efervescência.

Outro favorito:

You have just been given responsibility for a departmental server running Linux.
The former admin has been "hit by a bus" and no one knows the root password for
this system.  How do you proceed?

Este pretende ser um diálogo. No núcleo, quero que eles demonstrem um entendimento de como inicializar um sistema no modo de usuário único e forçar uma alteração de senha e como inicializar a partir de um disco de recuperação e realizar a mesma tarefa. (Então eu revelo, por turnos, que o sistema está configurado sulogine que há uma senha do gerenciador de inicialização (GRUB ou LILO) para impedir uma fácil init=/bin/sh). Essa é a parte puramente técnica da resposta desejada.

No entanto, geralmente eu também me preocupo com as considerações mais amplas que eles devem levantar. Eles perguntam se alguém tem sudoacesso suficiente à tarefa? Como eles antecipam a organização da interrupção do serviço? Eles perguntam sobre a possibilidade de o ex-administrador ser hostil ou de o sistema ter sido comprometido? Eles oferecem algumas opiniões ou fazem sugestões sobre como as senhas devem ser guardadas pela gerência?

Jim Dennis
fonte
3
A recuperação de senha é inútil como um teste de administrador. Você realmente precisa apresentar um problema que não pode ser facilmente resolvido por qualquer aluno da escola com acesso à Internet. Além disso, uma demonstração de técnicas de hacking de forma alguma indica que o candidato possui habilidades administrativas válidas.
John Gardeniers 18/03/10
@ John Gardeniers: A recuperação de senha não é realmente uma "demonstração de hackers". Mas vamos reverter essa crítica e perguntar: você consideraria alguém que NÃO sabia como forçar uma alteração na senha do sistema um administrador de sistema UNIX / Linux verdadeiramente qualificado? Lembre-se de que o processo de forçar uma alteração de senha raiz é quase idêntico ao que seria usado para solucionar vários problemas de configuração de inicialização (principalmente ao usar um disco de recuperação ou inicialização de rede).
Jim Dennis
3
Eu sou realmente um administrador do Windows, por isso não posso comentar muito sobre os princípios a que você se refere, apenas tendo precisado recuperar senhas no Windows e no Mac, mas definitivamente contrataria alguém que não sabe recuperar senhas - contanto que eu saiba que eles sabem aprender a fazê-lo se / quando necessário. Essa é a única habilidade que quero mais do que qualquer outra coisa, a capacidade de encontrar as respostas.
John Gardeniers 19/03/10
1
Considerando a quantidade de trabalho do administrador de sistemas em que me dependo, é preciso pesquisar on-line e fazer "rede" com outros administradores ... questiono qualquer coisa que julgue possíveis administradores com trivialidades no local, principalmente porque as técnicas mudam com o tempo (fsck a dirigir com um "toque" de um nome de arquivo específico na inicialização funciona para o Ubuntu ... mas para todos os sistemas Linux? Que tal apenas inicializar a partir de um disco e verificá-lo lá? Ou diferenças no manuseio da montagem do sistema de arquivos nas versões Linux? resolução de problemas consiste em encontrar respostas ao invés de conhecê-los, ao que parece).
Bart Silverstrim
@ John e Bart: os princípios básicos de como "resgatar" um sistema Linux foram consistentes em sua história. Alguns detalhes foram alterados por boas razões. Muitos deles também se aplicam a outras formas de UNIX (em sistemas muito antigos, você carregou um ambiente de "mini raiz" na instalação do sistema ou na fita IPL; semelhante à execução a partir de um disco RAM atualmente). Se eu estivesse entrevistando para um nível de entrada ou estágio, ficaria feliz em fornecer um laptop / navegador e pedir que ele ou ela procurasse as respostas ali. (Normalmente, apenas me pedem entrevistas técnicas para candidatos muito seniores).
Jim Dennis
3

Não posso pensar em nada formalmente utilizável, mas aqui estão algumas dicas mais gerais.

Pergunte a eles sobre backups. Se eles não disserem algo como "o objetivo do backup é restaurar", você não os desejará.

Você precisa ter uma idéia de como eles reagem quando Sh-t conhece Fan e decide ter um belo relacionamento. Fingir uma situação de emergência durante a entrevista e ver se eles lidam com isso de uma maneira sensata ou se andam em círculos como se estivessem pegando fogo.

Você precisa eliminar os evangelistas de tecnologia. Essas pessoas nunca são boas de ter a bordo, pois sempre desejam usar sua tecnologia favorita, independentemente de ser adequada ou não. Algumas perguntas importantes devem levá-lo até lá.

Você também precisa eliminar os tipos de "torre de marfim". Um administrador de sistema sempre deve estar preparado para arregaçar as mangas e sujar as mãos, quando necessário. Essa situação de emergência falsa pode ajudar aqui.

Maximus Minimus
fonte
2

Peça que expliquem o que significa 10.13.216.41/18. A resposta não precisa ser bastante conforme detalhado como este, mas qualquer administrador de sistema deve ser capaz de explicar endereços, redes, máscaras.

Ala - Restabelecer Monica
fonte
IMO quem usa um computador deveria, mas isso não vai acontecer tão cedo
carteiro
2
@PostMan: Compreender o CIDR está muito além do necessário para o usuário médio do computador.
quer
@PostMan - é como dizer que qualquer pessoa que voe em um avião deve entender os algoritmos de controle de tráfego aéreo para direcionar pousos. Os administradores de sistemas existem porque as ferramentas que não são utilizáveis ​​pelos ignorantes acabam no lixo.
sh-beta
2

Peça a eles para criar uma árvore de solução de problemas para SSL. Atualmente, a maioria dos novos sistemas de TI depende de servidores da Web, e o SSL depende de várias tecnologias. Comece com 'Um usuário reclama que o site diz que o certificado de segurança é inválido' e peça que ele comece a listar as coisas a serem procuradas.

O que você deseja procurar são três coisas:

  • coleta de informações, culminando na reprodução do problema
  • Procedimento experimental; mudar uma coisa e apenas uma coisa e comparar resultados
  • compreensão dos mecanismos de segurança SSL e das tecnologias subjacentes; DNS, configuração do servidor web e até mesmo configuração do navegador

Pontos de bônus se você puder realmente obter uma descrição vaga inicial do problema do rastreador de problemas existente. Encontrar a causa raiz de um problema pode ser difícil; como Torvalds diz :

Alguém encontra o problema e alguém o entende. E vou dizer que achar que é o maior desafio.

jldugger
fonte
Não dei o voto negativo (eu odeio quando as pessoas votam negativamente, mas não deixam um motivo para que as respostas possam ser melhoradas) ... mas tínhamos apenas um relatório de usuário que elas não conseguiam acessar a página inicial. A tecnologia entra no local. O computador não liga. "Página inicial" significava tela de login, aparentemente.
Bart Silverstrim
Bom ponto. Vou esclarecer um pouco a última frase.
jldugger
1

Depois de entrevistar algumas pessoas para funções em nosso lugar nos últimos anos, eu diria que um teste técnico envolvendo algumas perguntas semelhantes ao MCP funciona muito bem para um exame em papel. O restante (como abordagem e solução de problemas) é melhor descoberto por meio de uma entrevista individual e de uma discussão técnica.

Eu criei alguns testes para pessoas que pareciam estar na bola e têm todos os pedaços de papel certos apenas para ter a recepcionista de que estavam chorando fazendo o teste! Portanto, embora os certificados sejam um bom indicador, você não pode confiar totalmente neles.

user32285
fonte
1

Um administrador do sistema deve poder fornecer instruções passo a passo detalhadas para configurar a rede em pelo menos um sistema operacional comum e deve poder fazer isso sem ver ou tocar em um computador.


@ Ben, dar-lhes um computador derrota o ponto do teste. Eu acho que configurar a rede é uma habilidade muito básica que todo administrador de sistemas deveria ter comprometido com a memória.

Ao longo dos anos, provavelmente recebi uma dúzia de chamadas em que outra pessoa havia ajudado um dos usuários de meu laptop a definir um endereço estático ou proxy, para que funcionasse em uma rede estrangeira. Quando eles se mudaram para outra rede, eles me ligaram perguntando o que precisavam para consertar o computador. Essas chamadas sempre parecem acontecer quando eu não estou na frente de um computador, e o chamador geralmente tem influência política suficiente para que seja necessária ajuda imediata. Não estou dizendo que você precisa conhecer todos os detalhes, como o nome exato dos itens de menu, mas acho que você deve conseguir orientar alguém na solução de problemas e corrigir as configurações de rede nos computadores sem estar na frente do computador.

Zoredache
fonte
Em uma nota semelhante. Se você pedir para configurar algo comum (como rede), eles não deverão ler cada tela. As telas devem ser familiares o suficiente para que elas simplesmente saibam onde clicar na próxima tela deslizando sobre as telas.
Chris S
2
Vou ter que discordar deste. Na minha opinião, perguntar a alguém como fazer algo da memória é simplesmente cruel. Eu com certeza não memorizo ​​todos os aspectos do Windows (e é ainda pior desde que o Vista / 7 mudou totalmente muitas coisas importantes) e não esperava que os candidatos soubessem disso de cor também. xkcd.com/627 você não sabe! Pessoalmente, eu daria a eles um laptop e pedia que fizessem e tentassem avaliar isso.
Ben Pilbrow 18/03/10
@ Ben, atualizado para abordar o seu ponto. Tenho várias ocasiões em que tive que fornecer esse nível de ajuda aos meus usuários. Eu acredito que um administrador de sistemas deve conhecer melhor a configuração básica da rede do que as costas da mão.
Zoredache
@ Zoredache: não é tão simples assim, na minha opinião, já que às vezes muda radicalmente. Eles devem ser capazes de aprender e navegar, mas, ao mesmo tempo, não funcionaria necessariamente em todos os nossos sistemas (exemplo: o utilitário sem fio da dell gosta de roubar o gerenciamento de rede do Windows em nossos notebooks XP). Uma nova tecnologia seria perdida se eles não estivessem familiarizados com isso, mas isso não os torna incompetentes. Prefiro ter alguém que goste de aprender e se adaptar a esses problemas, em vez de memorizar a pessoa que está com os pontos marcados.
Bart Silverstrim
@ Ben & Bart: Você está perdendo o ponto. Eles não precisam ser 100% precisos. Mas eles deveriam saber como se fosse o trabalho deles . As perguntas devem ser baseadas em uma tarefa simples para esse trabalho específico. Se você tiver que dar desculpas para a pessoa antes mesmo de contratá-la, é hora de encontrar outra pessoa.
Chris S
-1

É uma pergunta simples: ao executar suas tarefas de administrador de sistema, você usa a linha de comando ou o mouse.

Se eles dissessem mouse, eu mostraria a porta.

O zelador do Unix
fonte
Ambos. O mouse é usado principalmente para alternar de uma janela para outra e operar meu navegador (mesmo que eu esteja me acostumando lentamente ao Vimperator for Firefox). No meu sistema de trabalho, padronizei o Terminal.app de 132x52 (laptop Mac OS X ... geralmente usando o modo de monitor duplo no escritório). Eu normalmente tenho 4 ou 5 janelas desse termo ... todas ssh'd na minha área de trabalho e compartilhando uma screensessão GNU persistente para vários usuários , que em média 20 shells mantêm o estado em várias conexões com outros sistemas, IRC, etc.
Jim Dennis
6
Não gosto dessa resposta. Existem muitas situações e soluções perfeitamente endereçáveis ​​através do mouse - e muitas que não podem ser tratadas sem uma. Também gosto da CLI, mas não há necessidade de ser esnobe.
quux
Eu acho que isso é um pouco franco e estreito, mas é verdade que um número chocante de profissionais de TI - mesmo pessoas na casa dos trinta - professam uma aversão declarada ao usar a linha de comando, com a conseqüência de que são completamente incapazes de automatizando qualquer coisa sem algum tipo de solução pré-empacotada. Essas pessoas realmente não merecem ser mostrada a porta, a menos que eles estão sendo contratados para um beco sem saída.
Skyhawk