¿Qué tan importante es que sepa cómo implementar algoritmos de clasificación más complejos para entrevistas técnicas?

La combinación de arriba a abajo y la clasificación rápida no son difíciles de implementar (si comprende cómo funcionan) y, en general, se le puede pedir en una entrevista, especialmente si no lo está haciendo bien 🙂 A veces aparecen en los exámenes en cursos de algoritmos. Algunos cursos cubren implementaciones optimizadas, como la combinación de abajo hacia arriba, los casos finales que utilizan el tipo de inserción (con sus propias optimizaciones, como el uso de un centinela), la mediana de tres en la clasificación rápida, etc. Heapsort es más complicado, especialmente la función de tiempo lineal make_heap. Pero no toma muchas líneas de código.

En la práctica, puede ser demasiado obvio preguntarlos directamente; se pueden memorizar, pero si no los conoce, estaría en desventaja. Los algoritmos de clasificación se consideran entre los temas más básicos sobre algoritmos, por lo que debe conocerlos en frío.

Las preguntas sobre material básico se pueden utilizar para establecer puntos en común para otras preguntas centradas en la capacidad de pensamiento crítico. También puede ser importante para usted demostrar la capacidad de optimizar la implementación de un algoritmo, y la clasificación es el mejor contexto para esto.

Me lo imagino. Pero creo que vas por esto de la manera incorrecta. En lugar de aprender un algoritmo de memoria, debe intentar “comprender” el algoritmo.

Averigua el razonamiento detrás de lo que está haciendo algo así como un tipo de fusión. No cómo volver a escribirlo para otra persona. Por ejemplo, ¿por qué dividir la lista de valores? ¿Por qué fusionarlos? ¿Dónde debería ocurrir la división? ¿Cuándo debe comenzar la fusión? Etc.

Si puede “aprender” la mayoría de los algoritmos principales de esa manera (es decir, no cómo escribirlos sino cómo entenderlos y razonar sobre ellos), simplemente se ha permitido escribir casi todos los algoritmos inventados sin siquiera verlos.

Depende de cuán importantes sean estos algoritmos para el trabajo. No recuerdo los algoritmos de clasificación que aparecieron en las entrevistas a las que fui, pero estaba dirigiendo mi búsqueda de trabajo al desarrollo de aplicaciones de bases de datos. Esto no quiere decir que nunca implementé clases en el trabajo. Simplemente no estaban en las entrevistas.

En términos de puestos de desarrollo de aplicaciones, no creo que sea un problema, ya que generalmente usan API para crear efectos, y la clasificación se manejaría por una estructura de recopilación o por una consulta de base de datos. Dejas que la infraestructura lo haga. Es posible que necesite conocer estos algoritmos en términos de seleccionar el método correcto para solicitar la mejor eficiencia (mirando O (n)), pero creo que el campo ha llegado al punto en el que rara vez, si alguna vez, implementa estos algoritmos, porque ya están integrados en lo que estás usando.

More Interesting

¿Es tan difícil encontrar a alguien que te invite a los Estados Unidos o para conseguir un trabajo allí?

¿Qué actor hizo el mejor trabajo al hablar un idioma no nativo para líneas en una película sin fluidez previa?

Cumplo catorce en dos meses. ¿Cuáles son algunos buenos trabajos que podría solicitar con poca o ninguna experiencia?

¿Irías por un trabajo fácil de $ 85000 al año, o un postdoctorado difícil en Upenn (en un campo de vanguardia) que paga $ 60000 a la edad de 40 años?

¿La persistencia paga la solicitud de empleo?

Cómo solicitar una pasantía en BHEL

¿Qué es la administración de datos?

¿Cuáles son algunos de los errores más comunes que cometen las personas en las entrevistas de trabajo? ¿Cómo se pueden evitar estos errores?

Cómo conseguir trabajo en Google si soy bueno en computadoras y no soy italiano

Estoy trabajando en mi inicio (lanzamiento en febrero de 2015) pero también estoy trabajando en un trabajo de día corporativo. Me gustaría contarles a todos sobre esto y comercializar a la compañía como el fundador. Sin embargo, todavía no estoy listo para dejar mi trabajo diario hasta que haya una tracción sólida. ¿Está bien que revele esto sin ser despedido?

¿Es mejor trabajar en un trabajo fácil que le da tiempo libre o en un trabajo difícil y desafiante que ocupa todo su tiempo y energía?

Soy licenciado en derecho de Pakistán, ¿puedo conseguir un buen trabajo en Dubai?

Estoy más fresco, ¿cómo puedo conseguir un trabajo como ingeniero de Hadoop? ¿En qué habilidades tengo que concentrarme?

¿Los trabajos del gobierno son mejores para los graduados de ingeniería civil?

¿Es común poner alguna experiencia laboral falsa en el currículum?