Hay muchas personas aquí que le dirán que si usted es un “buen programador”, pasará más del 90% de sus entrevistas. Dejo mi trabajo actual (en Silicon Valley) por un trabajo en Amazon, después de fallar un número decente de entrevistas técnicas (en la última etapa, podría agregar) en el Área de la Bahía.
La cuestión es que muchas entrevistas de programación se reducen a algunas decisiones / preocupaciones arbitrarias sobre los candidatos. Puede hacer cosas para verse mejor o peor (incluso antes de llegar a la etapa de entrevista). La 99a persona que será rechazada por un puesto en mi empresa probablemente habría sido una excelente incorporación al equipo. Entonces podrías estar teniendo una racha de mala suerte.
Eso es genial, pero “estás teniendo mala suerte” no es una solución viable y has presentado un problema específico. Tengo este problema también. Me duele No se. Acabo de conseguir un trabajo en Amazon, que me entusiasma bastante. Algún consejo:
- ¿Debo hablar sobre la muerte de un padre en una entrevista de banca de inversión?
- Si una persona se desempeña bien en el examen de Google APAC University o Kickstart, pero no tiene un currículum muy bueno, ¿recibirá una llamada de entrevista?
- ¿Cuál es el mejor enfoque para resolver conjeturas?
- ¿Cómo debo prepararme para una entrevista de prácticas de marketing con un director de crecimiento?
- Acabo de recibir comentarios de una entrevista de que soy demasiado joven, pero tengo años de experiencia. ¿Qué estoy haciendo que está causando esta percepción?
- Pregúntele al entrevistador qué quiere. Por lo general, digo: “Primero hablaré sobre el problema y luego escribiré el código. ¿Está bien? ”Para el entrevistador. A veces quieres saltar directamente al código, y si lo haces, dilo. A veces los entrevistadores quieren que hable sobre lo que está haciendo, y a veces quieren que escriba código. Decirles lo que vas a hacer y preguntarles si está bien con ellos, reduce enormemente la probabilidad de que te tomen por eso.
- Si necesita pensar en el problema mientras escribe, dígaselo al entrevistador. Está bien decir “Espera, déjame terminar esto y luego te explicaré lo que estoy haciendo”, aunque generalmente el entrevistador quiere interrumpirte porque estás haciendo algo mal. Si crees que ese es el caso, puede ser bueno decir algo como “Sé que esto está mal en este momento, pero vuelvo a hacerlo”.
- Considere primero “hablar” de los problemas. Inicialmente, me gustan los problemas de estadio. Entonces, si alguien dice “Quiero que encuentres el elemento más grande de una lista”, yo digo en voz alta “Ok, podríamos tener que mirar cada elemento de la lista. Tengo un o (n) tiempo de ejecución ”. Este tipo de juego general es realmente útil, porque entonces me lleva a preguntas de seguimiento como (en este caso)“ ¿Está ordenada la lista? ”Esas preguntas de seguimiento pueden cambiar drásticamente el problema.
- Por lo general, si está pensando en el problema en lugar de escribir código, siempre que lo haga en voz alta, puede resolver el problema en colaboración con el entrevistador. Esto también es (para mí) una forma mucho más fácil de descifrar un algoritmo, y tiene la ventaja adicional de no requerir que escriba mucho código en una pizarra (algo que lleva mucho tiempo hacer, significativamente más que pensarías que lo haría). Especialmente si se basa en la pizarra, a algunos entrevistadores ni siquiera les importa resolver el problema, sino su algoritmo.
- Puede conectarse en línea (a lugares como la taza de la carrera o la puerta de vidrio), encontrar problemas de muestra y practicar resolverlos mientras habla sobre lo que va a hacer.
Espero que algo de eso ayude.