As 50 principais perguntas e respostas da entrevista TCS (2025)
TCS (Tata Consultancy Services) é uma empresa multinacional indiana de tecnologia da informação com sede em Mumbai, com filiais principais em Pune, Bengaluru, Hyderabad e outras cidades. TCS é a maior empresa de TI da Índia.
Processo de recrutamento no TCS:
A TCS conduz três rodadas de entrevistas para selecionar qualquer candidato mais novo como desenvolvedor de software em sua empresa.
- Teste de aptidão
- entrevista técnica
- Rodada gerencial
- entrevista de RH
A campanha de recrutamento da TCS começa com um teste escrito seguido de uma entrevista presencial. Um recrutador também pode conduzir discussões em grupo no campus para candidatos a engenheiros de software.
Perguntas da entrevista técnica da TCS: novatos e experientes
A seguir estão as perguntas e respostas mais frequentes das entrevistas do TCS para calouros e também para candidatos experientes, para conseguir o emprego certo para sua carreira.
1) Quais linguagens de programação são importantes para entrevistas no campus da TCS?
Linguagens de programação importantes para entrevistas no campus TCS são 1) programação C, 2) C++ programação e 3) Java programação.
2) Qual é a principal diferença entre C e Java?
A principal diferença entre os dois é que Java é uma linguagem de programação orientada a objetos, enquanto C é uma linguagem de programação processual.
3) Cite quatro classes de armazenamento disponíveis em C.
Quatro classes de armazenamento disponíveis em linguagens C são 1) registro, 2) automático, 3) externo e 4) estático.
4) Explique a variável estática.
É um especificador de acesso. O valor de uma variável estática não muda durante a execução do programa.
5) Como imprimir um endereço?
Você pode usar% p na função printf para imprimir o endereço de uma variável.
6) Explique o conceito de sobrecarga de função.
É uma característica de C++ que permite criar mais de uma função com um nome semelhante. As funções podem ser identificadas usando seus parâmetros.
7) Explique duas regras de integridade usadas em SGBD.
- Regras de integridade referencial
- Regras de integridade da entidade
A regra de integridade referencial afirma que o banco de dados não contém valores de chave estrangeira de registros órfãos. Nesse caso, o valor da chave primária não poderá ser modificado se você tiver usado esse valor como chave estrangeira na tabela filho.
Nas regras de integridade da entidade, você não pode manter o valor da chave primária nulo.
8) Defina as classes e objetos do termo.
Class é um blog de construção de programação orientada a objetos que contém um grupo de membros de dados e sua função. Você pode acessá-los criando uma aula instantânea.
Um objeto é uma entidade do mundo real. Alguns exemplos do objeto são computador, caderno, caneta e bolsa.
9) Defina macros.
Uma macro é uma diretiva de pré-processador que substitui o valor de uma macro.
10) Diferencie estrutura e arrays.
A principal diferença entre estrutura e array é a seguinte:
- Uma matriz é uma estrutura de dados. Ele contém um grupo de tipos de dados semelhantes.
- A estrutura é do tipo de dados definido pelo usuário. Ele contém um grupo de tipos de dados diferentes.
11) Liste algumas áreas nas quais a estrutura de dados é aplicada extensivamente.
A seguir estão as áreas em que a estrutura de dados é usada:
- Análise numérica
- Sistema de gerenciamento de banco de dados
- inteligência artificial
- Operasistema ting
- Pacote de análise estatística
12) Como você pode reutilizar código escrito em C++ linguagem de programação?
Você pode usar a técnica de herança para reutilizar código.
13) Cite várias técnicas de prevenção de deadlock.
As técnicas de prevenção de deadlock são:
- Exclusão mútua
- Retenção de recursos
- Sem preempção
- Espera circular
14) O que é classificação por inserção e classificação por bolha?
A classificação por inserção é um algoritmo de classificação em que a lista ou array final é construída com um item por vez. Na classificação por bolha, você troca elementos adjacentes se a ordem não for adequada.
15) Explique o conceito de lista duplamente vinculada.
Uma estrutura de dados de link chamada lista de link duplo inclui um link de volta ao nó anterior.
16) Você está criando uma função que pode aceitar um número variável de argumentos. Qual arquivo de cabeçalho você incluirá?
Precisamos incluir o arquivo de cabeçalho stdarg.h.
17) O que você quer dizer com abstração de dados? Explique três níveis de abstrações de dados.
A abstração de dados é um processo de reconhecimento das características de um objeto ou de qualquer situação e de filtragem de características indesejadas.
A seguir estão três níveis de abstração de dados:
- Nível físico: Descreve como você armazenará dados no banco de dados
- Nível lógico: Descreve quais dados são classificados no banco de dados
- Nível de visualização: O usuário final trabalha neste nível e, se alguma alteração for encontrada, ela será salva com outro nome.
18) Explique o que é argumento de linha de comando em C?
É um processo de obtenção de argumentos do prompt de comando na programação C. Existem três argumentos na função principal C. Contador de argumentos, vetor de argumentos e vetor de ambiente.
19) Explique o conceito de memória cache.
Um cache é uma memória de computador de tamanho pequeno usada pela CPU para reduzir o custo médio de acesso aos dados da memória principal.
20) Explique a diferença entre passagem por referência e passagem por valor.
Na passagem por valor, passamos o valor para a função de chamada. Em Pass by reference, precisamos passar o endereço para a função chamadora em vez de passar o valor.
21) O que é um ponteiro?
Uma variável que armazena o endereço do valor localizado na memória é chamada de ponteiro.
22) Diferencie entre ponteiro nulo e nulo.
Um ponteiro nulo é um ponteiro que aponta para lugar nenhum. Tem o valor zero. O ponteiro vazio é um ponteiro genérico introduzido pelo ANSI (American National Standards Institute).
23) O que é sobrecarga do operador?
OperaA sobrecarga de operadores é um polimorfismo que permite que operadores existentes sejam redefinidos para que possam ser usados em objetos de classes definidas pelo usuário.
24) Quais são os diferentes tipos de herança disponíveis em C++?
Existem cinco tipos de herança em C++ programação. Elas são 1) Herança única, 2) Herança múltipla, 3) Herança multinível, 4) Herança híbrida e 5) Herança hierárquica.
25) Por que normaliza um banco de dados?
Um banco de dados deve ser normalizado para que você possa organizá-lo com eficiência. Você também deve normalizar um banco de dados para remover dados redundantes.
26) O que é SGBD?
SGBD significa Sistema de gerenciamento de banco de dados. É um software utilizado para gerenciar seu banco de dados. DBMS fornece uma interface entre aplicativos e bancos de dados.
27) Explique declarações condicionais.
As instruções condicionais também são conhecidas como expressão condicional ou instrução if-then. Declarações condicionais são um conjunto de regras. Essas regras serão executadas somente se a condição for verdadeira.
28) Explique a diferença entre a chave estrangeira e a chave referenciada.
Uma chave estrangeira é usada para vincular tabelas. Por outro lado, a chave de referência é uma chave primária referenciada na outra tabela.
29) Explique a diferença entre C e C++?
C++ | C |
---|---|
C++ tem um conceito de classe | C não tinha um conceito de classe |
C++ não suporta o conceito de sobrecarga de função | Na programação C, usamos várias funções como scanf() e printf() para entrada e saída. |
C++ suporta tratamento de exceções. | C não suporta tratamento de exceções |
30) O que é uma matriz?
Uma matriz é uma estrutura de dados que contém elementos semelhantes. A condição necessária para usar um array é que todos os elementos do array tenham o mesmo tipo de dados.
31) Explique a alocação de memória em C.
Existem três funções para alocar memória em C. São as seguintes:
- calloc (): Esta função aloca memória e inicializa este bloco de memória para zero. Ele retorna um ponteiro para o bloco de memória.
- maloc(): Esta função reserva uma área de memória e retorna um ponteiro do tipo void.
- gratuitamente(): Esta função libera memória alocada.
32) O que é um índice clusterizado?
ClusterO índice ed reordena os registros de uma forma que eles armazenam fisicamente em uma tabela.
33) O que você quer dizer com depurador?
Um depurador é um programa de computador. É usado para depurar e testar outros programas.
34) Qual é a principal diferença entre const char *p e char const *p?
Ambos são ponteiros para um Char constante. No entanto, se você escrever char * const p, isso declarará 'p' como um ponteiro constante para char.
35) Explique o alinhamento da memória.
Na estrutura de dados, o alinhamento da memória é um método para organizar os dados e o acesso no bloco de memória.
36) Explique o construtor de conversão.
É um construtor de parâmetro único, declarado sem especificador de função 'explícito'. O construtor de conversão pode ser chamado com um único parâmetro (até C++11) é chamado de construtor de conversão.
37) Explique o conceito de Árvore.
Árvore é um tipo de dados abstrato. Ele representa os nós que estão conectados por arestas.
38) O que é armazenamento de dados? Por que devemos usar armazenamento de dados?
Um data warehouse é uma ferramenta de business intelligence que armazena dados de bancos de dados operacionais e também de fontes externas. Ele apóia o processo de tomada de decisão em uma organização.
Devemos usar um data warehouse para garantir a consistência dos dados coletados. Também ajuda os líderes empresariais a desenvolver estratégias baseadas em dados.
39) Quantos tipos de recursões existem em C?
Existem principalmente seis tipos de recursão: 1) recursão linear, 2) recursão de cauda, 3) recursão binária, 4) recursão exponencial, 5) recursão aninhada e 6) recursão mútua.
40) Explique o compilador e o intérprete.
- Um compilador é um programa que processa código escrito em C e o converte em linguagem de máquina.
- Um interpretador é um programa que executa diretamente o código C sem compilar em linguagem de máquina.
41) Explique o escopo de uma variável.
Escopo significa visibilidade de qualquer variável. A visibilidade da variável é limitada ao programa ou função.
42) O que é uma exceção definida pelo usuário em Java programação?
As palavras-chave try, catch e finalmente são usadas para implementar uma exceção personalizada definida pelo usuário Java. Em Java, você pode criar uma classe de exceção e lançar uma exceção usando a palavra-chave throw.
43) Explique o coletor de lixo.
In Java, um coletor de lixo é um programa que gerencia a memória automaticamente e remove objetos não utilizados.
44) O que é enumeração?
É um tipo de dados definido pelo usuário usado para atribuir nomes a constantes. Isso torna o programa fácil de ler.
45) O que você quer dizer com identificador estático?
O identificador estático é inicializado apenas uma vez e seu valor é mantido durante o tempo de vida do aplicativo. O valor de memória alocado pela variável estática pode ser usado entre as chamadas de função. O valor padrão de um identificador estático não inicializado é zero.
46) Explique a criptografia.
É um processo de conversão de texto em código. O objetivo principal da criptografia é impedir o acesso não autorizado.
47) O que é descriptografia?
É a transformação de dados criptografados e sua conversão em texto significativo que você pode ler e compreender.
48) O que é uma assinatura digital?
É uma técnica utilizada para validar a autenticidade da mensagem. Uma assinatura digital é na verdade uma versão criptografada do resumo da mensagem.
49) Cite os princípios básicos do OOPS.
Os quatro princípios básicos do Sistema de Programação Orientada a Objetos são 1) Abstração, 2) Herança, 3) Encapsulamento e 4) Polimorfismo.
50) Defina Polimorfismo.
Polimorfismo é um conceito usado em Programação Orientada a Objetos. O polimorfismo permite executar uma única ação de maneiras diferentes.
51) O que é SDLC?
Ciclo de vida de desenvolvimento de software ou ciclo de vida de desenvolvimento de aplicativo é um termo usado em engenharia de software para descrever o processo de desenvolvimento de software. Este processo contém 4 fases: 1) planejamento, 2) criação, 3) teste e 5) implantação.