Tela C e C++ Habilidades dos Desenvolvedores

Publicado: Última actualização:
C e C++: perguntas de engenheiro de software para entrevistas

Desenvolvedores em C e C++ não recebem o mesmo burburinho que desenvolvedores em outras línguas. Eles não são tão onipresentes como os desenvolvedores de JavaScript. Eles não são tão bem conectados a tópicos quentes como ciência de dados como os desenvolvedores Python. Eles não usam uma tecnologia tão promissora como os desenvolvedores do Kotlin usam. Mas ao contrário das tecnologias que fazem todas as manchetes, C e C++ continuam a ser os cavalos de batalha de muitos sistemas essenciais, bem como áreas como tecnologia embarcada e jogos. Como resultado, ainda há muita demanda para os desenvolvedores de C e C++. Então a questão se torna, como você seleciona as habilidades dos desenvolvedores em C e C++?

C e C++ já existem há muito tempo, por isso há muito a aprender sobre eles. Existem diferentes versões, tecnologias e recursos que foram construídos para estas pilhas de tecnologia. Você precisa usar perguntas específicas de entrevista em C e C++, pois as que você usa para linguagens como Java simplesmente não cortam. Há conceitos que você simplesmente não verá fora do C em C++. Além disso, você precisa da tela técnica certa para ver se alguém tem habilidades em C ou C++. Mas não se preocupe, este post lhe dará o 411 sobre tudo o que você precisa saber sobre triagem e contratação de desenvolvedores em C e C++.

Neste guia você vai encontrar:

c++ lista de competências do desenvolvedor1. O que é C e o que é C++?

A primeira coisa que você tem que entender é que C e C++ não são a mesma coisa. Como você pode imaginar, C já existe há um pouco mais de tempo do que C++. Introduzido em 1972, C tornou-se o padrão de facto no final dessa década. A primeira versão do C++ só apareceu em 1984. Mas, mais uma vez, tudo o que levou 10 anos para ser alcançado. No início dos anos 90, o C++ tinha ganho muita popularidade.

1.1 Qual é a diferença entre C e C++?

Para começar, C é uma linguagem processual. O C++, por outro lado, é uma linguagem de múltiplos paradigmas. Ela se sobressai na programação procedural e orientada a objetos. Além disso, as novas características fazem dela uma escolha prática para a programação funcional. Na maioria dos casos do mundo real, os programas em C+++ usarão todos os paradigmas de programação disponíveis em algum grau ou em outro. Na verdade, você verá frequentemente umTrês paradigmas se misturam.

Os paradigmas de programação não são a única diferença entre os dois. C está muito próximo do nível da máquina e é por vezes referido como o "assembler portátil". C++, por outro lado, está mais próximo de linguagens de nível superior como Java, C# e D (embora ainda retenha algumas das funções de baixo nível de C).

1.2 O que há de semelhante em C e C++?

Para além destas diferenças, é certamente verdade que existem algumas semelhanças. A sintaxe usada por estas duas linguagens é muitas vezes chamada de "sintaxe da família C". Como o C tem sido tão popular, você verá que a gramática e sintaxe do C é a base para várias linguagens de programação como Java, C#, C++, D, Objective-C, JavaScript, e muitas outras.

Para que são usados C e C++?2. Para que são usados C e C++?

2.1 Para que é usado o C?

Por estarem tão próximos do nível da máquina, C e C++ são usados principalmente para aplicações onde a velocidade de processamento e a sintonia manual são mais importantes do que o tempo de engenharia. Estes incluem programação de baixo nível (BIOS), programação embarcada (dispositivos), programação de sistemas (sistemas operacionais) e programação orientada para performance (por exemplo, motores de jogos, GPU/computações científicas, criptografia).

O verdadeiro benefício C e C++ proporciona ao programador a capacidade de dizer o que acontece com o programa no nível mais baixo, mais próximo do nível da máquina. Por um lado, isto dá ao C e ao C++ um desempenho incrível. O lado negativo disto é que há uma margem de erro muito menor para acertar o código, pois falta a função de gerenciamento de memória das linguagens de nível superior. Praticamente, isto significa que pode levar muito mais tempo para escrever código de trabalho em C e C++ do que numa linguagem de programação de nível superior como Java ou Python.

Porque C está tão perto do nível da máquina, é essencialmente a lingua franca do mundo da programação. A maioria das outras linguagens de programação são construídas usando C e a maioria dos softwares expõe suas funções em C. Quase todas as outras linguagens são capazes de chamar funções em C.

Em um nível básico, C é muito fácil de aprender. A sua sintaxe e gramática são bastante simples de aprender o básico, mas difíceis de dominar. Ao contrário de outras linguagens, C não tem as ferramentas que aliviam a carga de trabalho ocupado que um desenvolvedor normalmente gostaria de evitar.

2.2 Para que é usado C++?

O C++ foi parcialmente desenvolvido para resolver alguns dos problemas de baixo nível do C, mantendo um estilo de programação em C. Infelizmente, isto significa que a curva de aprendizado do C++ é incrivelmente íngreme e é uma linguagem muito mais amigável aos especialistas. Isto pode tornar ainda mais difícil a utilização de uma base de código estrangeiro. De forma útil, as novas versões do C++ permitem o subconjunto seguro e fácil de uma base de código estrangeira. Mesmo assim, cabe à equipe de codificação evitar o uso de construções inseguras e aplicar as regras.

C++ costumava ser uma extensão de C, mas na verdade, isso não é verdade desde 1998. Agora é muito mais a sua própria linguagem. A maioria dos códigos em C irá compilar em C++ sem alterá-lo, mas nenhum deles é um subconjunto rígido do outro. Ainda assim, a lacuna entre os dois continua a aumentar à medida que novos padrões são lançados.

2.3 Qual é a diferença entre C e C++?

C+++ permite que a maioria das construções e códigos em C sejam compilados como código C++, enquanto também permite mais ferramentas de programação tais como templates, RAII (Resource Acquisition Is Initialization), classes, expressões lambda, uma biblioteca padrão maior e mais poderosa, e um sistema de tipo mais forte.

Ao mesmo tempo, C tem algumas ferramentas que falta a C++. Estas incluem inicializadores designados e matrizes de comprimento variável (VLAs). Uma regra geral é que se um ambiente C++ está presente, então você pode estar cem por cento certo de que um ambiente C está presente. O oposto não é necessariamente verdade.

O que um recrutador de TI deve saber sobre C e C++?3. O que um recrutador de TI deve saber sobre C e C++?

Há algum tempo que o C não muda. As duas últimas revisões, C11 e C18, ambas são bem menores e não ofereceram grandes mudanças. O futuro C21 também não parece ser revolucionário.

O C++, por outro lado, está começando a progredir depois de não ter feito muito durante a última década. Há agora uma revisão lançada a cada três anos desde C++ 11, com C++ 20 previsto para chegar a tempo.

Quase todas as bibliotecas disponíveis expõem uma API C ou encadernação, mesmo que sejam escritas em um idioma diferente. O C++ pode ser usado para todas essas bibliotecas. Existem também algumas bibliotecas em C++ apenas, tais como Boost, Qt e POCO.

3.1 Com que ferramentas e técnicas um desenvolvedor C ou C++ deve estar familiarizado?

Provavelmente a coisa mais importante para um desenvolvedor C é ter uma compreensão da aritmética do ponteiro e do que constitui um comportamento indefinido. Além disso, um desenvolvedor em C deve estar confortável com o uso de ferramentas de depuração, como o Sanitizer Address/Memory/UndefinedBehavior, Valgrind, debuggers (por exemplo, GDB), e ferramentas de análise de código estático.

Um desenvolvedor C++ deve ser capaz de entender todas as ferramentas C, bem como as bibliotecas Boost e Qt, bem o suficiente para poder usá-las.

Além disso, ao olhar para uma experiência de desenvolvedores, projetos comerciais e de código aberto dizem mais sobre o que eles são capazes de fazer.

Verificar as habilidades C e C++Como verificar as habilidades do desenvolvedor C e C++ na fase de triagem

As entrevistas técnicas são caras e demoradas para si e para os seus candidatos. Você não quer entrevistar todos os que se inscrevem. Em vez disso, é importante selecionar os seus candidatos para que os únicos que chegam à fase de entrevista tenham as habilidades técnicas necessárias para o trabalho.

LEITURA RECOMENDADA: Dados salariais completos do desenvolvedor C++

4. Rastreamento de um desenvolvedor C ou de um desenvolvedor C++ usando seu currículo

O currículo é o primeiro lugar que você pode procurar para encontrar pistas sobre o que o seu candidato pode fazer. Para um recrutador não técnico, este pode ser muitas vezes um lugar difícil de começar, uma vez que a informação é muitas vezes altamente técnica. Para ajudá-lo, nós elaboramos uma lista de coisas a serem procuradas no currículo de um desenvolvedor C e C++.

Glossário C e C++4.1 Glossário C e C++ para recrutadores técnicos

bibliotecas C A Biblioteca Standard C

  • A biblioteca descrita pelo documento padrão C, enviando com cada compilador

Outras, menos usadas universalmente, mas ainda populares, bibliotecas:

GTK

  • Uma biblioteca para a criação de interfaces gráficas de usuário

Cairo

  • Uma biblioteca gráfica 2d

ALSA

  • Uma biblioteca para interagir com a Arquitectura Avançada de Som do Linux

BLAS

  • Subprogramas Básicos de Álgebra Linear. Esta biblioteca é utilizada para operações vectoriais e matriciais eficientes.

GMP

  • GNU Multi Precisão. Uma biblioteca que fornece operações aritméticas sobre números de precisão arbitrária.

cURL

  • A biblioteca de transferência de arquivos multiprotocolo. Mais comumente usada para comunicações HTTP

OpenSSL

  • Uma biblioteca de qualidade comercial e muito popular, utilizada para suporte de criptografia.
Bibliotecas C++ A Biblioteca Standard C++

  • A biblioteca descrita pelo documento padrão C++, enviando com cada compilador

Impulso

  • Uma das bibliotecas mais populares do C++, um conjunto de várias dezenas de bibliotecas desconectadas que podem ser usadas livremente em programas C++.

Pt

  • A estrutura de GUI para C++

STL

  • Um acrônimo controverso, que geralmente significa C++ Biblioteca Padrão, mas é entendido como Biblioteca de modelos padrãocomo se as partes que não fazem parte do modelo não fizessem parte dele.

Outras, menos usadas universalmente, mas ainda populares, bibliotecas:

Eigen

  • Biblioteca de modelos C++ para álgebra linear (matrizes, vetores, solvers numéricos e algoritmos relacionados)

GSL

  • Diretrizes Suporte à implementação de bibliotecas, recomendado por Bjarne Stroustrup, Herb Sutter, e Co. em C++ Diretrizes Principais

Loki

  • padrões de design

Folly

  • Um conjunto de componentes C++11 estendendo a biblioteca padrão. Projetado com eficiência e praticidade em mente. Desenvolvido por Facebook

Abseil

  • Uma coleção de bibliotecas C++ que ampliam a biblioteca padrão. Criada pela Google

POCO

  • Um conjunto de bibliotecas com suporte a HTTP, rede, criptografia e suporte a arquivos zip

WxWidgets

  • Uma biblioteca que permite a criação de aplicações GUI independentes do sistema

OpenCV

  • Uma biblioteca de visão computacional, projetada para eficiência computacional com foco em aplicações em tempo real

OpenMP

  • Menos biblioteca e mais especificação para compiladores como estender C++ para permitir um paralelismo simples e bem desenhado

IntelTBB

  • Uma biblioteca de modelos para o paralelismo de tarefas. Desenhada pela Intel
Compilador A ferramenta utilizada para criar um executável (uma aplicação) a partir da fonte C/C++, a mais popular:

  • GCC - Coleção de Compiladores GNU
  • MinGW GCC - Versão Windows do GCC
  • Clang - Compilador pelo projeto LLVM
  • MSVC (também chamado, de forma algo incorreta, MSVS ou Visual Studio) - Compilador da Microsoft
  • ICC - Compilador da Intel
Depurador Uma ferramenta para encontrar bugs em programas em execução

  • Valgrind
  • GDB
  • LLDB
  • WinDBG
Instrumentação de código Esta é uma extensão do compilador para produzir uma versão da aplicação que visa encontrar bugs ao invés de performance

  • Endereço/Sanitizador de Memória/Comportamento Indefinido
Análise estática Uma análise do código fonte em termos de bugs. Existe software comercial que pode encontrar algumas classes de bugs desta forma

  • CppCheck
  • Clang
  • Análise do Código Estático Klocwork
  • PC-Lint
  • Cobertura
  • PVS-Studio

4.2 Os nomes mais comuns das tecnologias C e C++ que são utilizados de forma intercambiável

  • A Biblioteca Standard C++ e o STL são por vezes utilizados de forma intermutável, mas não correctamente.

4.3 As diferentes versões de C e C++

Versões de C

As versões de C são etiquetadas com o ano em que foram lançadas (por exemplo, C89 é C de 1989). Não há versões intermediárias (por exemplo, C06), mas algumas podem se referir a versões anteriores a C89

As revisões mais populares são:

  • C89
  • C95
  • C99
  • C11
  • C18
  • C21 (ainda não publicado),
  • ANSI C

Versões de C++

As versões de C++ são rotuladas da mesma forma que as versões de C com o ano em que foram publicadas.

As revisões mais populares são:

  • C++84 - não é uma revisão real, mas às vezes é usado para definir C++ pré-padrão.
  • C++98
  • C++03
  • C++11
  • C++14
  • C++17
  • C++20 (ainda não publicado)

Além disso, você pode ver os nomes que as versões foram dadas enquanto elas estavam sendo desenvolvidas.

  • C++0x (nome em progresso para C++11, que deveria ter sido enviado antes de 2010)
  • C++1y (nome em progresso para C++14)
  • C++1z (nome em progresso para C++17)
  • C++2a (nome em progresso para C++20?)

4.4 Quão próximas estão as respectivas versões das tecnologias C e C++ uma da outra

  • C11/C18 - quase o mesmo
  • C+++98/C+++03 - quase o mesmo
  • C+++11/C+++14 - pequenas alterações
  • C+++14/C+++17 - pequenas alterações (mas suficientes para fazer a diferença entre C++11/C+++17 significativa)

4.5 Que versões são completamente diferentes?

  • C+++03/C+++11 - a maior mudança na história do C++
  • C+++11/C+++17 - mudança gradual nas revisões
  • C89/C99 - grandes mudanças em termos de segurança de tipo e suporte a código de problema legado

4.6 Qual é a importância dos certificados C e C++ para avaliar as habilidades de codificação de um candidato?

Não existem certificações C/C++ respeitadas. Como resultado, é melhor ignorar qualquer uma delas num currículo, pois não lhe dirão nada sobre o nível de habilidade do candidato.

4.7 Outras coisas a ter em conta no currículo de um desenvolvedor em C ou C++

Cuidado com o candidato:

  • Especifica a versão do idioma que utilizaram
  • Trabalhou em um projeto C++ típico
  • Tem participação em grandes projectos, lidando com requisitos únicos e rigorosos

Além disso, se for mencionado o seguinte, as entrevistas técnicas podem avaliar o candidato com base no seu histórico publicamente visível:

  • Falando em conferências
  • Participação em conferências
  • Escrever artigos para revistas técnicas
  • Escrever um blog técnico
  • Contribuição para o SAA
  • Contribuir para responder aos sites (por exemplo, Stack Overflow)

Perguntas de entrevista por telefone em C e C++ - lista de competências do desenvolvedor c++5. Perguntas de entrevista C e C++ a fazer durante uma entrevista técnica por telefone/vídeo

Pode ser bastante difícil depender inteiramente de um currículo. Afinal, é importante desafiar o candidato sobre o que ele diz ter para ver se ele realmente tem as habilidades ou se está simplesmente relatando que as tem. Embora uma entrevista por telefone não compense um teste de codificação adequado, pode ajudá-lo a entender o que o candidato pensa e como eles resolvem os problemas.

5.1 Perguntas sobre a experiência do candidato

Q1: (C/C++) Quais foram as restrições para os seus projectos anteriores?

Por que você deve perguntar Q1: O candidato deve ser capaz de partilhar a sua experiência com a indústria em questão. Por exemplo, na programação integrada, é difícil usar memória dinâmica e, para jogos, é muito importante garantir que todos os cálculos estejam concluídos até o momento de renderizar um frame.

Q2: (C/C++) Para que sistemas você programou?

Por que você deve perguntar Q2: Em alguns aspectos, a programação para Embedded/Desktop e Linux/Windows/OSX é muito diferente.

Q3: (C/C++) Você estava codificando aderindo a algum padrão específico?

Por que você deve perguntar Q3: O candidato pode dizer-lhe se tem experiência com MISRA, etc.

5.2 Perguntas sobre os conhecimentos e opiniões do candidato

Q1: (C++) Quais são as principais diferenças entre C++ e C?

Por que você deve perguntar Q2: Esta questão permitirá ao candidato mostrar seu entendimento dos idiomas, bem como se ele trata C++ como um pequeno acréscimo ao idioma C ou um idioma separado com diferentes padrões de uso.

Q2: (C) O que é aritmética de ponteiro?

Por que você deve perguntar Q2: Isto é sobretudo para C. Esta pergunta permitirá ao candidato expressar a sua compreensão da forma fundamental como C lida com a memória.

Q3: (C++)O que é aritmética de ponteiro?

Por que você deve perguntar Q3: Esta questão dará ao candidato a oportunidade de expressar a sua compreensão da forma fundamental como C lida com a memória. Cuidado: para C++, esta pergunta implica o uso de padrões inseguros e desatualizados em sua base de código.

Q4: (C++, nível de entrada) Qual é a diferença entre uma classe e um objeto?

Por que você deve perguntar Q4: Para determinar se o candidato entende o básico de C++.

Q5: (C++) O que é uma expressão lambda?

Por que você deve perguntar Q5: Para determinar se o candidato conhece os avanços que C+++ tem feito desde C++03 (expressões lambda foram introduzidas em C++11) e os entende.

Q6: (C/C++) O que são fechaduras, que problemas elas resolvem e quais são os potenciais problemas com elas?

Por que você deve perguntar Q6: Isto mostrará a compreensão do candidato sobre fechaduras, condições de corrida, bloqueios e bloqueios vivos.

Q7: (C/C++, especialista) O que é volátile como se relaciona com a questão das fechaduras e sincronização?

Por que você deve perguntar Q7: O candidato deve ser capaz de dizer que volátil só deve ser utilizado para acesso ao hardware, e não para sincronização.

Q8: (C++) Como você criaria uma matriz dinâmica?

Por que você deve perguntar Q8: Isto mostrará se o candidato vai usar uma boa abordagem, como std::vectorou o obsoleto e inseguro novo.

Q9: (C++) O que é a RAII? Tem outros idiomas?

Por que você deveria perguntar Q9: Isto mostrará se o candidato conhece este idioma fundamental C++ e se compreende o seu significado. Pontos de bônus para descrever características opcionais similares em outras línguas, como com() em Python ou usando no C#.

Q10: (C++) Você pode jogar de um destruidor?

Por que você deve perguntar Q10: O candidato poderá entrar em detalhes aqui. A essência é: você pode, mas é uma má prática, e está desativado por padrão desde C++11, já que os destruidores estão implicitamente Nothrow.

Q11: (C++) Você pode herdar um construtor?

Por que você deveria perguntar ao Q11: O candidato pode responder sobre isso ser possível desde C++11, a ligeira mudança na forma como funcionava em C++14, e das ramificações dessa mudança.

Q12: (C++) Você pode ter um construtor virtual?

Por que você deve perguntar Q12: A resposta curta é não, mas o candidato pode mostrar seu raciocínio rápido mencionando os padrões de fábrica e protótipos.

Q13: (C++) O que é uma interface?

Por que você deve perguntar Q13: Esta é uma pergunta com rasteira porque o C++ não tem interfaces. No entanto, ele tem aulas abstratas, e é suposto o candidato falar sobre elas.

Q14: (C++, especialista) Você pode ter uma implementação de uma função puramente virtual?

Por que você deve perguntar Q14: A resposta é sim, mas a usabilidade é limitada.

Q15: (C++, especialista) Você pode ter uma função de modelo virtual e por quê?

Por que você deve perguntar Q15: O candidato será capaz de demonstrar a sua compreensão da distinção entre tempo de compilação e tempo de execução, bem como detalhes de implementação, tais como vtables.

Q16: (C++, especialista) Como você implementaria std::is_same?

Por que você deve perguntar Q16: O candidato será capaz de mostrar seus conhecimentos de metaprogramação, implementando este exemplo trivial.

Q17: (C/C++) Qual é a sua alteração favorita (ou uma série de alterações) em Cnn/C++nn?

Por que você deve perguntar Q17: Para mostrar se o candidato acompanha as mudanças no(s) idioma(s) e se está ciente de idiomas de codificação ligeiramente diferentes em diferentes versões do idioma.

Q18: (C+++) Quais são as diferenças entre C++98 e C+++11

Por que você deve perguntar Q18: C++11 foi uma grande mudança na linguagem C++, seus paradigmas e padrões. O candidato será capaz de mostrar seus conhecimentos sobre esta grande mudança.

Q19: (C/C++) Como você detectaria e consertaria um bug de corrupção de memória?

Por que você deve perguntar Q19: Mostrar o processo de pensamento, o conhecimento e as ferramentas úteis em tal esforço.

Q20: (C/C++) Você tem experiência na utilização de alocadores personalizados?

Por que você deve perguntar Q20: O candidato será capaz de compartilhar sua experiência com alocadores personalizados.

Q21: (C/C++) Você tem enquadramento/library X no seu currículo, descreva a sua experiência com ele. Foi uma boa escolha usá-la? Existe uma alternativa que você preferia, ou prefere agora?

Por que você deve perguntar Q21: Esta é uma questão em aberto, permitindo ao recrutador saber se o candidato tem uma visão ampla dos campos, conhece as alternativas e compreende as contrapartidas tomadas ao escolher uma ou outra solução.

Q22: (C/C++) Qual é o seu sistema de construção preferido e porquê? Como ele se compara com a concorrência?

Por que você deve perguntar Q22: Isto irá mostrar o conhecimento do candidato sobre sistemas de construção.

5.3 Questões Comportamentais você deve pedir para entender como o candidato tem agido no passado

Q1: Qual é a sua maior história de sucesso em programação? Por que isso aconteceu? Como você pode repeti-la?

Por que você deve perguntar Q1: Esta pergunta permitirá que o candidato apresente uma história de sucesso e mostrará ao recrutador se o candidato está mais interessado em resolver o problema ou em receber os elogios.

Q2: Qual foi a sua maior falha de programação? Por que isso aconteceu? Como você pode evitar repeti-lo no futuro?

Por que você deve perguntar Q2: Esta pergunta permitirá ao candidato apresentar uma história potencialmente preocupante e mostrará ao recrutador se o candidato está aberto sobre ela. Além disso, mostrará se eles estão mais interessados em resolver o problema ou em transferir a culpa.

Q3: (para mais candidatos de nível sénior) Gostaria de ser mentor de um desenvolvedor júnior? Por quê? Como você faria isso? Você tem alguma experiência como mentor de outras pessoas?

Por que você deve perguntar Q3: Isto permitirá ao recrutador avaliar o interesse do candidato e as competências transversais necessárias para a partilha de conhecimentos.

Triagem técnica das habilidades de desenvolvedor C e C++6. Triagem técnica das habilidades do desenvolvedor C ou C++ usando um teste de codificação online

O que você precisa ser absolutamente claro com os desenvolvedores C e C++ é que é essencial que eles tenham habilidades imaculadas de codificação. C não permite qualquer margem de erro e C++ não permite muito mais. Certamente, uma tela de currículo e uma tela de telefone podem ajudar você a eliminar alguns dos seus candidatos. Dito isto, a última coisa que você quer fazer é convidar um candidato para uma entrevista técnica apenas para descobrir que ele nunca teve as habilidades de codificação que você precisa o tempo todo.

6.1 Qual C ou C++ teste de programação online você deve escolher?

Ao procurar o direito Teste de programação on-line C ou C++ você deve certificar-se de que eles correspondem aos seguintes critérios.

  • Eles refletem o trabalho real que está sendo feito.
  • Eles não levam muito tempo dos candidatos, uma a duas horas no máximo.
  • Eles podem ser enviados automaticamente e podem ser levados para qualquer lugar.
  • Eles vão além de verificar se a solução funciona para verificar também a qualidade do código e como ele funciona em casos de bordas
  • Estão o mais próximo possível do ambiente natural de programação e deixam o candidato ter acesso aos tipos de recursos que normalmente utilizariam no trabalho.
  • Eles deixam o candidato usar todas as bibliotecas, estruturas e outras ferramentas que normalmente usariam
  • Eles estão a um nível adequado que corresponde às capacidades do candidato

7. Testes de avaliação de codificação de desenvolvedores DevSkiller prontos para uso on-line C e C++

Os testes de codificação DevSkiller utilizam o nosso RealLifeTestingTM metodologia para espelhar o ambiente de codificação real em que o seu candidato trabalha. Ao invés de usar algoritmos obscuros, os testes DevSkiller exigem que os candidatos construam aplicações ou recursos. Eles são graduados completamente automaticamente e podem ser tirados de qualquer lugar do mundo. Ao mesmo tempo, o candidato tem acesso a todos os recursos que normalmente utilizaria, incluindo bibliotecas, frameworks, StackOverflow e até mesmo o Google.

As empresas usam o DevSkiller para testar candidatos usando sua própria base de código de qualquer parte do mundo. Para facilitar, o DevSkiller também oferece uma série de testes de codificação em C e C++ pré-fabricados como os que estão aqui:

C++
MÉDIO
Competências testadas
Duração
55 minutos, no máximo.
Avaliação
Automático
Visão geral dos testes

Perguntas de escolha

avaliação do conhecimento de C++

Tarefa de programação - Nível: Médio

C++ | Codificação em comprimento de execução - Implementar codificação em tempo real para cordas de texto ASCII.

Partilhar correio

Saiba mais sobre a contratação de tecnologia

Subscreva o nosso Centro de Aprendizagem para obter informações úteis directamente na sua caixa de entrada.

Verificar e desenvolver as habilidades de codificação sem problemas.

Veja os produtos DevSkiller em ação.

Certificações de segurança e conformidade. Certificamo-nos de que os seus dados estão seguros e protegidos.

Logotipo DevSkiller Logotipo TalentBoost Logotipo TalentScore