Sobes.tech
Intern

Com o que você está familiarizado na linguagem de programação C++?

sobes.tech IA

Resposta da IA

  • Fundamentos da linguagem:
    • Tipos de dados (integrados, personalizados).
    • Operadores e expressões.
    • Estruturas de controlo (ramificações, ciclos).
    • Funções e sobrecarga.
    • Ponteiros e referências.
    • Alocação dinâmica de memória (new, delete).
    • Espaços de nomes.
  • Programação orientada a objetos (POO):
    • Classes e objetos.
    • Encapsulamento, herança, polimorfismo.
    • Construtores e destrutores.
    • Funções virtuais e classes abstratas.
    • Modelos de classes e funções.
    • Ponteiros inteligentes (std::unique_ptr, std::shared_ptr, std::weak_ptr).
  • Biblioteca padrão do C++ (STL):
    • Contêineres (vetores, listas, mapas, conjuntos, etc.).
    • Algoritmos (ordenação, pesquisa, transformações, etc.).
    • Iteradores.
    • Objetos funcionais (expressões lambda, funtores).
    • Fluxos de entrada-saída (iostream).
  • Trabalho com memória:
    • Pilha e heap.
    • Gestão de recursos via RAII (Resource Acquisition Is Initialization).
  • Tratamento de exceções:
    • try, catch, throw.
  • Programação multithread:
    • std::thread.
    • Mútuos (std::mutex).
    • Variáveis condicionais (std::condition_variable).
  • Novos padrões do C++ (C++11/14/17/20):
    • Inferência automática de tipos (auto).
    • Referências rvalue e semântica de movimento.
    • Expressões lambda.
    • Laços for com intervalo.
    • Modelos de parâmetros variádicos.
    • Corrotinas (coroutines) (C++20).
  • Programação de sistemas:
    • Trabalho com ficheiros.
    • Interação de rede (básico).
  • Ferramentas de desenvolvimento:
    • Sistemas de build (CMake).
    • Sistemas de controlo de versões (Git).
    • Depuradores (GDB).
  • Desempenho:
    • Otimização de código.
    • Perfilagem.
    • Trabalho com detalhes de baixo nível (se necessário).

Além disso, familiarizado com os princípios de TDD (Desenvolvimento orientado a testes) e Testes Unitários.