Logotipo de DevSkiller TalentBoostLogotipo de DevSkiller TalentScoreEl logo de DevSkillerLogotipo de TalentBoostLogotipo de TalentScore

Pantalla C y C++ Habilidades de los desarrolladores

Publicado: Última actualización:
C y C++: preguntas de entrevista a los ingenieros de software

Los desarrolladores de C y C++ no tienen el mismo interés que los desarrolladores de otros lenguajes. No son tan omnipresentes como los desarrolladores de JavaScript. No están tan bien conectados con temas candentes como la ciencia de los datos como los desarrolladores de Python. No usan una tecnología tan prometedora como los desarrolladores de Kotlin. Pero, a diferencia de las tecnologías que aparecen en los titulares, el C y el C++ siguen siendo los caballos de batalla de muchos sistemas esenciales, así como de áreas como la tecnología integrada y los juegos. Como resultado, todavía hay mucha demanda de desarrolladores de C y C++. Por lo tanto, la pregunta es: ¿cómo se evalúan las habilidades de los desarrolladores de C y C++?

C y C++ han existido desde hace mucho tiempo, así que hay mucho que aprender sobre ellos. Hay diferentes versiones, tecnologías y recursos que han sido construidos para estas pilas de tecnología. Necesitas usar preguntas de entrevista específicas en C y C++ ya que las que usas para lenguajes como Java simplemente no sirven. Hay conceptos que simplemente no verás fuera de C en C++. Además, necesitas la pantalla tecnológica correcta para ver si alguien tiene habilidades en C o C++. Pero no te preocupes, este post te dará el 411 sobre todo lo que necesitas saber sobre la selección y contratación de desarrolladores de C y C++.

En esta guía encontrarás:

c++ developer skills list1. ¿Qué es C y qué es C++?

Lo primero que tienes que entender es que C y C++ no son lo mismo. Como te puedes imaginar, C ha estado por aquí un poco más tiempo que C++. Introducido en 1972, C se convirtió en el estándar de facto a finales de esa década. La primera versión de C++ no apareció hasta 1984. Pero una vez más, todo lo que tomó fue 10 años para afianzarse. A principios de los 90, el C++ había ganado mucha popularidad.

1.1 ¿Cuál es la diferencia entre C y C++?

Para empezar, la C es un lenguaje de procedimiento. El C++, por otro lado, es un lenguaje de paradigmas múltiples. Sobresale en la programación procesal y orientada a objetos. Además, las nuevas características lo convierten en una opción práctica para la programación funcional. En la mayoría de los casos del mundo real, los programas en C++ utilizarán todos los paradigmas de programación disponibles en un grado u otro. De hecho, a menudo verás unLos tres paradigmas se mezclaron.

Los paradigmas de programación no son la única diferencia entre los dos. C está bastante cerca del nivel de máquina y a veces se le llama "ensamblador portátil". C++, por otro lado, está más cerca de los lenguajes de nivel superior como Java, C# y D (aunque todavía conserva algunas de las funciones de bajo nivel de C).

1.2 ¿Qué tiene de similar el C y el C++?

Más allá de estas diferencias, es cierto que hay algunas similitudes. La sintaxis usada por ambos lenguajes es a menudo llamada "sintaxis de la familia C". Debido a que el C ha sido tan popular, encontrará que la gramática y la sintaxis del C es la base de varios lenguajes de programación como Java, C#, C++, D, Objective-C, JavaScript, y muchos más.

¿Para qué se usan C y C++?2. ¿Para qué se usan C y C++?

2.1 ¿Para qué se usa la C?

Debido a que están tan cerca del nivel de la máquina, el C y el C++ se utilizan principalmente para aplicaciones en las que la velocidad de procesamiento y el ajuste manual son más importantes que el tiempo de ingeniería. Entre ellas se incluyen la programación de bajo nivel (BIOS), la programación integrada (dispositivos), la programación de sistemas (sistemas operativos) y la programación orientada al rendimiento (por ejemplo, motores de juegos, GPU/computación científica, criptografía).

El verdadero beneficio que C y C++ proporcionan es dar al programador la capacidad de decir lo que pasa con el programa en el nivel más bajo, más cercano al nivel de la máquina. Por un lado, esto le da a C y C++ un rendimiento increíble. La desventaja de esto es que hay un margen de error mucho menor para obtener el código correcto ya que carecen de la función de gestión de memoria de los lenguajes de nivel superior. Prácticamente, esto significa que puede llevar mucho más tiempo escribir código de trabajo en C y C++ que en un lenguaje de programación de nivel superior como Java o Python.

Debido a que el C está tan cerca del nivel de la máquina, es esencialmente la lingua franca del mundo de la programación. La mayoría de los otros lenguajes de programación se construyen usando C y la mayoría del software expone sus funciones en C. Casi todos los otros lenguajes son capaces de llamar a las funciones C.

En un nivel básico, la C es bastante fácil de aprender. Su sintaxis y gramática son bastante simples para aprender lo básico pero difíciles de dominar. A diferencia de otros lenguajes, el C carece de las herramientas que levantan la carga de trabajo que un desarrollador normalmente querría evitar.

2.2 ¿Para qué se utiliza C++?

C++ fue parcialmente desarrollado para resolver algunos de los problemas de bajo nivel de C, manteniendo un estilo de programación en C. Desafortunadamente, esto ha significado que la curva de aprendizaje para C++ es increíblemente empinada y es un lenguaje mucho más amigable para los expertos. Esto puede hacer aún más difícil el uso de un código base extranjero. De manera útil, las nuevas versiones de C++ permiten el subconjunto seguro y fácil de un código base extranjero. Aún así, depende del equipo de codificación evitar el uso de las construcciones inseguras y hacer cumplir las reglas.

C++ solía ser una extensión de C, pero en realidad, eso no ha sido así desde 1998. Ahora es en gran medida su propio lenguaje. La mayoría del código C compilará en C++ sin cambiarlo, pero tampoco es un subconjunto estricto del otro. Aún así, la brecha entre ambos continúa ampliándose a medida que se publican nuevos estándares.

2.3 ¿Cuál es la diferencia entre C y C++?

C++ permite que la mayoría de las construcciones y el código de C se compilen como código de C++, a la vez que permite más herramientas de programación como plantillas, RAII (Resource Acquisition Is Initialization), clases, expresiones lambda, una biblioteca estándar más grande y potente, y un sistema de tipos más fuerte.

Al mismo tiempo, C tiene algunas herramientas de las que carece C++. Estas incluyen inicializadores designados y arreglos de longitud variable (VLA). Una regla general es que si un entorno C++ está presente, entonces puedes estar cien por ciento seguro de que un entorno C está presente. Lo contrario no es necesariamente cierto.

¿Qué debería saber un reclutador de IT sobre C y C++?3. ¿Qué debería saber un reclutador de IT sobre C y C++?

C no ha cambiado en un tiempo. Las dos últimas revisiones, C11 y C18, ambas son bastante menores y no ofrecían grandes cambios. El futuro C21 tampoco parece ser innovador.

El C++, por otro lado, está empezando a progresar después de no haber hecho mucho en la última década. Ahora hay una revisión publicada cada tres años desde el C++ 11 con el C++ 20 que se predice que llegará a tiempo.

Casi todas las bibliotecas disponibles exponen una API o un binding C, aunque estén escritas en un idioma diferente. C++ puede ser usado para todas esas bibliotecas. También hay algunas bibliotecas sólo de C++ como Boost, Qt y POCO.

3.1 ¿Con qué herramientas y técnicas debería estar familiarizado un desarrollador de C o C++?

Probablemente lo más importante para un desarrollador de C es tener una comprensión de su aritmética de punteros y lo que constituye un comportamiento indefinido. Además, un desarrollador de C debería sentirse cómodo con el uso de herramientas de depuración como Address/Memory/UndefinedBehavior Sanitizer, Valgrind, depuradores (por ejemplo, GDB) y herramientas de análisis de código estático.

Un desarrollador de C++ debería ser capaz de entender todas las herramientas C, así como las librerías Boost y Qt, lo suficientemente bien como para poder usarlas.

Más allá de eso, cuando se mira la experiencia de un desarrollador, los proyectos comerciales y de código abierto dicen mucho sobre lo que son capaces de hacer.

Verificar las habilidades de C y C++Cómo verificar las habilidades de los desarrolladores de C y C++ en la fase de selección

Las entrevistas técnicas son costosas y llevan mucho tiempo para usted y sus candidatos. No quieres entrevistar a todos los que se presentan. En su lugar, es importante seleccionar a sus candidatos para que los únicos que lleguen a la etapa de la entrevista tengan las habilidades técnicas necesarias para el trabajo.

LECTURA RECOMENDADA: Completar los datos de los salarios de los desarrolladores de C++

4. 4. Evaluar a un desarrollador de C o un desarrollador de C++ usando su currículum vitae

El currículum es el primer lugar donde puedes buscar para encontrar pistas sobre lo que tu candidato puede hacer. Para un reclutador no técnico, este puede ser a menudo un lugar difícil para empezar, ya que la información es a menudo muy técnica. Para ayudarte, hemos reunido una lista de cosas que debes buscar en el currículum de un desarrollador de C y C++.

Glosario de C y C++4.1 Glosario de C y C++ para reclutadores técnicos

Bibliotecas C La Biblioteca Estándar C

  • La biblioteca descrita por el documento estándar C, que se envía con cada compilador

Otras, menos utilizadas universalmente, pero que siguen siendo bibliotecas populares:

GTK

  • Una biblioteca para crear interfaces gráficas de usuario

El Cairo

  • Una biblioteca de gráficos 2d

ALSA

  • Una biblioteca para interactuar con la Arquitectura de Sonido Avanzada de Linux

BLAS

  • Subprogramas de Álgebra Lineal Básica. Esta biblioteca se utiliza para operaciones eficientes de vectores y matrices

GMP

  • GNU Multi Precision. Una biblioteca que proporciona operaciones aritméticas sobre números de precisión arbitraria

cURL

  • La biblioteca de transferencia de archivos multiprotocolo. Se utiliza más comúnmente para las comunicaciones HTTP

OpenSSL

  • Una biblioteca de calidad comercial y muy popular utilizada como soporte de criptografía
C++ Bibliotecas La biblioteca estándar de C++

  • La biblioteca descrita por el documento estándar de C++, se envía con cada compilador

Impulso

  • Una de las bibliotecas más populares para C++, un conjunto de varias docenas de bibliotecas desconectadas que pueden ser usadas libremente en programas de C++

Qt

  • El marco de la interfaz gráfica de usuario para C++

STL

  • Un acrónimo controvertido, que normalmente significa Biblioteca Estándar C++, pero que se entiende como Biblioteca de plantillas estándarcomo si las partes no planas no fueran parte de ella.

Otras, menos utilizadas universalmente, pero que siguen siendo bibliotecas populares:

Eigen

  • Biblioteca de plantillas C++ para álgebra lineal (matrices, vectores, solucionadores numéricos y algoritmos relacionados)

GSL

  • Directrices Apoyar la implementación de la biblioteca, recomendada por Bjarne Stroustrup, Herb Sutter, y Co. en las Directrices Básicas de C++

Loki

  • patrones de diseño

Folly

  • Un conjunto de componentes C++11 que amplía la biblioteca estándar. Diseñado con la eficiencia y la practicidad en mente. Desarrollado por Facebook

Abseil

  • Una colección de bibliotecas de C++ que amplía la biblioteca estándar. Creada por Google

POCO

  • Un conjunto de bibliotecas que soportan HTTP, redes, encriptación y soporte de archivos zip.

WxWidgets

  • Una biblioteca que permite la creación de aplicaciones GUI independientes del sistema

OpenCV

  • Una biblioteca de visión computarizada, diseñada para la eficiencia computacional con un enfoque en aplicaciones en tiempo real

OpenMP

  • Menos de una biblioteca, y más de una especificación para los compiladores de cómo extender C++ para permitir un paralelismo simple y bien diseñado

IntelTBB

  • Una biblioteca de plantillas para el paralelismo de tareas. Diseñado por Intel
Compilador La herramienta utilizada para crear un ejecutable (una aplicación) a partir de la fuente C/C++, la más popular:

  • GCC - Colección de Compiladores GNU
  • MinGW GCC - Versión de Windows de GCC
  • Clang - Compilador del proyecto LLVM
  • MSVC (también llamado, algo incorrectamente, MSVS o Visual Studio) - El compilador de Microsoft
  • ICC - El compilador de Intel
Depurador Una herramienta para encontrar errores en los programas en ejecución

  • Valgrind
  • BGF
  • LLDB
  • WinDBG
Instrumentación del código Esta es una extensión del compilador para producir una versión de la aplicación que tiene como objetivo encontrar errores en lugar de rendimiento

  • Desinfectante de dirección/memoria/conducta indefinida
Análisis estático Un análisis del código fuente en términos de bugs. Existe software comercial que puede encontrar algunas clases de bugs de esta manera

  • CppCheck
  • Clang
  • Análisis del código estático de Klocwork
  • PC-Lint
  • Cobertura
  • PVS-Studio

4.2 Los nombres más comunes de las tecnologías C y C++ que se utilizan indistintamente

  • La Biblioteca Estándar C++ y STL se usan a veces de forma intercambiable, pero no correctamente

4.3 Las diferentes versiones de C y C++

Versiones de C

Las versiones de C están etiquetadas con el año en que fueron lanzadas (por ejemplo, C89 es C desde 1989). No hay versiones intermedias (por ejemplo, C06), pero algunas pueden referirse a versiones anteriores a la C89

Las revisiones más populares son:

  • C89
  • C95
  • C99
  • C11
  • C18
  • C21 (no publicado aún),
  • ANSI C

Versiones de C++

Las versiones de C++ se etiquetan de la misma manera que las versiones de C con el año en que fueron publicadas.

Las revisiones más populares son:

  • C++84 - no es una revisión real, pero a veces se usa para definir el pre-estándar C++
  • C++98
  • C++03
  • C++11
  • C++14
  • C++17
  • C++20 (no publicado aún)

Además, puede ver los nombres que se le dieron a las versiones mientras se desarrollaban.

  • C++0x (nombre en progreso para C++11, que se suponía que se enviaría antes de 2010)
  • C++1y (nombre en curso para C++14)
  • C++1z (nombre en curso para C++17)
  • C++2a (¿nombre en progreso para C++20?)

4.4 La proximidad de las respectivas versiones de las tecnologías C y C++ entre sí

  • C11/C18 - casi lo mismo
  • C++98/C++03 - casi lo mismo
  • C++11/C++14 - cambios menores
  • C++14/C++17 - cambios menores (pero suficientes para que la diferencia entre C++11/C++17 sea significativa)

4.5 ¿Qué versiones son completamente diferentes?

  • C++03/C++11 - el mayor cambio en la historia de C++
  • C++11/C++17 - cambio gradual sobre las revisiones
  • C89/C99 - grandes cambios en términos de seguridad de tipos y soporte para el código de problemas heredados

4.6 ¿Qué importancia tienen los certificados C y C++ para evaluar las habilidades de codificación de un candidato?

No hay certificaciones respetadas de C/C++. Como resultado, es mejor ignorar cualquiera en un currículum ya que no te dirán nada sobre el nivel de habilidad del candidato.

4.7 Otras cosas a tener en cuenta en el currículum de un desarrollador de C o C++

Cuidado con si el candidato:

  • Especifica la versión del idioma que han utilizado
  • Ha trabajado en un típico proyecto de C++
  • Tiene participación en grandes proyectos, que se ocupan de requisitos únicos y estrictos

Además, si se menciona lo siguiente, las entrevistas técnicas pueden evaluar al candidato basándose en su historial públicamente visible:

  • Hablando en conferencias
  • Asistir a conferencias
  • Escribir artículos para revistas técnicas
  • Escribir un blog técnico
  • Contribución al OSS
  • Contribuyendo a los sitios de respuesta (por ejemplo, Stack Overflow)

C and C++ phone interview questions - c++ developer skills list5. Preguntas de entrevista en C y C++ para hacer durante una entrevista técnica por teléfono/video

Puede ser bastante difícil confiar completamente en un currículum. Después de todo, es importante desafiar al candidato en lo que dice para ver si realmente tiene las habilidades o simplemente está informando que las tiene. Aunque una entrevista telefónica no compensa una prueba de codificación adecuada, puede ayudar a entender lo que el candidato piensa y cómo resuelve los problemas.

5.1 Preguntas sobre la experiencia del candidato

Q1: (C/C++) ¿Cuáles fueron las limitaciones de sus proyectos anteriores?

Por qué debería preguntarle a Q1: El candidato debe ser capaz de compartir su experiencia con la industria en cuestión. Por ejemplo, en la programación incrustada, es difícil utilizar la memoria dinámica y para los juegos, es muy importante asegurarse de que todos los cálculos estén terminados en el momento de renderizar un cuadro.

Q2: (C/C++) ¿Para qué sistemas has programado?

Por qué debería preguntarle a Q2: En cierto modo, la programación para Embedded/Desktop y Linux/Windows/OSX es muy diferente.

Q3: (C/C++) ¿Estaba usted codificando según algún estándar específico?

Por qué debería preguntarle a Q3: El candidato puede decirle si tiene experiencia con MISRA, etc.

5.2 Preguntas sobre los conocimientos y opiniones del candidato

Q1: (C++) ¿Cuáles son las principales diferencias entre C++ y C?

Por qué debería preguntarle a Q2: Esta pregunta permitirá al candidato mostrar su comprensión de los lenguajes, así como si tratan el C++ como una pequeña adición al lenguaje C o como un lenguaje separado con diferentes patrones de uso.

Q2: (C) ¿Qué es la aritmética del puntero?

Por qué debería preguntarle a Q2: Esta pregunta permitirá al candidato expresar su comprensión de la forma fundamental en que C trata la memoria.

Q3: (C++)¿Qué es la aritmética de puntero?

Por qué debería preguntarle a Q3: Esta pregunta le dará al candidato la oportunidad de expresar su comprensión de la forma fundamental en que C trata la memoria. Cuidado: para C++, esta pregunta implica el uso de patrones inseguros y anticuados en su base de código.

Q4: (C++, nivel de entrada) ¿Cuál es la diferencia entre una clase y un objeto?

Por qué debería preguntarle a Q4: Para determinar si el candidato entiende lo básico de C++.

Q5: (C++) ¿Qué es una expresión lambda?

Por qué debería preguntarle a Q5: Para determinar si el candidato conoce los avances que C++ ha hecho desde C++03 (las expresiones lambda se introdujeron en C++11) y los entiende.

Q6: (C/C++) ¿Qué son las cerraduras, qué problemas resuelven y cuáles son los problemas potenciales con ellas?

Por qué debería preguntarle a Q6: Esto mostrará la comprensión del candidato de las cerraduras, las condiciones de la carrera, los puntos muertos y los candados.

Q7: (C/C++, experto) ¿Qué es volátily ¿cómo se relaciona con la cuestión de los bloqueos y la sincronización?

Por qué debería preguntarle a Q7: El candidato debe ser capaz de decir que volátil sólo se utilizará para acceder al hardware, y no para la sincronización.

Q8: (C++) ¿Cómo crearía una matriz dinámica?

Por qué debería preguntarle al Q8: Esto mostrará si el candidato usará un buen enfoque, como std::vectoro el anticuado e inseguro nuevo.

Q9: (C++) ¿Qué es el RAII? ¿Otros idiomas lo tienen?

Por qué debería preguntarle a Q9: Esto mostrará si el candidato conoce este idioma fundamental de C++ y si entiende lo que significa. Puntos de bonificación por describir características opcionales similares en otros idiomas, como con() en Python o usando en C#.

Q10: (C++) ¿Puedes lanzar desde un destructor?

Por qué debería preguntarle a Q10: El candidato podrá entrar en detalles aquí. La esencia de esto es: puedes, pero es una mala práctica, y está desactivada por defecto desde C++11, ya que los destructores están entonces implícitamente nothrow.

Q11: (C++) ¿Puedes heredar un constructor?

Por qué debería preguntarle a Q11: El candidato puede responder acerca de que esto es posible desde C++11, el ligero cambio en la forma en que funcionaba en C++14, y de las ramificaciones de este cambio.

Q12: (C++) ¿Puedes tener un constructor virtual?

Por qué debería preguntarle a Q12: La respuesta corta es no, pero el candidato puede demostrar su rapidez de pensamiento mencionando los patrones de fábrica y de prototipos.

Q13: (C++) ¿Qué es una interfaz?

Por qué debería preguntarle a Q13: Esta es una pregunta un poco truculenta porque C++ no tiene interfaces. Sin embargo, tiene clases abstractas, y se supone que el candidato debe hablar de ellas.

Q14: (C++, experto) ¿Puede tener una implementación de una función puramente virtual?

Por qué debería preguntarle a Q14: La respuesta es sí, pero la utilidad es limitada.

Q15: (C++, experto) ¿Puedes tener una función de plantilla virtual y por qué?

Por qué debería preguntarle a Q15: El candidato podrá mostrar su comprensión de la distinción entre tiempo de compilación y tiempo de ejecución, así como los detalles de implementación como vtables.

Q16: (C++, experto) ¿Cómo pondría en práctica std::es_misma?

Por qué debería preguntarle a Q16: El candidato podrá demostrar sus conocimientos de metaprogramación aplicando este trivial ejemplo.

Q17: (C/C++) ¿Cuál es tu cambio favorito (o varios cambios) en Cnn/C++nn?

Por qué debería preguntarle a Q17: Para mostrar si el candidato se mantiene al día con los cambios en el(los) idioma(s) y si es consciente de los modismos de codificación ligeramente diferentes en las distintas versiones del idioma.

Q18: (C++) ¿Cuáles son las diferencias entre C++98 y C++11

Por qué debería preguntarle a Q18: C++11 fue un cambio importante en el lenguaje C++, sus paradigmas y patrones. El candidato será capaz de mostrar su conocimiento de este gran cambio.

Q19: (C/C++) ¿Cómo detectaría y arreglaría un error de corrupción de la memoria?

Por qué debería preguntarle a Q19: Para mostrar el proceso de pensamiento, y el conocimiento y las herramientas útiles en tal esfuerzo.

Q20: (C/C++) ¿Tiene experiencia en el uso de asignadores personalizados?

Por qué debería preguntar en el Q20: El candidato podrá compartir su experiencia con los asignadores personalizados.

Q21: (C/C++) Tiene el marco/biblioteca X en su currículum, describa su experiencia con él. ¿Fue una buena elección usarla? ¿Hay alguna alternativa que hubiera preferido, o que preferiría ahora?

Por qué debería preguntarle al Q21: Esta es una pregunta abierta, que permite al reclutador saber si el candidato tiene una visión amplia de los campos, conoce las alternativas y entiende las compensaciones que se toman al elegir una u otra solución.

Q22: (C/C++) ¿Cuál es su sistema de construcción preferido y por qué? ¿Cómo se compara con la competencia?

Por qué debería preguntarle al Q22: Esto mostrará el conocimiento del candidato sobre los sistemas de construcción.

5.3 Preguntas sobre el comportamiento debe preguntar para entender cómo ha actuado el candidato en el pasado

Q1: ¿Cuál es su mayor éxito en la programación? ¿Por qué sucedió? ¿Cómo puedes repetirla?

Por qué debería preguntarle a Q1: Esta pregunta permitirá al candidato presentar una historia de éxito y mostrará al reclutador si el candidato está más interesado en resolver el problema o en recibir los elogios.

Q2: ¿Cuál fue su mayor fracaso de programación? ¿Por qué ocurrió? ¿Cómo puedes evitar repetirlo en el futuro?

Por qué debería preguntarle a Q2: Esta pregunta permitirá al candidato presentar una historia potencialmente preocupante, y mostrará al reclutador si el candidato está abierto al respecto. Además, mostrará si están más interesados en resolver el problema o en cambiar la culpa.

Q3: (para los solicitantes de nivel más alto) ¿Le gustaría ser mentor de un desarrollador junior? ¿Por qué? ¿Cómo lo harías? ¿Tienes alguna experiencia como mentor de otras personas?

Por qué debería preguntarle a Q3: Esto permitirá al reclutador evaluar el interés del candidato y las habilidades sociales necesarias para compartir el conocimiento.

Technical screening of C and C++ developer skills6. 6. Examen técnico de las habilidades de los desarrolladores de C o C++ usando una prueba de codificación en línea

Lo que hay que tener absolutamente claro con los desarrolladores de C y C++ es que es esencial que tengan unas habilidades de codificación inmaculadas. C no permite ningún margen de error y C++ no permite mucho más. Ciertamente, una pantalla de currículum y una pantalla de teléfono pueden ayudarte a eliminar algunos de tus candidatos. Dicho esto, lo último que quieres hacer es invitar a un candidato a una entrevista técnica sólo para descubrir que nunca tuvieron las habilidades de codificación que necesitas todo el tiempo.

6.1 ¿Qué prueba de programación en línea en C o C++ debe elegir?

Cuando se busca el derecho Prueba de programación en línea en C o C++ deberías asegurarte de que coinciden con los siguientes criterios.

  • Reflejan el trabajo real que se está haciendo
  • No le quitan mucho tiempo a los candidatos, una o dos horas como máximo.
  • Pueden ser enviados automáticamente y pueden ser llevados a cualquier lugar
  • Van más allá de comprobar si la solución funciona para comprobar también la calidad del código y lo bien que funciona en los casos de borde.
  • Están tan cerca del entorno de programación natural como es posible y dejan que el candidato acceda a los tipos de recursos que normalmente utilizarían en el trabajo.
  • Dejan que el candidato utilice todas las bibliotecas, marcos y otras herramientas que normalmente utilizarían
  • Están en un nivel adecuado que coincide con las habilidades del candidato

7. Pruebas de evaluación de la codificación de desarrolladores en C y C++ listos para usar en línea de DevSkiller

Las pruebas de codificación de DevSkiller utilizan nuestro RealLifeTestingTM metodología para reflejar el entorno de codificación real en el que trabaja su candidato. En lugar de usar algoritmos oscuros, las pruebas de DevSkiller requieren que los candidatos construyan aplicaciones o características. Se califican de forma completamente automática y se pueden tomar desde cualquier lugar del mundo. Al mismo tiempo, el candidato tiene acceso a todos los recursos que normalmente utilizaría, incluyendo bibliotecas, marcos de trabajo, StackOverflow e incluso Google.

Las compañías usan DevSkiller para probar a los candidatos usando su propia base de código desde cualquier parte del mundo. Para hacerlo más fácil, DevSkiller también ofrece un número de pruebas de codificación C y C++ como las de aquí:

C++
MIDDLE
Habilidades probadas
Duración
55 minutos como máximo.
Evaluación
Automático
Resumen de la prueba

Preguntas de elección

evaluando el conocimiento de C++

Tarea de programación - Nivel: Medio

C++ | Codificación de longitud de carrera - Implementar codificación de la longitud de ejecución para las cadenas de texto ASCII.

Compartir correo

Más información sobre la contratación de tecnología

Suscríbase a nuestro Learning Hub para recibir información útil directamente en su bandeja de entrada.

Verificar y desarrollar las habilidades de codificación sin problemas.

Vea los productos DevSkiller en acción.

Certificaciones de seguridad y cumplimiento. Nos aseguramos de que sus datos estén seguros y protegidos.