Enseñar fizzbuzz pierde el punto completo, ¡como en realidad usarlo en una entrevista!
El “meme fizzbuzz” apareció en una publicación de blog sobre cuántos de los solicitantes a un puesto de programación no podían programar en absoluto . Fizzbuzz fue solo una tarea que el autor eligió que es tan simple que cualquier programador debería poder implementarla solo desde una descripción. No hay “truco” a menos que consideres que la aritmética modular es un truco¹, es solo un bucle sencillo. A menos que todo lo que haya hecho en los últimos años sea puramente teórico², debería poder programar fizzbuzz sin saberlo con anticipación.
Dado que muchas personas no podían manejar eso, la conclusión fue que las personas se postulan para puestos de programación sin preparación y que debería hacerse una prueba de programación ligera para eliminarlos antes de llegar a las entrevistas técnicas que llevan mucho tiempo.
- ¿Qué cursos de CS debo completar antes de intentar la investigación de pregrado?
- ¿Cómo puede la investigación de CS, como la investigación de visión por computadora, contribuir a las áreas de astronomía?
- ¿Cómo es el Vietnam Journal of Computer Science en términos de reputación, tasa de aceptación y calidad de los documentos aceptados?
- ¿Cuáles son las limitaciones prácticas de la visión por computadora móvil?
- ¿Un buen perfil en programación competitiva ayuda a obtener la admisión en los mejores programas de MS / Phd en las mejores universidades de EE. UU. Para Algoritmos / CS / Sistemas Teóricos? En caso afirmativo, ¿qué universidades específicas fomentan tales aplicaciones?
Si aprendió sobre fizzbuzz con anticipación y lo regurgitó en una entrevista de programación, no necesariamente sabe cómo programar. Eres un falso positivo en la prueba.
Pruebas como esta son como contraseñas: si todos hablan de una contraseña específica, no debes usarla. XKCD, por ejemplo, aboga por frases de contraseña como ‘la grapa correcta de la batería del caballo’. Usar una frase de contraseña es una gran idea; El uso literal de la “grapa correcta de la batería del caballo” es una idea terrible porque todo el mundo habla de ello. Si les estamos enseñando a las personas a estar seguras, debemos enseñarles a crear frases de contraseña buenas y memorables. No deberíamos enseñarles a usar la “grapa de batería de caballo correcta”.
Lo mismo ocurre con fizzbuzz. Deberíamos enseñar a las personas a programar , no cómo resolver pruebas de programación triviales específicas. Del mismo modo, si desea excluir a las personas que no saben programar, presente alguna otra tarea simple: ¡no use fizzbuzz!
La caricatura de XKCD sobre frases de contraseña. XKCD es de Randall Munroe y los cómics se publican bajo una licencia CC BY-NC que puede o no ser kosher en Quora. No sé porque no comercial es un requisito mucho más complicado de lo que parece; Recomiendo usar “compartir igual” (CC-BY-SA) en lugar de “no comercial” por este motivo (entre otros).
notas al pie
¹ Supongo que no todos saben qué es la aritmética modular o cómo usarla en su lenguaje de programación (a menudo un operador %
). ¿Pero eso probablemente no sea demasiado esperar de alguien que solicita un puesto de programación?
² No quiere decir que los estudiantes teóricos de CS no puedan programar, simplemente no tienen que hacerlo. Todos los que conozco no tendrían problemas con fizzbuzz. ¡Los productivos probablemente incluso puedan hacerlo en TeX!