Sorprendentemente, la mayoría de las mejores preguntas son las más simples. Mi objetivo general es averiguar si el candidato comprende el idioma, puede comunicarse bien, piensa lógicamente y puede escribir código. Nunca he usado FizzBuzz (¿Por qué los programadores no pueden … Programa?) Pero he usado estos:
Fundamentos:
- ¿Cuál es la diferencia entre el montón y la pila? ¿Qué variables residen en cada una? ¿Cómo difieren operacionalmente?
- Específico para C / C ++: ¿cuándo pasarías un puntero? ¿Una referencia?
- Explicar los usos apropiados para matrices, vectores, conjuntos y mapas.
- Explique los beneficios y los inconvenientes de la recursividad frente a la iteración.
- Cree un conjunto de casos de prueba para probar unitariamente una función de muestra.
- En detalle, ¿cómo sabe printf () qué hacer con sus argumentos?
Codificación:
- ¿Cómo diseñaría un algoritmo codicioso que conecta cada punto negro con un punto blanco para que la longitud total de los cables utilizados para formar tales pares conectados sea mínima?
- ¿En qué sitios web de programación competitiva debería comenzar si termino el curso del algoritmo MIT?
- ¿Cuál es su opinión sobre las entrevistas de programación?
- Dado un entero x, ¿cómo escribo el código para verificar si x puede escribirse como una potencia n ^ m (x, myn son positivas)?
- ¿Cómo encuentro el rango mínimo que contiene un número de cada matriz ordenada?
- Reescribe una muestra para el bucle () como un bucle while ().
- Reescribe una función iterativa de muestra usando recursión, o viceversa .
- Escribe una función para ordenar una matriz de números.
- Escriba una función que cuente el número de ocurrencias de cada carácter en una cadena.
- Escriba strcpy (), strncpy () y memcpy (), dadas sus especificaciones.
- Implemente una pila básica, un vector o un conjunto.