Cómo abordar una pregunta de entrevista de programación que no sabe cómo responder

Genial, gracias por el A2A.

En primer lugar, nunca te rindas durante una entrevista, NUNCA. En segundo lugar, tenga en cuenta que esto sucede mucho, ya sea en entrevistas o en el trabajo. Siempre hay preguntas y problemas que abordar en la vida real, no podría abordar muchos de ellos si no está dispuesto a tratar con aquellos con los que se siente incómodo o no está familiarizado (es decir, no conoce la respuesta del parte superior de tu cabeza).

Ahora con eso fuera del camino, quiero que se concentre primero en una solución de trabajo. Del punto A al punto B (entrada a salida): intente pensar cuál será el código que lo llevará allí. Al principio no tiene que ser óptimo, cualquier solución es mejor que una solución. Piense en la pregunta de la entrevista como un escenario de “Una empresa está perdiendo millones de dólares al día debido a este problema: ¿podemos resolverlo ahora mismo?”. Una vez que tenga una solución de caso base, confíe en sus fundamentos para optimizar. ¿Es una búsqueda, recorrido de matriz? -> ¿Podemos usar la búsqueda binaria? ¿Es una matriz 2d / 3d y necesita múltiples resultados? -> ¿Podemos usar un hashmap para almacenar en caché? ¿El problema parece un gráfico? -> ¿Hasta dónde me llevará DFS / BFS? -> ¿Es esta una variación especial? -> Si es así, no se asuste si no recuerda la clasificación topológica de la parte superior de su cabeza, ¿cómo lo implementaría? -> No es mucho más difícil, solo agrega una pila, pero tendrás que resolverlo durante la entrevista. etcétera etcétera.

Genial, ahora tienes una solución de trabajo. Ahora tienes que codificarlo. Escúchame aquí: necesitas practicar la implementación de características teóricas en tu cabeza. Es mejor trabajar a fondo en 10 problemas que descremar / resolver 100 problemas en tu cabeza. Un tema común que veo en los candidatos es: luchan, llegan a la solución y luego luchan por codificarlo. Estoy contratando a un ingeniero de software basado en su capacidad de codificar, y las principales empresas de tecnología tienden a inclinarse por el lado seguro, mejor para rechazar a un candidato decente del que no estamos 100% seguros porque volverán a aplicar en el futuro. así que por favor practícalo. Siéntase libre de leer mi otra publicación sobre los detalles exactos de cómo practicar: la respuesta de Jonathan Chou a ¿Qué temas debo preparar para la pasantía de ingeniero front-end en Facebook?

Por último, enchufe rápido: si resolver problemas que no conoce le entusiasma y siente que está técnicamente preparado, Uber siempre está contratando, así que envíeme un mensaje directo 🙂

Tómelo como un desafío, disfrute resolviendo algo nuevo. Discuta con el entrevistador para asegurarse de comprender completamente el problema, y ​​luego ponga su cerebro a toda velocidad. Piense en todas las formas posibles de resolverlo. No intente encontrar una solución elegante ni piense en una alta optimización de inmediato. Tome el enfoque que se le ocurra y discuta esto con el entrevistador. La comunicación es muy importante, la forma en que abordas el problema es más importante que resolverlo, créeme.

Una vez que haya encontrado una solución, intente ver si puede optimizarla, por tiempo y espacio. Entonces puede pensar en manejar los casos de esquina que le vienen a la mente. Y todo el tiempo, sigue comunicándote. Si sucede, no puede proceder en absoluto, entonces tal vez pueda pedir alguna pista. Pero eso debería ocurrir solo después de haber agotado todas sus opciones.

Parece que está hablando del problema algorítmico aquí, que pidió resolver durante la conversación y en la pizarra, y en algunos casos con papel y lápiz.

Verás que tienes toda la razón, que es posible que nunca hayas oído hablar de eso, eso es bueno. Incluso si conoces el problema, todavía te parecerá nuevo, ya que no estás allí solo para decir la respuesta, como Pregunta: ¿qué es A, Respuesta: A es Apple.

Creo que es un arte investigar el problema, y ​​asegurarme de que entendiste muy bien el problema, y ​​de que estás haciendo una comunicación significativa con el entrevistador. Estás comenzando desde una solución trivial a la respuesta significativa.

Escuche el problema cuidadosamente y luego vea cuidadosamente la declaración del problema (seguro que tendría preguntas y respuestas entre usted y el entrevistador). Recuerde que puede tener solo 30 a 45 minutos en total.

Ejemplo: Digamos: ¿alguien preguntó cuántos caracteres hay en una cadena?

Parece simple, ya que puedes calcular la longitud y decir la respuesta, pero si eres lo suficientemente lógico, asegúrate de qué tipo de cadena es, qué tipo de carácter (unicode o Ascii o qué) estás buscando. ¿Cuál es la necesidad ?, ¿dónde se usaría? (cosas similares de preguntas).

Así que para ser más práctico en esto.

¿Cómo practicar?

Elija algunos problemas y comience a diseñar su enfoque para resolverlo, sin obtener ninguna ayuda del algoritmo y la solución existentes, pronto se dará cuenta de un enfoque para atacar dicho problema y eventualmente conducir a soluciones. Una vez que haga tales cosas con algunos problemas, sabrá la forma de abordarlo.

Arriba: le dije cómo trabajo para solucionar los nuevos problemas o cada problema durante mi trabajo o entrevista.

Primero, hay diferentes preguntas de entrevista. Si alguien pregunta una solución de problemas: cómo diseñaría esto y aquello, etc., se espera que responda si alguna vez diseñó algo, que debe tener en virtud de ser un programador. La codificación barata sin diseño solo existe en las mentes codiciosas de los directores financieros. Los estúpidos acertijos (puedes decir lo que siento por ellos) y los ejercicios de codificación de Fibonacci están completamente equivocados, pero puedes hacer un esfuerzo, mientras te mantienes relajado y positivo, incluso humorístico. Ahora, la pregunta “difícil” más común es la “técnica”: sobre una “palabra clave” específica en su currículum

Solo sea honesto y diga que no conoce ese acrónimo o lo que sea, y generalmente aprende las cosas según sea necesario. Nunca luches por adivinar la respuesta. Nunca intentes complacer al entrevistador.

Lamentablemente, la mayoría de los gerentes de contratación son tan egoístas como el resto de la población y esperan que el mundo gire en torno a ellos personalmente, y que usted encuentre y presione sus botones de placer. Primero, no desea trabajar para esas personas, y segundo, puede controlar su comportamiento en la entrevista: preguntando y reconociendo los puntos débiles del empleador para abordar absolutamente todas sus respuestas (la razón principal por la que lo contratan ), pero sin adivinar excesivamente la “respuesta correcta” y de otro modo mostrar servidumbre.

De esta manera demuestras que estás enfocado y eres capaz de resolver el (los) problema (s) que estás siendo contratado para resolver sin conocer cada pequeño detalle técnico, que se puede aprender en cuestión de horas. Lo cual puedes decir con calma y confianza también.

Para algunos entrevistadores, incluido yo mismo, la servidumbre y adivinar la respuesta son completamente inaceptables. Solo te advertí una vez que no lo hagas. La servidumbre también es cultural. Si suficientes personas responden a esta pregunta de Quora, verá las dos mentalidades diferentes: el servidor y el profesional. Una vez más, no desea trabajar en un lugar que trata a las personas como “recursos de descuento” (para evitar la palabra “esclavos”) o para un gerente, que actúa como un “maestro”.

Como gerente de contratación, no quiero tener “sirvientes” en mi equipo: asustados de contarme sobre problemas urgentes y defensivos para reconocer (y corregir) sus errores. Es por eso que deliberadamente puedo hacerle una pregunta al candidato después de saber que carece de la experiencia en alguna área técnica. Solo para probar la honestidad frente a la servidumbre.

Estadísticamente, aunque la mayoría de los entrevistadores absortos en sí mismos hacen esas preguntas deliberadamente por una razón diferente: para “tanquearlo”, al menos psicológicamente, a sus ojos, demostrar a sí mismos que no está calificado en base a deficiencias técnicas, en lugar de su “ajuste cultural” subjetivo (muy probablemente étnico). Aléjese, si escucha la segunda pregunta después de explicarle al entrevistador que no sabía la respuesta a la anterior.

More Interesting

¿Cuál es la mejor manera de presentarse en una entrevista de trabajo para dejar una impresión duradera?

¿Cuál es la lista de preguntas de entrevistas esperadas para un ingeniero de pruebas con 1.3 años de experiencia en pruebas manuales y una experiencia general de TI de 4 años?

¿Qué consejo tienes para las entrevistas de visa?

¿Cuáles son las preguntas de muestra que se hacen en el reclutamiento del campus de Accenture?

¿Cuál debería ser nuestra actitud en la sección GTO de la SSB?

¿Cuáles son las preguntas de la entrevista en NTPC e IOCL después del GATE?

¿Si soy el primer candidato que entrevistan los gerentes de contratación? ¿Esto es bueno o no bueno? ¿Cuál sería mi estrategia para conseguir este puesto?

¿Cuáles son los consejos para prepararse para una entrevista en Google?

¿Está bien ser un poco informal durante la entrevista de recursos humanos?

Cómo prepararse para una entrevista de análisis empresarial

¿Quién debería beneficiarse más, el entrevistador o el entrevistado?

¿Alguien me diría si puedo aplicar a SDE-1 y no a SDE-2 o hay alguna política en Microsoft, Amazon que con alta experiencia (5 años), uno no puede solicitar la publicación de SDE-1 sino SDE-2? ¿solamente?

¿Cuáles son algunos consejos para superar el proceso de entrevista de trabajo en Flowserve?

¿Es ilegal preguntarle a alguien si es un "jugador" en una entrevista de trabajo?

¿Es una mala idea perforarme la nariz para una entrevista de trabajo?