Concéntrese en las siguientes áreas:
Estructuras de datos: matriz, lista enlazada, pila, cola, tabla hash, BST, mapa (hash vs árbol), conjunto, trie y gráfico. Comprenda el “costo” de varias operaciones como agregar, eliminar, modificar, buscar, ordenar, recorrer, etc. Conocer los pros y los contras de cada estructura de datos y qué tipo de datos son buenos para representar.
Algoritmos : lee tantos algoritmos como puedas. Preste mucha atención a cómo superan las desventajas de las estructuras de datos (si las hay) y explote las ventajas de las estructuras de datos y cualquier atributo especial de datos para encontrar soluciones eficientes.
- ¿Qué empresas ganan dinero solo en una recesión?
- ¿Los fundadores de grandes empresas contratan parientes como guardaespaldas?
- En un sistema de democracia en el lugar de trabajo, ¿sería mejor disolver las grandes empresas en entidades independientes o mantenerlas en una estructura federal para preservar sus cadenas logísticas eficientes a riesgo de un liderazgo concentrado?
- ¿Cuáles son las 13 principales empresas que ofrecen soluciones de inteligencia de mercado de compras?
- ¿Cómo iniciamos una cultura de inicio dentro de una gran empresa?
Matemáticas: ¡ Repasa las matemáticas! Tiene un papel mucho más importante que el que aparece en la codificación de entrevistas. En este momento, serás bueno para resolver problemas. Sabrá cómo dividir un problema desconocido en problemas conocidos similares y / o más pequeños. Elija algunos libros populares sobre codificación de entrevistas para saber qué temas matemáticos son relevantes.
Codificación: practique escribir código elegante, correcto y eficiente que sea fácil de leer y explicar en 25-45 minutos.
Consejos para codificar entrevistas:
- hacer preguntas relevantes antes de intentar resolver
- dividir el problema en problemas conocidos similares / más pequeños
- Discuta brevemente el enfoque de la fuerza bruta, si es necesario
- donde corresponda, use
- matemáticas
- clasificación
- buscando
- el recorrido
- recursividad
- manipulación de bits
- programación dinámica
- antes de implementar su algoritmo
- discutirlo con el entrevistador
- discutir su complejidad de tiempo y espacio
- ver si se puede mejorar en base a la discusión anterior
- escribir casos de prueba (antes del código!)
- comience con poco, pruebe inmediatamente
- escribir funciones que son
- reutilizable
- débilmente acoplado
- pequeño y haz solo una cosa!
- evitar
- ve a S
- variables innecesarias
- innecesarios / muchos / anidados if-elses
- siempre
- validar entrada
- verificar códigos de retorno
- manejar cajas de esquina
- rastree su código con casos de prueba antes de decirle al entrevistador: ¡listo!