Estructuras de datos, algoritmos y construcciones de código que necesitarás para una entrevista de software.

Si pronto tienes una entrevista o sesión de programación en vivo, aquí hay algunas herramientas básicas que todo programador debe tener en su arsenal a la hora de una entrevista que involucre programación en vivo:

Estructuras de Datos y Tipos de Dato Abstractos

  • Array (Arreglos)
  • Linked Lists: Sencillos y Dobles
  • El ADT ‘List’ (Listas)
  • Árboles: Binarios y BSTs
  • El ADT ‘Set’ (Conjunto)
  • Tries
  • Heaps
  • Los ADT Stack, Queue y Priority Queue
  • Grafos: dirigidos, no dirigidos, diferentes representaciones y sus ventajas
  • Hashtables: estrategias de resolución de colisiones, funciones hash y sus ventajas
  • El ADT ‘Map’
  • Algoritmos

Búsqueda Binaria

  • Algoritmos de Ordenado: Selection Sort, Insertion Sort, Bubble Sort, Quicksort, Mergesort, Heapsort
  • Algoritmos de Busqueda: Depth-first search, Breadth-first search, Dijkstra’s
  • Recorrer Arboles: pre-order, post-order, in-order, level-order (BFS)
  • Tecnicas Algoritmicas: Brute force, Divide and conquer (e.g. Mergesort), Greedy, Dynamic Programming (avanzado)
  • Problemas NP-hard

Elementos Basicos de Programacion en JAVA

  • Los básicos, por supuesto (bucles, condicionales, funciones, etc)
  • Entrada y Salida: desde archivos y desde la línea de comandos
  • Las clases ‘String’ y ‘Character’
  • Convertir entre tipos de datos
  • Diseno orientado a objetos: Herencia y Polimorfismo, Clases y Objetos, static and non static, modificadores de acceso (public, private, protected)
  • La librería java.util (y sus clases contenedoras)
  • El patrón del ‘Iterador’ (intermedio)
  • Generación y manejo de excepciones
  • Programación dirigida por eventos
  • Clases internas y anónimas.
  • Expresiones Lambda(avanzado)

Preguntas comunes en entrevistas de programacion.

  • Diseno orientado a objetos, usando cualquier estructura de datos.
  • Manipulación a nivel de bit para representar enteros.
  • Acertijos de Teoría de Juegos: «muddy children», volcano eruptions.
  • Estimar límites: «Cuántos pollos hay en Chicago?»

Recursos online para prepararnos.

  • HackerRank. Un website con infinidad de retos de programación y algoritmos.
  • PRAMP. Un website que ofrece entrevistas de programación de prueba. Gratis!

Publicado por

sansagara

Software and Data Engineer. Tech Passionate. Open Source Advocate.

3 comentarios sobre “Estructuras de datos, algoritmos y construcciones de código que necesitarás para una entrevista de software.”

  1. No obstante los diseñadores web se dieron cuenta rápidamente del potencial
    del uso de las tablas de HTML para crear los
    complejos diseños de varias columnas que no era posible de otra forma.
    Ahora, como el diseño y la buena estética parecían prevalecer sobre buena estructura y el
    SEO se prestó poca atención a la semántica y accesibilidad Web.

  2. I have been surfing online more than 3 hours today, yet I never found any
    interesting article like yours.
    Personally, if all site owners and bloggers made good content as you did, the web will be a lot more
    useful than ever before.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *