Mis principales recomendaciones:
- Aprende a atravesar árboles. Escuchará los términos “Búsqueda de profundidad primero” y “Búsqueda de profundidad primero”. Aprenda lo que significan estos dos términos y cómo implementar el código para cada uno de ellos.
- Aprenda a usar conjuntos y tablas de hash (o diccionarios, según el idioma del que esté hablando). Sepa cuándo son apropiados para usar y cómo pueden acelerar su programa. También aprenda sobre sus requisitos de memoria en comparación con las listas y matrices de varios tipos.
Finalmente, no es un algoritmo per se, sino una técnica útil: Practique clarificar y visualizar la pregunta. Si su entrevistador le pide que escriba una función para hacer algo, intente dibujar algo en la pizarra que describa la operación que se le pide que haga. Por ejemplo, si el entrevistador le pide que escriba una función que devuelva el número de 1 en la representación binaria de un entero, intente simplemente escribir un par de números en la pizarra y conviértalos en binario, luego muestre cómo comenzaría a contarlos. .
Eso no solo lo ayudará a encontrar un algoritmo en el acto, sino que le demostrará al entrevistador que usted entendió su pregunta y que sabe cómo abordar el diseño y la codificación.
- Si hay una matriz que contiene N números, cuyo rango es de 1 a N + 1, y solo puedo usar el espacio O (1) y no puedo modificar la matriz, ¿puedo encontrar cualquier número repetido no peor que O (NlogN) ¿hora?
- Cómo prepararse para las preguntas de la entrevista técnica de TCS
- ¿Cuáles son las preguntas frecuentes de la entrevista para los ingenieros de Java?
- ¿Cuál es la mejor / óptima forma de entrevistar a ingenieros de software?
- ¿Cuáles son las posibles razones para ser rechazado incluso después de haberlo hecho muy bien en una entrevista de codificación in situ? ¿Podría una ronda ligeramente mala resultar en un rechazo?