Hace 12 años | Por elamigoinformat... a teknoplof.com
Publicado hace 12 años por elamigoinformatico a teknoplof.com

En las entrevistas de trabajo, te hacen preguntas incómodas a las que tienes que contestar de manera sicológica, te estimulan o te procuran motivar de una manera peculiarmente curiosa, te examinan atentamente con la mirada y, de vez en cuando, te prueban técnicamente. El problema conocido como “Fizz Buzz” es un ejemplo de lo anteriormente comentado. No es más que un método para descartar, de una forma ágil, a un aspirante a programador.

Comentarios

D

For i = 1 To 100
s = ""
If (i Mod 3) = 0 Then s = "Fizz"
If i Mod 5 = 0 Then s = s + "Buzz"
If s = "" Then s = Str(i)
Print s
Next i

natrix

Yo no soy programador y no sé programar en ningún lenguaje, ni sabría hacerlo (en menos de unas horas y con el manual delante).

Pero creo que cualquier programador que busque trabajo debería saberlo.

Vamos, que no me parece una tarea mínimamente complicada.

Si hasta yo, en 2 minutos lo he hecho para excel; solo hay que rellenar la columna A del 1 al 100, copiar esto en B y rellenar hacia abajo.
=SI(Y(RESIDUO(A1;3)=0;RESIDUO(A1;5)=0);"fizzbuzz";SI((RESIDUO(A1;3)=0);"fizz";SI(RESIDUO(A1;5)=0;"buzz";A1)))

D

Vaya tela...

El codigo del que escribe el articulo es una mierda.

Me quedo con el codigo en python.

chulonsky

.
for(var i = 1; i

DisView

#8 #10 Ya os vale poner innecesarios...

D

#12 El código Ruby ese está en la web a la que se enlaza desde el post. Y hay alguno más corto...

D

#16 El enlace que te comenté parece que estaba mal, pero ahora lo han actualizado. El link correcto donde están todos los códigos en diversos lenguajes de programación es: http://www.esesse.info/index.php?db=so&id=437

El código en cuestión es:

1.upto(100)

D

Pues tampoco hay que acabar la ingeniería para saber hacerlo... Con ser un poquito ocurrente hay más que suficiente.

Ahora, si todo lo que has aprendido son métodos y formas automáticas de hacerlo todo sin implicar el pensamiento crítico, la razón y la imaginación, entonces si que es probable que te quedes atascado en el primer if .

D

#8 Te voto positivo, pero hacer document.body.innerHTML+= es tentar a la suerte.

Codigo mas correcto:

var a="";
for(var i = 1; i

D

Este seria el codigo en java:

for(int i=0;i++

D

Sí que es una chorrada, pero quizás si que sirva para separar al que se presenta a programador a ver si cae del que realmente tiene experiencia programando y tiene la cabeza ya cuadriculada, es decir, pensamiento 100% lógico.

D

1 FOR I=1 TO 30: READ A:POKE 53280+I,A:NEXT: SYS 53280
10 DATA 15,145,76,243,0,0,34,99,87,221,98,13,4,56,81,15,145,76,243,0,0,34,99,87,221,98,13,4,56,81

D

#4 ¿¿6510??

mosisom

Vaya gilipollez.

Pones:

int main(void)
">

Y ale, a currar tranquilamente! roll

Observer

En C

int n;
char *fb[]=;

for (n=1;n

Observer

#c-15" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1529103/order/15">#15 #16

Esto:
1.upto(100)"[i%3

D

Es una chorrada pero me pica la curiosidad por esa solución en Ruby de 56 caracteres, alguien la tienen a mano?

D

#c-15" class="content-link" style="color: rgb(227, 86, 20)" data-toggle="popover" data-popover-type="comment" data-popover-url="/tooltip/comment/1529103/order/15">#15 en ruby no vi nada, solo en .net c#

quiero ver esos codigos tan cortos aver

peperojoizquierdo

En Haskell:
fizzBuzz = map (num . mult 5 "Buzz" . mult 3 "Fizz" . \x -> (x,"")) [1..1000]
mult n z (x,y) = (x, if x `mod` n == 0 then y++z else y)
num (x,y) = if null y then show x else y