c++ - trabajo - preparacion de la entrevista wikipedia
PreparaciĆ³n de la entrevista C++ (8)
Además de las partes obvias del lenguaje, he descubierto que los empleadores querrán ver si entiendes completamente los indicadores, las referencias, cómo los constructores de copias entran en todo, probablemente en STL y, por supuesto, en los conceptos básicos de las clases.
Tengo una entrevista telefónica próxima con una empresa que trabaja en la industria del software financiero. La entrevista va a ser principalmente en C ++ y resolución de problemas y lógica. Por favor dígame el método de preparación para esta entrevista. Empecé a hojear Thinking in C ++ y repasé los conceptos. ¿Hay alguna otra manera en que pueda prepararme? Por favor ayuda.
Editar:
Gracias a todos por el consejo. Solo quiero agregar que actualmente estoy recién salido de la escuela de posgrado y no tengo experiencia previa. Entonces, ¿puede sugerir algún tipo de preguntas que se le harán a los nuevos graduados?
Algo que estoy empezando a creer es que a veces hay una clara división entre los candidatos que disfrutan de la programación como un pasatiempo versus aquellos que lo consideran "solo un trabajo diario".
Incluso si no conoce la respuesta a una pregunta específica, vale la pena mencionar que normalmente buscaría la respuesta en <su recurso favorito> (por ejemplo, ).
De acuerdo con su experiencia, no creo que el entrevistador espere que tenga todas las preguntas correctas. Lo más probable es que intenten decidir si tienes "potencial".
¡Entonces relájate e intenta disfrutarlo!
Asegúrese de conocer sus estructuras de datos y algoritmos básicos. Es más probable que le pregunten sobre esas cosas que sobre algo más arriba en la cadena alimenticia. Esos usualmente se guardan para la entrevista en persona.
Dicho de otra manera: ser sólido con los fundamentos y sólido con su sintaxis de C ++. Además, el conocimiento de bibliotecas comunes como STL y Boost no podría doler ... ¡pero asegúrese de saber qué le dan esas bibliotecas! Al final, las pantallas del teléfono están ahí para eliminar a las personas que no pueden hacer lo básico. Demuestra que puedes y debes pasar al siguiente paso. ¡Buena suerte!
Aquí hay algunos enlaces de preguntas de la entrevista para verificar:
- Preguntas de entrevista en C ++ @ DevBistro
- Preguntas de la entrevista en C ++ @ Blogspot
- C ++ Entrevista Preguntas @ FYI Center
- Las cinco preguntas esenciales de la pantalla del teléfono de Steve Yegge (agregué esto en respuesta a su edición. Esto no es solo C ++, pero mucho de esto se aplica a C ++ y creo que sería una buena lectura en su situación).
Ahora, para completar, algunos libros:
- Serie "Efectiva" de Scott Meyers ( C ++ efectivo, C ++ más efectivo , STL efectivo )
- Serie "Excepcional" de Herb Sutter ( C ++ Excepcional, C ++ Excepcional , Estilo C ++ Excepcional )
- La biblioteca estándar de C ++ por Josuttis
- C ++ Primer por Lippman et al.
- Stroustrup''s texto Stroustrup''s como referencia
Coge a un amigo con conocimiento y pídele que te pregunte algunos problemas de programación en C ++ que puedes resolver en una pizarra. Muchas entrevistas le harán resolver un problema en una pizarra, y puede ser desconcertante pensar en sus pies y escribir cosas delante de alguien si no está acostumbrado.
He entrevistado a varios candidatos que se centran específicamente en sus conocimientos de C ++, y si había una pregunta que funcionaba bien para poner el conocimiento de C ++ en un gradiente, era este:
Arregle esta fuga de memoria de la forma más robusta posible:
void doSomething() { Foo* pFoo = new Foo(); [do some stuff] }
- +1 para poner eliminar pFoo al final
- +2 para poner pFoo en un std :: auto_ptr
- +3 por saber qué RAII es - el concepto, si no el acrónimo
- +4 por mencionar garantías de seguridad de excepción del auto_ptr
- +5 para poner pFoo en un impulso: shared_ptr
- +6 para saber cuándo un shared_ptr podría no ser liberado.
- +7 para hablar sobre técnicas de recolección de basura para arreglar referencias circulares
Esto siempre funcionó para mostrar cuánto tiempo alguien había estado trabajando con C ++. Este es un punto de datos que puede usar para indicar dónde se encuentra en la escala de conocimiento de C ++.
Editar: recomendaría a alguien de alquiler en el nivel 3 o superior.
Incluso si están entrevistando para una posición de C ++, no todas las preguntas pueden ser específicas de C ++. Por ejemplo, me han llegado preguntas relacionadas con todo lo siguiente en el mismo conjunto de entrevistas para una única posición de C ++:
- Complejidad algorítmica de algoritmos de búsqueda y clasificación bien conocidos
- Programación multiproceso
- Programación multiproceso
- Programación de tomas
- Filosofía / enfoque de desarrollo de software
- Prueba de software y filosofía / enfoque de validación
- Depuración
- Benchmarking
- Análisis dinámico y estático del código (por ejemplo, detección de fuga de memoria en tiempo de ejecución frente a tiempo de compilación)
En mi caso, la entrevista telefónica fue parte de un proceso de selección para determinar si podía realizar una prueba de conocimiento C / C ++ en línea (por ejemplo, a través de BrainBench). Los resultados de la prueba en línea determinaron si me enviarían a las entrevistas en el sitio, que también incluía más pruebas de desarrollo de software "prácticas".
YMMV. Mucho depende de lo que reclame en su currículum, también.
Los entrevistadores a menudo tratan de ayudarlo ofreciéndole consejos para que puedan ver si puede obtener la respuesta que están buscando. Además de medir tu conocimiento, también quieren ver cómo piensas. En ocasiones, es posible que obtenga un entrevistador pésimo que no es útil ni positivo. La clave es tener confianza en tus habilidades y ser sincero.
HTH y buena suerte!
Lea (o descremada, dependiendo de cuánto tiempo tenga que preparar) " Diseño de software de C ++ a gran escala " por John Lakos. Lo más probable es que lo necesites.
Pruebe algunos problemas de práctica en TopCoder .
Consulte las preguntas frecuentes sobre C ++ de Marshall Cline . Es una buena forma de aprender cosas nuevas y ponerse al día con las cosas que ya sabe en caso de que decida hacerle algunas preguntas de ''conocimiento'' en lugar de ''resolver problemas''.