¿Es posible (esperado) que un individuo descubra (nunca lo haya visto antes) el algoritmo si se le pregunta en una entrevista? ¿Qué otros problemas tienen soluciones igualmente interesantes?
Editar: debido a la confusión del algoritmo real al que me refiero, es el algoritmo de búsqueda de ciclo de Floyd , también conocido como algoritmo de tortuga y liebre.
interview
algorithms
picakhu
fuente
fuente
Respuestas:
Bueno, nada es imposible como lo dicen.
Sin embargo, si nunca has oído hablar de Dijkstra o Flloyd, es casi imposible resolverlo en el transcurso de una sola entrevista.
Las personas pasan toda una vida desarrollando un algoritmo único, en caso de que lo pensaran dos veces.
fuente
No, no es. Le tomó años a los mejores matemáticos / informáticos de su tiempo formular esos algoritmos, no va a hacer lo mismo en 2 minutos bajo presión.
Para la segunda parte de tu pregunta ... Bueno, realmente no sé qué consideras interesante aquí. Si sus algoritmos, estructuras de datos y combinación combinan lo que le gusta, simplemente lea "El arte o la programación de computadoras", no hay nada mejor que eso.
fuente
Los entrevistadores pueden hacer una pregunta imposible o sin sentido para ver sus reacciones.
Solo quieren entender su enfoque de los problemas, no necesariamente el conocimiento en sí.
Hay tanta información para retener, que lo importante es la competencia de Google y cómo consumir información de una manguera de bomberos.
fuente
Como dijo @ fanatic23, si nunca ha oído hablar de Dijsktra, es bastante difícil descifrar el algoritmo de Floyd, sin embargo, si ha estudiado algunos gráficos, Floyd es uno de los algoritmos básicos. Si está buscando puestos de trabajo que requieran que tenga algunas habilidades algorítmicas competentes, le recomiendo que lea al menos algunos algoritmos que se consideran importantes al usar gráficos:
Con estos 4 temas, puede navegar a través de cualquier pregunta básica a media en una entrevista.
fuente
Como se trata de una pregunta de entrevista, siempre debe hacerse primero la pregunta más importante:
Obviamente, casi nadie (y ciertamente no un candidato prototípico) podrá realizar un trabajo que llevó a los científicos brillantes años dentro de las limitaciones de tiempo de una entrevista. Entonces eso no es lo que esperan de ti.
¿Qué más podría esperar el empleador?
Es posible que ya conozca el algoritmo. Esto es simple y aburrido. Simplemente puede decirlo y lo más probable es que el tema cambie, porque no hay mucho más que aprender sobre usted (desde el punto de vista del empleador).
Puede que no conozcas el algoritmo. En realidad, este es el estado típico del candidato, y si eso se espera, ¿cuál debería ser el resultado? Considere la perspectiva de la compañía aquí y encontrará que lo más probable es que no sea algo bueno si un candidato no puede decir lo obvio: no conozco este algoritmo. Si comienza a dar oraciones vagas y habla sobre el problema real aquí, entonces dará una mala impresión. Por lo tanto, el propósito principal de hacer una pregunta de este tipo no es esperar que pueda responderla, sino probar su reacción cuando encuentre cosas que no sabe.
Es posible que no conozca el algoritmo, pero ... para volver a la pregunta original anterior: ¿cómo puede mejorar? Es posible que conozca algoritmos similares, así que explique las similitudes que reconoce (por ejemplo, el algoritmo Floyd's Tortoise + Hare utiliza un enfoque similar al Algoritmo de Polard-Rho). Puede tener impresionantes habilidades de lectura / comprensión de códigos, etc. Por supuesto, esta parte es la más difícil, pero de nuevo, solo está disponible si en realidad es mejor que el candidato promedio, lo que por definición lo hace un poco más fácil.
fuente
¿Es posible? Eso depende del algoritmo y del candidato. Yo diría que la gran mayoría de los candidatos tendrían dificultades para hacer este tipo de cosas. (Si estos problemas fueran tan simples, ¿por qué alguien sería famoso por haberlos resuelto?)
¿Se espera? Eso depende de las debilidades del entrevistador y sus expectativas de los candidatos. Diría que si realmente esperan que los candidatos puedan hacer este tipo de cosas en una entrevista , tendrán que entrevistar a muchos candidatos. Es más probable que se haga una pregunta como esta para ver cómo trabaja / piensa el candidato bajo presión.
No voy a responder eso. Más bien voy a decir eso:
La probabilidad de que usted (como candidato) haga esto es pequeña, para un trabajo típico. Sin embargo, si está solicitando un trabajo de TI especializado donde existe un requisito particular para conocer algoritmos específicos, es posible que se le pida que los explique.
No tiene sentido aprender a derivar algoritmos en caso de que se lo pidan. (O "hacer trampa" al conocer el algoritmo de antemano). Si realmente se le pide que haga esto, intente lo mejor que pueda ... sabiendo que es probable que la mayoría de los otros candidatos también tengan dificultades.
Es útil conocer una variedad de algoritmos, o al menos conocerlos , porque pueden resultar útiles en su trabajo. Sin embargo, eso depende mucho del campo de TI en el que trabajará.
fuente