Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Linguagem C

As 50 principais perguntas e respostas da entrevista em C# para experiência e calouros (atualização de 2021)


C# é uma linguagem de programação de propósito geral que engloba várias disciplinas como programação orientada a objetos, tipagem estática, programação orientada a componentes, tipagem forte, etc. C# é amplamente utilizado na estrutura ASP.NET para criar sites, aplicativos da web e jogos. Existem vastas oportunidades para programação em C# em todo o mundo. Se você está pensando em construir uma carreira em programação C#, você precisa quebrar uma entrevista na qual você será solicitado a várias perguntas e respostas complicadas em C# básicas para C#, conforme listado abaixo.

Esta é uma lista com curadoria das principais perguntas e respostas da entrevista em C#, que provavelmente serão feitas durante a entrevista. Os candidatos provavelmente serão solicitados a perguntas básicas de entrevista em C# a perguntas avançadas de entrevista em C#, dependendo de sua experiência e de vários outros fatores. Esta lista abrange todas as perguntas de entrevista em C para calouros, bem como perguntas de entrevista em C# para profissionais experientes.

Download gratuito do PDF:Perguntas de entrevista de entrevista em C#

Perguntas e respostas da entrevista em C# para calouros e 2/3/5/10 anos de experiência


Aqui estão algumas perguntas frequentes de entrevistas para calouros e candidatos experientes a desenvolvedores C# para conseguir o emprego certo.

Cobrimos mais de 50 perguntas e respostas de entrevistas em C# básicas para avançar

Perguntas básicas de entrevista em C# para calouros

1. O que é C#?


C# é uma linguagem orientada a objetos, tipo-safe e gerenciada que é compilada pela estrutura .Net para gerar o Microsoft Intermediate Language.

2. Explique os tipos de comentários em C# com exemplos


Única linha

Exemplo:
//This is a single line comment

ii. Várias linhas (/* */)

Exemplo:
/*This is a multiple line comment
We are in line 2
Last line of comment*/

iii. Comentários XML (///).

Por exemplo:
/// summary;
/// Set error message for multilingual language.
/// summary

3. Vários blocos catch podem ser executados?


Não, vários blocos catch de tipo semelhante não podem ser executados. Uma vez que o código catch apropriado é executado, o controle é transferido para o bloco finally e, em seguida, o código que segue o bloco finally é executado.

4. Qual é a diferença entre public, static e void?


Variáveis ​​ou métodos declarados públicos são acessíveis em qualquer lugar do aplicativo. Variáveis ​​ou métodos declarados estáticos são globalmente acessíveis sem criar uma instância da classe. Membros estáticos são, por padrão, não acessíveis globalmente, dependendo do tipo de acesso modificado usado. O compilador armazena o endereço do método como ponto de entrada e usa essas informações para iniciar a execução antes que qualquer objeto seja criado. E Void é um modificador de tipo que afirma que o método ou variável não retorna nenhum valor.

5. O que é um objeto?





Objeto em C#



Um objeto é uma instância de uma classe através da qual acessamos os métodos dessa classe. A palavra-chave “New” é usada para criar um objeto. Uma classe que cria um objeto na memória conterá as informações sobre os métodos, variáveis ​​e comportamento dessa classe.

6. Definir construtores


Um construtor é uma função membro em uma classe que tem o mesmo nome de sua classe. O construtor é invocado automaticamente sempre que uma classe de objeto é criada. Ele constrói os valores dos membros de dados enquanto inicializa a classe.

7. O que são matrizes irregulares?


O Array que possui elementos do tipo array é chamado de Jagged Array. Os elementos podem ser de diferentes dimensões e tamanhos. Também podemos chamar Jagged Array como um Array de arrays.

8. Qual é a diferença entre os parâmetros ref &out?


Um argumento passado como ref deve ser inicializado antes de passar para o método, enquanto o parâmetro out não precisa ser inicializado antes de passar para um método.

9. Qual é o uso da instrução 'usando' em C#?


O bloco 'usando' é usado para obter um recurso e processá-lo e, em seguida, descartar automaticamente quando a execução do bloco for concluída.

10. O que é serialização?


Quando queremos transportar um objeto através de uma rede, temos que converter o objeto em um fluxo de bytes. O processo de converter um objeto em um fluxo de bytes é chamado de serialização. Para que um objeto seja serializável, ele deve implementar a interface ISerialize. A desserialização é o processo inverso de criar um objeto a partir de um fluxo de bytes.

11. Podemos usar o comando “this” dentro de um método estático?


Não podemos usar ‘This’ em um método estático porque só podemos usar variáveis/métodos estáticos em um método estático.

12. Qual é a diferença entre constantes e somente leitura?


Variáveis ​​constantes são declaradas e inicializadas em tempo de compilação. O valor não pode ser alterado posteriormente. Somente leitura é usado apenas quando queremos atribuir o valor em tempo de execução.

Perguntas de entrevista avançada em C# para 3/5/10 anos de experiência

13. O que é uma classe de interface? Dê um exemplo disso


Uma Interface é uma classe abstrata que possui apenas métodos abstratos públicos, e os métodos possuem apenas a declaração e não a definição. Esses métodos abstratos devem ser implementados nas classes herdadas.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 interface Guru99Interface
 {
  void SetTutorial(int pID, string pName);
  String GetTutorial();
 }

 class Guru99Tutorial : Guru99Interface
 {
  protected int TutorialID;
  protected string TutorialName;

  public void SetTutorial(int pID, string pName)
  {
   TutorialID = pID;
   TutorialName = pName;
  }

  public String GetTutorial()
  {
   return TutorialName;
  }

  static void Main(string[] args)
  {
   Guru99Tutorial pTutor = new Guru99Tutorial();

   pTutor.SetTutorial(1,".Net by Guru99");

   Console.WriteLine(pTutor.GetTutorial());

   Console.ReadKey();
  }
 }
}

14. O que são tipos de valor e tipos de referência?


Um tipo de valor contém um valor de dados em seu próprio espaço de memória. Exemplo
int a = 30;

O tipo de referência armazena o endereço do Objeto onde o valor está sendo armazenado. É um ponteiro para outro local de memória.
string b = "Hello Guru99!!";

15. O que são Controle Personalizado e Controle de Usuário?


Controles personalizados são controles gerados como código compilado (Dlls), mais fáceis de usar e que podem ser adicionados à caixa de ferramentas. Os desenvolvedores podem arrastar e soltar controles em seus formulários da web. Os atributos podem, em tempo de design. Podemos facilmente adicionar controles personalizados a vários aplicativos (se Dlls compartilhados). Portanto, se eles forem privados, podemos copiar para dll para o diretório bin do aplicativo da Web e adicionar referência e usá-los.

Os controles de usuário são muito semelhantes aos arquivos de inclusão ASP e são fáceis de criar. Os controles do usuário não podem ser colocados na caixa de ferramentas e arrastados – soltos dela. Eles têm seu design e code-behind. A extensão do arquivo para controles de usuário é ascx.

16. O que são classes seladas em C#?


Criamos classes seladas quando queremos restringir a classe a ser herdada. Modificador selado usado para evitar derivação de uma classe. Se especificarmos com força uma classe selada como classe base, ocorrerá um erro em tempo de compilação.

17. O que é sobrecarga de método?


A sobrecarga de métodos está criando vários métodos com o mesmo nome com assinaturas exclusivas na mesma classe. Quando compilamos, o compilador usa a resolução de sobrecarga para determinar o método específico a ser invocado.

18. Qual é a diferença entre Array e Arraylist?


Em uma matriz, podemos ter apenas itens do mesmo tipo. O tamanho da matriz é fixo quando comparado. Para um arraylist é semelhante a um array, mas não tem um tamanho fixo.

19. Um método virtual privado pode ser substituído?


Não, porque eles não são acessíveis fora da classe.

20. Descreva o modificador de acessibilidade "protegido interno".


Variáveis/métodos internos protegidos são acessíveis dentro do mesmo assembly e também das classes derivadas dessa classe pai.

21. Quais são as diferenças entre as classes System.String e System.Text.StringBuilder?


System.String é imutável. Quando modificamos o valor de uma variável string, uma nova memória é alocada para o novo valor e a alocação de memória anterior liberada. System.StringBuilder foi projetado para ter um conceito de uma string mutável onde uma variedade de operações podem ser executadas sem alocação de local de memória separado para a string modificada.

22. Qual é a diferença entre System.Array.CopyTo() e System.Array.Clone() ?


Usando o método Clone(), criamos um novo objeto array contendo todos os elementos do Array original e usando o método CopyTo(). Todos os elementos da matriz existente são copiados para outra matriz existente. Ambos os métodos executam uma cópia superficial.

23. Como podemos classificar os elementos do Array em ordem decrescente?


Usando métodos Sort() seguidos pelo método Reverse().

24. Anote a sintaxe do C# para capturar uma exceção


Para capturar uma exceção, usamos blocos try-catch. O bloco catch pode ter um parâmetro do tipo system.Exception.

Por exemplo:
try {
    GetAllData();
} 
catch (Exception ex) {
}

No exemplo acima, podemos omitir o parâmetro da instrução catch.

25. Qual é a diferença entre uma interface e uma classe abstrata?


As interfaces têm todos os métodos com apenas declaração, mas sem definição. Em uma classe abstrata, podemos ter alguns métodos concretos. Em uma classe de interface, todos os métodos são públicos. Uma classe abstrata pode ter métodos privados.

26. Qual é a diferença entre os métodos Finalize() e Dispose()?


Dispose() é chamado quando queremos que um objeto libere quaisquer recursos não gerenciados com eles. Por outro lado, Finalize() é usado para o mesmo propósito, mas não garante a coleta de lixo de um objeto.

27. O que são referências circulares?


A referência circular é a situação em que dois ou mais recursos são interdependentes entre si causa a condição de bloqueio e inutiliza os recursos.

28. O que são genéricos em C#.NET?


Os genéricos são usados ​​para criar classes de código reutilizáveis ​​para diminuir a redundância de código, aumentar a segurança do tipo e o desempenho. Usando genéricos, podemos criar classes de coleção. Para criar uma coleção genérica, o namespace System.Collections.Generic deve ser usado em vez de classes como ArrayList no namespace System.Collections. Generics promove o uso de tipos parametrizados.

29. O que é um pool de objetos em .NET?


Um pool de objetos é um contêiner com objetos prontos para serem usados. Ele rastreia o objeto que está em uso no momento, o número total de objetos no pool. Isso reduz a sobrecarga de criar e recriar objetos.

30. Liste os tipos de exceções mais usados ​​em .net


ArgumentException, ArgumentNullException, ArgumentOutOfRangeException, ArithmeticException, DivideByZeroException ,OverflowException, IndexOutOfRangeException, InvalidCastException, InvalidOperationException, IOEndOfStreamException, NullReferenceException, OutOfMemoryException, StackOverflowException etc.

31. O que são exceções personalizadas?


Às vezes, há alguns erros que precisam ser tratados de acordo com os requisitos do usuário. Exceções personalizadas são usadas para eles e são usadas exceções definidas.

32. O que são delegados?


Os delegados são os mesmos ponteiros de função em C++, mas a única diferença é que eles são seguros para tipos, ao contrário dos ponteiros de função. Os delegados são necessários porque podem ser usados ​​para escrever funções de segurança de tipo muito mais genéricas.

33. Como você herda uma classe em outra classe em C#?


Dois pontos é usado como operador de herança em C#. Basta colocar dois pontos e depois o nome da classe.

classe pública DerivedClass :BaseClass

34. Qual é a classe base em .net da qual todas as classes são derivadas?

System.Object

35. Qual é a diferença entre substituição de método e sobrecarga de método?


Na substituição de método, alteramos a definição do método na classe derivada que altera o comportamento do método. Sobrecarga de método é criar um método com o mesmo nome dentro da mesma classe com assinaturas diferentes.

36. Quais são as diferentes maneiras pelas quais um método pode ser sobrecarregado?


Os métodos podem ser sobrecarregados usando diferentes tipos de dados para um parâmetro, ordem diferente de parâmetros e número diferente de parâmetros.

37. Por que você não pode especificar o modificador de acessibilidade para métodos dentro da interface?


Em uma interface, temos métodos virtuais que não possuem definição de método. Todos os métodos estão lá para serem substituídos na classe derivada. É por isso que todos eles são públicos.

38. Como podemos definir a classe a ser herdada, mas evitar que o método seja substituído?


Declare a classe como pública e torne o método selado para evitar que seja substituído.

39. O que acontece se as interfaces herdadas tiverem nomes de métodos conflitantes?


A implementação depende de você, pois o método está dentro de sua própria classe. Pode haver um problema quando os métodos de interfaces diferentes esperam dados diferentes, mas até onde o compilador se importa, você está bem.

40. Qual é a diferença entre uma estrutura e uma classe?


Estruturas são variáveis ​​do tipo valor e classes são tipos de referência. As estruturas armazenadas na pilha causam sobrecarga adicional, mas uma recuperação mais rápida. Estruturas não podem ser herdadas.

41. Como usar tipos anuláveis ​​em .Net?


Os tipos de valor podem ter seus valores normais ou um valor nulo. Esses tipos são chamados de tipos anuláveis.
Int? someID = null;
If(someID.HasVAlue)
{
}

42. Como podemos criar um array com valores não padrão?


Podemos criar um array com valores não padrão usando Enumerable.Repeat.

43. Qual é a diferença entre os operadores "is" e "as" em c#?


O operador “is” é usado para verificar a compatibilidade de um objeto com um determinado tipo e retorna o resultado como booleano.

O operador “as” é usado para converter um objeto em um tipo ou classe.

44. O que é um delegado multicast?


Um delegado com vários manipuladores atribuídos a ele é chamado de delegado multicast. Cada manipulador é atribuído a um método.

45. O que são indexadores em C# .NET?


Indexadores são conhecidos como matrizes inteligentes em C#. Ele permite que as instâncias de uma classe sejam indexadas da mesma forma que um array.

Por exemplo:
public int this[int index]    // Indexer declaration

46. Qual é a diferença entre "throw" e "throw ex" em .NET?


A instrução “Throw” preserva a pilha de erro original, enquanto “throw ex” tem o rastreamento de pilha de seu ponto de lançamento. É sempre aconselhável usar “throw” porque fornece informações de erro mais precisas.

47. O que são atributos C# e seu significado?


C# fornece aos desenvolvedores uma maneira de definir tags declarativas em determinadas entidades, por exemplo. Classe, método, etc. são chamados de atributos. As informações do atributo podem ser recuperadas em tempo de execução usando o Reflection.

48. Como implementar um padrão de design singleton em C#?


Em um padrão singleton, uma classe pode ter apenas uma instância e fornece um ponto de acesso a ela globalmente.

Por exemplo:
Public sealed class Singleton
{
Private static readonly Singleton _instance = new Singleton();
}

49. Qual é a diferença entre directcast e ctype?


DirectCast é usado para converter o tipo de objeto que requer que o tipo de tempo de execução seja o mesmo que o tipo especificado no DirectCast.

Ctype é usado para conversão onde a conversão é definida entre a expressão e o tipo.

50. O código C# é um código gerenciado ou não gerenciado?


C# é um código gerenciado porque o Common Language Runtime pode compilar o código C# para a linguagem intermediária.

51. O que é o aplicativo do console?


Um aplicativo de console é um aplicativo que pode ser executado no prompt de comando do Windows. Para qualquer iniciante em .Net, construir um aplicativo de console é idealmente o primeiro passo, para começar.

52. Dê um exemplo de remoção de um elemento da fila


O método dequeue é usado para remover um elemento da fila.
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Queue qt = new Queue();
   qt.Enqueue(1);
   qt.Enqueue(2);
   qt.Enqueue(3);

   foreach (Object obj in qt)
   {
    Console.WriteLine(obj);
   }
    Console.WriteLine(); Console.WriteLine();
    Console.WriteLine("The number of elements in the Queue " + qt.Count);
    Console.WriteLine("Does the Queue contain " + qt.Contains(3));
    Console.ReadKey();
   }
 }
}

Linguagem C

  1. Principais métricas para medir a experiência do usuário final em seus aplicativos na nuvem
  2. Principais perguntas e respostas da entrevista sobre nuvem para 2020
  3. Os cinco principais problemas e desafios para 5G
  4. 10 Melhor IDE C # para Windows, Linux, Mac (atualização de 2021)
  5. Finanças da cadeia de suprimentos:tendências, desafios e perguntas para 2019
  6. Atualização dos prêmios:Robotics and Automation News Awards 2021 para avançar
  7. meo classe 4 perguntas e respostas elétricas orais
  8. 5G e Edge levantam novos desafios de segurança cibernética para 2021
  9. Perguntas e respostas sobre a fabricação de luzes apagadas
  10. Os 5 principais artigos de ar comprimido e gás de 2021