2009-10-15 46 views
35

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.preparación para entrevistas en C++

Editar:

gracias a todos todo el mundo 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?

+33

Si vas a utilizar Google durante la entrevista telefónica, obtén un teclado tranquilo ;-) ... alguien que estaba revisando la semana pasada es la razón de ese bocado. –

+1

Asegúrate de que estás sentado en una habitación tranquila y también informa a tus amigos que no te molesten durante iw. – Duleb

+1

¿Conseguiste el trabajo? –

Respuesta

51

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: sea 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 a la salida:

Ahora, por el amor de finalización, algunos libros:

+1

Consulte también esta publicación de blog sobre cómo mantener las declaraciones de C++ correctas, en caso de que lo intenten y lo hagan. con los que: http://binglongx.spaces.live.com/blog/cns!142CBF6D49079DE8!273.entry –

+0

Un par de los sitios que vinculan tienen información y/o código que es completamente erróneo. No estoy seguro de por qué esta es la respuesta aceptada o más votada. – codetaku

+0

@codetaku Bueno, las preguntas vinculadas son el valor. Pasar por la práctica de responderles le dará el mayor beneficio. Dicho eso, si no te importa señalar el contenido ofensivo, podemos actualizar la respuesta para que otras personas no se descarrilen. –

2

Además de las partes obvias de la lengua, he encontrado que los empleadores quieren ver si usted entiende completamente punteros, referencias, cómo copia-constructores entran en todo, probablemente STL y, por supuesto, los conceptos básicos de las clases.

8
  • Pruebe algunos problemas de práctica en TopCoder.

  • Echa un vistazo Marshall Cline's C++ FAQ. 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'.

+1

+1 para las preguntas frecuentes. Def vale la pena un segundo (o primero, si ese es tu caso) ¡lee antes de una entrevista! –

1

Read (o descremada, dependiendo de cuánto tiempo usted tiene que preparar) "Large-Scale C++ Software Design" de John Lakos. Lo más probable es que lo necesites.

43

he entrevistado a varios candidatos se centra específicamente en sus C conocimiento ++, y si había una pregunta que ha funcionado bien para poner el conocimiento de C++ pueblos en un gradiente, era éste:

Solucionar este pérdida de memoria como robusta como sea posible:

 
void doSomething() 
{ 
Foo* pFoo = new Foo(); 
[do some stuff] 
} 
  • +1 para poner borrar pFoo al final
  • +2 para poner pFoo en un st d :: auto_ptr
  • 3 de conocer lo que es RAII - el concepto, si no es el acrónimo
  • 4 por mencionar garantías de seguridad a excepción de la auto_ptr
  • 5 para poner pFoo en un impulso: shared_ptr
  • +6 para saber cuando un shared_ptr no podría ser liberado.
  • 7 para hablar acerca de las técnicas de recolección de basura para fijar referencias circulares

Esto siempre trabajó para mostrar cuánto tiempo una persona 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: Yo recomendaría a alguien para coches en el nivel 3 o superior.

+6

+1 porque aprendí algunas cosas. ¡Gracias! – John

+4

Solo por curiosidad ... ¿por qué prefieres 'boost :: shared_ptr' sobre' std :: auto_ptr' sin más información? Sería mucho más feliz con un candidato que respondió con _ "depende de lo que hay en [hacer algunas cosas]" _ yo mismo. –

+3

De hecho. Si el 'auto_ptr' funcionara pero quisiera evitar sus trampas, uno usaría' boost :: scoped_ptr' (o 'std :: tr1 :: unique_ptr'). – UncleBens

2

Grab un amigo bien informado y hacer que se le piden algunos problemas de programación C++ que se puede 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.

3

Incluso si están entrevistando para un puesto de C++ no todas las preguntas pueden ser específicas para C++. Por ejemplo, si hubiera sido golpeado con preguntas relacionadas con lo siguiente en el mismo conjunto de entrevistas para una sola posición C++:

  • complejidad algorítmica de conocidos algoritmos de ordenación y búsqueda
  • multiproceso programación
  • la programación multiproceso
  • sockets programación
  • desarrollo de software filosofía/enfoque
  • software de prueba y validación de la filosofía/enfoque
  • Depuración
  • Benchmarking
  • Análisis dinámico y estático del código (p.tiempo de ejecución de detección de fugas de memoria vs tiempo de compilación)

En mi caso, la entrevista telefónica fue parte de un proceso de selección para determinar si podía tomar una C en línea/C++ prueba de conocimiento (por ejemplo a través 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 sugerencias 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!

2

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 hobby frente a 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, StackOverflow).

En función de 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".

Así que relájate y trata de disfrutarlo!

Cuestiones relacionadas