¿Qué diría un desarrollador de software sénior si no sabe la respuesta a una pregunta en una entrevista para un proyecto en el que trabajó?

Solo eso: “He trabajado en eso antes, aunque realmente no recuerdo lo que hice. Déjame pensarlo, ver si se te ocurre algo …

Si puedo pensar en algo incluso relacionado tangencialmente, algo que al menos respalde que he trabajado en esa área antes, lo mencionaré.

Como ejemplo, me entrevisté hace años para una empresa de software de Call Center. Estaba claro que estaba allí porque sabía que tenía suficiente Microsoft C ++ para lo que querían, pero no tenía experiencia en el centro de llamadas vertical.

Mencioné que había leído un libro sobre el tema, y ​​que el libro había usado tarjetas Dialogic con un controlador C ++ personalizado, ya que descubrieron que el control Visual Voice VB suministrado no funcionaba para ellos.

No intento engañar al entrevistador, solo mencionar que sabía una pequeña fracción sobre la industria a la que estaba pidiendo entrar.

No hizo que el entrevistador dijera algo como “Estás contratado”, pero lo impresionó en el sentido de que realmente me leyeron ampliamente, e intenté encontrarme con él / la compañía a mitad de camino.

Este no es un “truco de entrevista” de ninguna manera. He fallado en muchas entrevistas para las que realmente he calificado (!). Pero el principio de “conocer gente a mitad de camino” y demostrar que eres adaptable es muy útil.

Al final, recibí una oferta, pero la rechacé ya que el viaje de 90 minutos x 2 era demasiado.

La oferta se redujo a ser dada ya que había dicho que usaría clases de contenedor en lugar de matrices sin procesar, y el otro entrevistado esa semana no había oído hablar de ellas. La compañía quería a alguien que los ayudara en sus esfuerzos en OOP.

Las pequeñas cosas, con bastante frecuencia, influyen en las entrevistas.

Me preguntaron el problema de la caída del huevo en una entrevista. Había leído la solución anteriormente y se lo dije al entrevistador. Pero había pasado un tiempo y no podía recordar los detalles. Sabía que había una solución puramente analítica, pero fracasé durante diez minutos tratando de reconstruirla. Esto fue lo más nervioso que he estado en una entrevista porque sabía que no me estaba yendo bien. Y el nerviosismo no ayudó con mi recuerdo.

Así que le dije que se joda y traté de abordar el problema desde los primeros principios. De alguna manera pude crear una solución de programación dinámica en los últimos minutos.

Mi solución O (n ^ 2) no es tan buena como la solución analítica O (1). Sin embargo, el entrevistador nunca había visto esa solución y parecía satisfecho con mi capacidad para demostrar la aplicación de un algoritmo de programación dinámica. Al menos conseguí el trabajo.

He trabajado en software para todo, desde teñir calcetines hasta construir centrales nucleares. Raramente, si alguna vez, me han pedido que haga exactamente lo mismo dos veces. Incluso ahora, cuando llevo trabajando en la misma industria durante más de cinco años, cada proyecto es diferente y cada proyecto requiere aprender cosas nuevas. La gente quiere mi ayuda debido a mi capacidad para analizar la situación, resolver problemas y GSD (hacer las cosas), no porque haya hecho lo mismo antes.

Cada trabajo se reduce a las mismas cosas básicas: requisitos y recursos. ¿Cuál es el problema a resolver, cuándo debe terminarse y cuánto tiempo y dinero se necesitará para hacer el trabajo? Concéntrese en las necesidades del cliente, no en si ha trabajado exactamente en el mismo problema anteriormente.

Supongo aquí que el trabajo se encuentra en el mismo dominio general (aplicaciones comerciales y de bases de datos) en el que tengo más experiencia. Si fuera algo completamente diferente, como un controlador de dispositivo complejo o una aplicación científica, le diría al cliente que esto está fuera de mi área de especialización.

Si el desarrollador no estuvo involucrado en esa parte del proyecto, solo honestamente diga algo como “He visto este problema antes, pero no conozco una solución de antemano”. Si el desarrollador estuvo directamente involucrado, pero no recuerda , simplemente reconozca que con algo como “estuve involucrado en eso, pero no recuerdo lo que terminamos haciendo”. En cualquier caso, la siguiente línea debería ser “¿Quieres que hable sobre cómo me acercaría? ¿resolverlo? ”Por supuesto, entonces prepárate para hacerlo si la respuesta es sí. 😉

¿Es esta una pregunta de entrevista sobre algún ejercicio problemático para ver su proceso de pensamiento, o es algo importante en su industria?

Si quieren ver su solución de problemas, un ejercicio de pizarra, por ejemplo. Luego necesita hablar sobre el problema y cómo lo abordaría, y tal vez algún código para solucionarlo.

Si no es ese tipo de pregunta, quiere ser honesto con el lugar donde se encuentra, pero también hablar con cualquier cosa que sepa que está relacionada con eso, como dijo Alan. Lo que no quieres hacer es volarlo por completo y decir algo que no tiene ningún sentido.

Algo así, pero más dramático, me pasó a mí. El entrevistador había encontrado un artículo que había escrito muchos años antes: Algorithm Alley

Presentó un problema resuelto por un algoritmo que yo había inventado y presentado en el artículo. Reconocí el problema, pero no pude recordar rápidamente los detalles de mi propio algoritmo. No creo que estuviera impresionado.

Si eres honesto, dirás “He visto esta pregunta antes, pero aún no la he resuelto. ¿Quieres que siga con esta pregunta? ¿O le gustaría que me hiciera cargo de otra? ”. El entrevistador apreciará que le haga saber que ya ha puesto algo de trabajo en la pregunta; entonces puede dejar que intente terminarlo y ver si está realmente perdido en él o tal vez simplemente no tuvo tiempo para terminarlo la última vez, o simplemente pueden pasar a otra pregunta que es menos probable que ya haya visto.

Si no eres tan honesto, probablemente solo trabajarás en resolverlo como si te hubieran preguntado la primera vez. Sin embargo, esto es peligroso por dos razones:

Primero, si no tienes cuidado, será evidente para el entrevistador que solo estás haciendo los movimientos y recitando cosas de memoria, y en realidad no tomas el problema en serio. Sin saber que en realidad no resolvió el problema la última vez que lo vio, el entrevistador probablemente asumirá que lo hizo y lo criticará por su falta de honradez.

En segundo lugar, puede estar abriéndose al sesgo interno sobre la pregunta. Si la razón por la que no resolvió el problema la última vez fue que estaba yendo en la dirección equivocada, de hecho puede seguir esa dirección equivocada y pensar que es la correcta, y así pasar mucho más tiempo tratando de retroceder. esquina cuando te das cuenta de que comenzaste de la manera incorrecta. Esto puede hacer que parezca peor en la resolución de problemas de lo que realmente es.

Si va a “volver a intentar” una pregunta que ha visto antes y que no ha resuelto, deberá comenzar completamente de nuevo y olvidar todo lo que sabe sobre esa pregunta. Es más difícil de lo que parece.

Como dije, su mejor opción sería simplemente informar a su entrevistador que lo había visto antes y ser honesto acerca de lo lejos que llegó la última vez que intentó resolverlo. Eso vuelve a poner la pelota en su cancha, y si luego te piden que intentes resolverla nuevamente, tienes el reinado libre para hacerlo, conocimiento previo o no. De hecho, hablar sobre lo que hizo antes y dónde se perdió (si es que lo perdió) ayudará al entrevistador a comprender cómo piensa y cómo enfrenta los problemas difíciles. La humildad es una parte importante del trabajo, después de todo.

La respuesta corta es esta. Si va a incluir algo en su currículum, debe estar preparado para responder las preguntas relacionadas con ese “algo”.

Como mínimo, puede afirmar que “este proyecto fue un esfuerzo de equipo y ese aspecto del código no estaba dentro del alcance de mi responsabilidad”.

El currículum sirve como base de discusión. No poder responder preguntas relevantes a su experiencia declarada o contribuciones del proyecto da lugar a cuestionar todo el currículum.

No poder responder a una pregunta relacionada con el currículum, especialmente cuando el candidato ha afirmado “ser el propietario” del proyecto, es motivo para considerar a otro candidato.

Voy a ir con la respuesta honesta. Si a un desarrollador se le hizo y bombardeó una pregunta antes y no se fue inmediatamente a casa a buscarla, probablemente no sea un desarrollador al que contrataría. Entonces admitir que lo has visto antes, probablemente no sea una buena idea.

Yo diría que la mejor solución sería tratar la pregunta como lo haría con cualquier otra pregunta que no conozca de inmediato. Recórrelo en voz alta, escriba un pseudocódigo en el costado de la pizarra y haga muchas preguntas mientras le muestra a su entrevistador que tiene la habilidad y el nivel de habilidad para descubrir incógnitas.

Si se trata de una pregunta técnica, respondería con algo como: “” No sé la respuesta. Cuando me encuentro con un problema técnico del que no estoy seguro, normalmente lo investigo para asegurarme de tener un conocimiento profundo antes proceder “. Si se trata de un aspecto no técnico de un proyecto en el que trabajó, igualmente respondería con honestidad y seguiría con una explicación neutral como el ejemplo anterior.

Agregaría una advertencia para nunca BS una respuesta o adivinar. Los entrevistadores a menudo ven los “avisos” cuando la respuesta es una mentira y no ser sincero o sospechar que no es sincero es rechazar la entrevista, lo que significa que no hay trabajo.

Puedo recordar muchas veces que miré un antiguo proyecto mío y no recordé lo que significaba mi código.

Cuando me preguntaban, respondía: “Sí, recuerdo haber escrito esto, pero ahora, todo es griego para mí. Tendría que estudiarlo un poco antes de poder responder a su pregunta.

A veces, me resulta más fácil volver a escribir una rutina desde cero que depurar y descubrir por qué una vieja rutina mía dejó de funcionar.

Bueno, supondría que serían honestos y respondería que no está dentro de su conocimiento. Sin embargo, supondría que también mostrarían lo que saben y cómo harían para obtener el conocimiento o se requiere para el dominio

Resuélvelo, si puedes.

Mencionar que ha encontrado el problema anteriormente podría tener dos efectos opuestos.

More Interesting

¿Por qué un desarrollador querría usar una máquina Linux en lugar de Windows u OSX?

¿Cuál es la diferencia notable entre un desarrollador de software independiente y un desarrollador de software que trabaja en una empresa?

¿Qué es mejor para una pasantía de desarrollo de software, Five Rings Capital o Microsoft?

¿Por qué empresas como Delhivery contratan desarrolladores de software de manera tan agresiva?

¿Cuál es el perfil más demandado en el sector de TI entre un desarrollador de software y un administrador de servidor de bases de datos?

¿Los lenguajes de programación funcional se entienden mejor y es más probable que los usen personas con conocimientos de matemáticas?

Como desarrollador de software, ¿qué son los indicadores o las banderas rojas por el hecho de que paso demasiado tiempo en un boleto?

¿Cuáles son las mejores herramientas para desarrolladores de software?

Actualmente estoy trabajando como desarrollador de software y mi edad es 24. Quiero ser parte de ISRO, ¿es posible? Si es así, ¿cómo puedo postular? ¿Qué tipo de publicación puede obtener un desarrollador de software en ISRO?

¿Qué temas debo saber para una entrevista de desarrollador de software?

Cómo convertirse en un desarrollador de datos de un desarrollador de software

Como desarrollador de software sin antecedentes y proyectos educativos sorprendentes, ¿qué debo poner en mi currículum para conseguir un trabajo?

¿Debería aumentarse el pago para los desarrolladores de Android en lugar de los desarrolladores de iOS, ya que la mayoría de los desarrolladores de iOS necesitan admitir dispositivos fabricados por Apple solo mientras que los desarrolladores de Android deben admitir dispositivos fabricados por tantos proveedores?

¿La inteligencia artificial llegará a un punto en el que los codificadores pierdan su demanda en el mundo de los trabajos tecnológicos?

Cómo calcular la tarifa por hora como desarrollador