Sigo fallando las manos en parte de la entrevista, ¿sugerencias? [cerrado]

13

Así que tengo un par de software / sitio en mi cartera. Ellos hacen dinero pero no mucho.

Así que decidí obtener algo de experiencia laboral, principalmente en las posiciones de desarrollo junior de Java / PHP.

El problema es que respondo a todas las preguntas técnicas correctamente y programamos hacer una "prueba" de codificación, la fase final de la entrevista. Nunca puedo relajarme y pensar demasiado las cosas y terminar haciendo la prueba muy lentamente. O a veces simplemente golpeo un bloque y me resulta muy difícil pensar en mis pies.

No entiendo esto porque otras cosas que había escrito estaban resolviendo problemas mucho más complejos, mientras que la "Prueba" es en realidad brutalmente simple, como escribir y probar palíndromos.

Otras veces, me darán una prueba lógica con flujos a operaciones matemáticas y, de nuevo, no podré hacerlo en el tiempo asignado.

Sé que puedo escribir software / sitios web vendibles que pueden generar pequeños ingresos y encontrar maneras de resolver problemas, pero tengo grandes dificultades con las pruebas de codificación simples en las entrevistas.

¿Alguna sugerencia?

    
pregunta joelonjobinterviews 04.11.2011 - 04:25

12 respuestas

18

Sigue asistiendo a las entrevistas. Eventualmente encontrará un lugar que hará preguntas más adecuadas a sus puntos fuertes. También te sentirás mejor y más cómodo con las entrevistas, lo que solo puede ayudar. Míralo como un juego, porque eso es realmente lo que es. Sigue jugando, y eventualmente ganarás.

    
respondido por el Kevin Hsu 04.11.2011 - 07:16
12

Esto es muy común. La mayoría de los programadores pueden programar efectivamente cuando están en su zona de confort. Por ejemplo, solo puedo trabajar en Ubuntu, con vim, si no tengo ese espacio de trabajo no tengo ganas de programar. También necesito , hasta cierto punto, Google para investigación.

Estoy seguro de que has desarrollado alguna zona de confort para la programación. Recomendaría, acostumbrarse al entorno donde alguien está detrás de usted esperando que se complete su código. La mejor manera de acostumbrarse es continuar yendo a la entrevista.

Puede que pienses que no tiene mucho impacto, y puede que no. Pero para algunos de nosotros, programando con música o sin ella, usar un IDE o un simple editor de texto, usar una silla de madera o sentarnos en un sofá, una habitación oscura o una habitación luminosa ... marcamos una gran diferencia en nuestro desarrollo velocidad.

Tenga en cuenta que, una vez que obtiene el trabajo, por lo general puede crear su propia zona de confort en el espacio de oficina que le brindan.

EDITAR : esta pregunta me recuerda a una persona de ventas, preguntando cómo sentirse cómodo y mejor en llamadas en frío. La mejor respuesta es seguir haciendo llamadas en frío y reflexionar sobre cada llamada. Después de un tiempo, el hombre de ventas mejora sus habilidades y su comodidad. Creo que los programadores no son diferentes cuando asisten a las entrevistas, después de todo, el punto principal es venderse al entrevistador

    
respondido por el Rick Rhodes 04.11.2011 - 04:34
6

Esta es solo mi sugerencia, ¿por qué no intentar ser un empresario? Puede haber muchas personas que enfrentan el problema similar. Si puedes escribir sitios web para pequeños ingresos, entonces seguramente puedes ganar mucho con ellos.

    
respondido por el user841923 04.11.2011 - 05:47
5

Ya ha identificado cuál es su problema: resolver problemas bajo presión (por ejemplo, cuando alguien lo está mirando). ¿Es porque careces de confianza o no tienes suficiente experiencia o te rompes bajo presión?

Ir a muchas entrevistas para obtener algo de experiencia y práctica puede ser una buena idea, pero también puede producir efectos secundarios. Los fracasos constantes en las entrevistas pueden sacudir su confianza aún más, así que tenga cuidado.

Le sugeriría que intente la programación entre pares para que pueda sentirse cómodo para resolver problemas cuando alguien lo está mirando. Además, trate de averiguar qué es lo que le impide ser eficaz bajo la presión (es el estrés de las pruebas en sí mismas, el estrés de trabajar bajo una estrecha supervisión, el estrés de trabajar bajo un límite de tiempo específico, etc.).

    
respondido por el Christian P 04.11.2011 - 13:19
3

Suena como si te ahogaras bajo presión. Como tienes que hacer los ejemplos cronometrados como parte del proceso de la entrevista, tendrás que aprender cómo superar esto. Se trata de controlar el miedo, no de la habilidad de programación.

Una opción sería practicar la escritura de problemas de muestra y cronometrarte. Una vez que sepa que puede hacerlos en menos de diez minutos, puede temer que le den menos tiempo.

Otra opción sería crear una técnica para calmar tu miedo y usarla para liberarte. Aprender una técnica de meditación podría ayudarte. O memorice la letanía contra el miedo (de Dune .) Aprenda algún tipo de truco para eliminar su respuesta de miedo.

    
respondido por el Sean McMillan 04.11.2011 - 14:38
3

Estoy bastante sorprendido de que nadie haya preguntado esto todavía, pero ¿cómo te estás acercando a las tareas de programación ?

Si simplemente estás saltando en el código, entonces es probable que te pierdas y termines cometiendo simples errores y te pongas nervioso. Tómalo paso a paso:

  1. Reúna los requisitos : ¿Qué es exactamente lo que pregunta el entrevistador? Asegúrese de que haya preguntas cero en el aire antes de la codificación. Por ejemplo, si te enfrentas a la antigua pregunta "isPalindrome", pregunta cosas como "¿qué pasa si la cadena tiene caracteres especiales?" o "¿las cadenas de longitud impar como 'ada' cuentan como palíndromos?". Usted necesita para saber cómo aclarar los requisitos antes de diseñar un algoritmo.
  2. Diseñe su algoritmo : divídalo en secciones lógicas si tiene sentido. Habla de ello ... Tal vez escribe un pseudocódigo si estás haciendo una pizarra. Guíe a su entrevistador a través de sus pasos. Intente ejecutarlo con algunas entradas diferentes (tanto válidas como no válidas) para asegurarse de obtener los resultados deseados.
  3. Now comience a codificar: para este punto, debe tener mucha confianza en lo que va a escribir. Esencialmente, solo debes seguir los movimientos con el idioma con el que estés familiarizado. En este punto, realmente no importa si hay errores sintácticos, ya que los entrevistadores que valen una moneda de diez centavos perdonarán a aquellos en una sesión de pizarra (si se le da un PC / IDE para resolver el problema, esa es una historia diferente). / li>

Realmente, cuando se abordan los problemas de codificación, un entrevistador no está buscando tanto un buen código ... Es más para ver cómo aborda un problema dado. Bucear directamente en el código es algo malo, punto.

También encontrará que al hablar sobre el problema (recopilación de requisitos y diseño), se sentirá un poco más cómodo y es menos probable que cometa errores tontos durante la parte de codificación.

    
respondido por el Demian Brecht 05.11.2011 - 04:01
3

Project Euler

Me parece que estás fallando el fizzbuz prueba. La mente adormece algoritmos simples que generalmente no tienen ningún propósito práctico, excepto para identificar si entiendes los conceptos centrales de la programación.

Repasa tus conceptos básicos

Lo que recomendaría es que repasas tus conceptos básicos.

enlace

Regístrese y comience a practicar, encontrará que al repasar esos ejemplos obtendrá una comprensión más profunda de los conceptos básicos de programación. Creo que encontrarás una pregunta sobre el palíndromo junto con las secuencias de fibonacci y otros conceptos matemáticos (suena familiar).

    
respondido por el Justin Shield 07.11.2011 - 23:14
2

Solicite comentarios durante o después de la entrevista. Que les gusto ¿Qué no les gustó? Quizás te sorprendan las respuestas.

Las personas diferentes buscan cosas diferentes, por supuesto, pero cómo tratar de resolver un problema suele ser más importante que escribir una solución 100% correcta. Puede que te preocupes por todas las cosas incorrectas.

La mejor manera de mejorar en cualquier cosa es practicar. Intenta escribir una lista de problemas cortos. Luego, para cada elemento de la lista, escriba un pequeño programa que resuelva el problema. Comience con problemas muy fáciles, como FizzBuzz , y aumente la dificultad a medida que avanza. ¿Puedes resolver los problemas que has visto en entrevistas anteriores? ¿Encuentra la subcadena más grande que dos cadenas tienen en común? Calcular la factorización prima de n !?

La idea no es aprender la solución a cada problema que pueda surgir, sino practicar el escribir programas pequeños rápidamente y también averiguar dónde están sus puntos débiles para que pueda mejorar. Muchos problemas son fáciles de resolver con la estructura de datos correcta, pero de lo contrario es difícil, así que asegúrese de tener una base sólida en las estructuras de datos.

    
respondido por el Caleb 04.11.2011 - 17:40
2

Practica y encuentra a alguien que te guíe a través de los conceptos básicos de cómo hacerlo. Puede tomar un puñado de intentos, pero podría ser sorprendente lo que se descubra si puede obtener algún comentario y practicar sobre esto. Hice que un reclutador me explicara cómo manejar un problema de pizarra una vez que parece ser similar a su problema aquí.

No estoy sugiriendo que se memoricen las respuestas, sino que se trata de un plano de qué hacer cuando se presenta un problema de este tipo y cómo explicarlo. A qué se parece esto? ¿Has visto problemas similares? ¿Qué podrían dar algunos enfoques simples en términos de un algoritmo? Al menos esa es mi sugerencia para ti.

    
respondido por el JB King 04.11.2011 - 20:57
2

Es bastante común que los desarrolladores de software se detengan cuando se les pide que realicen una prueba de codificación o que escriban un pequeño fragmento de código en la entrevista. Como ya ha dicho alguien, eso es porque la mayoría de nosotros solo podemos codificar cuando estamos en nuestra "zona de confort" y sentados en una habitación pequeña, rodeados de 2 a 5 entrevistadores realmente no aportan mucha comodidad.

La respuesta es triple:

  • practica, y practica más. Intente durante un mes hacer 30-40 minutos de programación con un papel y un bolígrafo y se sorprenderá de lo fácil que sería. Mientras practica, pruebe el tipo de tareas de programación que espera que se le pidan en las sesiones de codificación de entrevistas, por ejemplo. implemente un singleton, invierta una cadena, etc. Es aún más fácil con "lea ese fragmento de código basura y descubra qué es incorrecto": intente imprimir y analizar estas impresiones durante dos semanas y mejorará enormemente esa habilidad.

  • aprende a controlar tu miedo. Si cree que la prueba es demasiado difícil y solo puede completar el 20% de la misma, haga ese 20%, no se preocupe por el resto. Puede ser que la prueba sea injustificadamente grande para el tiempo dado (p. Ej., Los sujetos entrevistados deben darle 20 minutos para finalizarla, pero deben finalizar la entrevista en 5 minutos debido a un aumento en la producción, etc.) . También es posible que otros candidatos solo hayan logrado completar la prueba del 10%, por lo que al haber completado el 20%, todavía estará por delante de otros candidatos.

  • Cuando escriba un código en la entrevista, no se moleste en hacerlo perfecto en una primera pasada. simplemente implemente primero una "ruta feliz, también conocida como el escenario más común", y luego incurra en el manejo de errores. si se está quedando sin tiempo, solo agregue una nota rápida en la parte inferior de la hoja que describe, qué habría hecho para mejorar el código si tuviera más tiempo.

[tengo que correr, editaré / mejoraré mi respuesta más adelante]

    
respondido por el user18404 05.11.2011 - 02:02
1

Como mucha gente ya ha dicho, la práctica es una de las cosas más importantes. Si ya ha hecho un problema similar, podrá encontrar la solución rápidamente.

Si tiene dificultades para encontrar problemas, intente resolverlos por su cuenta utilizando la búsqueda de Google para las entrevistas de programación para su idioma o elección.

También puede recoger libros diseñados para impartir cursos de CS de nivel inferior. La mayoría de estos libros están llenos de tareas de programación que son pequeñas y se pueden hacer rápidamente en casa. Se pueden utilizar para la práctica.

    
respondido por el gnash117 07.11.2011 - 20:40
0

También soy muy malo en las pruebas y siempre lo he sido. Por mi vida, no pude averiguar por qué una clase de programación me dio pruebas para tomar con lápiz y papel. Nunca lo hice bien. Sin embargo, lo que sí hice fue explicar a los entrevistadores que tenía este problema y lo sabía. También logré entrevistar a empresas que no me hicieron pruebas tontas.

Mi sugerencia es que le diga a la compañía antes de ir a la entrevista que no lo hará con ese tipo de pruebas, sin embargo, está contento con X en su lugar. (Determine una alternativa que tenga sentido y se sienta cómodo haciéndolo). Para mí, ofrecí enviarles el código, y una vez sugerí que me dieran un programa simple para escribir, y lo llevaré conmigo al entrevista en 3 días.

Dependiendo de dónde esté buscando obtener empleos, esto puede o no funcionar para usted.

    
respondido por el Bob 07.11.2011 - 21:44

Lea otras preguntas en las etiquetas