FizzBuzz 2.0: Perguntas pragmáticas para programadores



No ano passado, mais de 100.000 programadores completaram o questionário Triplebyte. As estatísticas abaixo mostram que cinco perguntas de múltipla escolha distinguem facilmente os engenheiros de software reais das demais (as perguntas são selecionadas pelo aprendizado de máquina com base nos programadores pré-marcados “bem-sucedidos” e “mal-sucedidos” - aprox. Por.)

Como o infame teste Fizz Buzzdez anos atrás, essas perguntas são triviais para qualquer pessoa que esteja profissionalmente envolvida no desenvolvimento de software, mas que geralmente confunda qualquer outra pessoa. As perguntas abaixo são as cinco primeiras em nosso teste e 98% dos engenheiros de sucesso respondem corretamente a pelo menos quatro em cada cinco. Tenho certeza de que, se você é um engenheiro-gerente que conduz uma entrevista, não começará a fazer uma oferta a ninguém abaixo deste nível.

resultados


Antes de examinar as perguntas, eis os dados sobre o sucesso dos engenheiros com base no número de respostas corretas:



Chamamos um programador "bem-sucedido" que recebeu pelo menos uma oferta para trabalhar em uma empresa que corresponde às suas preferências pessoais. Estatísticas normalizadas para o grupo 5/5. Juntos, o grupo de engenheiros que respondeu corretamente a 4 ou 5 perguntas representa 98% de todos os usuários bem-sucedidos da nossa plataforma. Por outro lado, 3/5 ou menos indica uma falha quase certa.

Questões


Aqui estão as cinco primeiras perguntas do questionário "universal" mais popular. Se você realizar um de nossos testes especializados para ML, Data Science, DevOps, Front-End, iOS ou Android, haverá outras perguntas, mas o princípio é o mesmo.

Questão 1


Qual instrução SQL recupera dados de uma tabela?

Escolha a resposta correta:

○ PESQUISA
○ LER
○ BUSCAR
○ SELECIONAR

Esta pergunta basicamente pergunta: "Você já viu uma consulta SQL antes?" 80% responderam corretamente .

Questão 2


Adicione a linha de código que falta.



Escolha a resposta correta:

max_num += num
max_num += 1
num = max_num
max_num = num

Lógica imperativa básica. Respondeu corretamente 76% .

Se você está preocupado com o que estamos perguntando na sintaxe do Python, esse é apenas um pseudocódigo conveniente para este exemplo, e qualquer programador pode escolher a resposta certa, mesmo que nunca tenha visto o Python.

Questão 3


Por que o cache é usado para melhorar o desempenho da leitura?

Escolha a resposta correta:

○ Acelera a segunda e as leituras subsequentes
○ Acelera as leituras pares
○ Acelera as leituras ímpares
○ Acelera a primeira leitura

O cache surge em tantos contextos que é basicamente um conceito universal de ciência da computação e incrivelmente prático no desenvolvimento de software cotidiano. 89% responderam corretamente . Uau! A pergunta mais simples de cinco.

Pergunta 4


Qual das opções a seguir é usada para manter uma sessão conectada quando um usuário exibe várias páginas em um site?

Escolha a resposta correta:

○ Cookies
HTTP ○ HTTP ativo
○ Objetos Javascript globais
○ WebSockets

"Você sabe como os sites funcionam?" 80% responderam corretamente.

Questão 5


Qual é o valor de z depois de executar o código a seguir?



Escolha a resposta correta:

'foo'
'baz'
undefined
'bar'

"Você pode ler o código?" Apresentado aqui na sintaxe JavaScript, o conceito de dicionário / hash / array / mapa associativo é familiar para quem já trabalhou com algo mais avançado que o Basic.

Apenas 62% responderam corretamente . Essa é de longe a mais difícil das cinco perguntas. Pessoalmente, estou muito surpreso que essa pergunta seja mais complicada do que a pergunta nº 2, mas foi obtido um resultado estatisticamente significativo (p <0,001). Se você tem alguma idéia de por que estamos perdendo tantas pessoas, informe-nos.

Dados


Dos mais de 100.000 engenheiros de software que passaram no teste no ano passado, aqui está a distribuição dos resultados reais do questionário:



Surpreendentemente, apenas 42% dos participantes responderam a todas as perguntas corretamente ! Os 67% principais responderam corretamente a pelo menos quatro perguntas (e 67% representam 98% dos usuários bem-sucedidos em nossa plataforma).

O sucesso em cada uma das cinco perguntas não é um fator independente. Se você simplesmente multiplica as probabilidades de perguntas individuais, obtém 27%, mas 42% realmente responde a todas as perguntas. Isso é uma vez e meia mais do que o esperado se cada pergunta fosse uma variável aleatória independente. De fato, um modelo simples, considerando todas as questões como independentes, implica um pico de 4/5, além de mais peso em uma célula 3/5 do que vimos em dados reais:



Avalie-se


Se você respondeu corretamente a pelo menos quatro das cinco perguntas acima sem ajuda, então passou no FizzBuzz 2.0 e provavelmente deve tentar o teste Triplebyte (se o resultado for 3/5 ou menos, é improvável que o ajude em algo )

Depois de passar no teste, você verá seus resultados e poderá criar um perfil que permitirá que as empresas de tecnologia entrem em contato com você quando tiverem oportunidades que correspondam às suas preferências, por exemplo, "tamanho da empresa 500+", "apenas trabalho remoto", "local de trabalho inclusivo" , "Salário mínimo X", "Animais permitidos no escritório", o que seja. O empregador atual está impedido de visualizar seu perfil por padrão.

All Articles