Las 50 principales preguntas y respuestas de entrevistas de C# para experimentados y principiantes (actualización de 2021)
C# es un lenguaje de programación de propósito general que abarca varias disciplinas como programación orientada a objetos, escritura estática, programación orientada a componentes, escritura fuerte, etc. C# se usa ampliamente en el marco ASP.NET para crear sitios web, aplicaciones web y juegos. Hay grandes oportunidades para la programación de C# en todo el mundo. Si está pensando en desarrollar una carrera en la programación de C#, debe realizar una entrevista en la que se le harán varias preguntas y respuestas de C# básicas a C# complicadas, como se indica a continuación.
Esta es una lista seleccionada de las principales preguntas y respuestas de la entrevista de C#, que es probable que se hagan durante la entrevista. Es probable que a los candidatos se les hagan preguntas de entrevista básicas de C # a preguntas de entrevista avanzadas de C # según su experiencia y varios otros factores. Esta lista cubre todas las preguntas de entrevistas en C sostenido para principiantes, así como preguntas de entrevistas en C# para profesionales experimentados.
Descarga gratuita de PDF:Entrevista de C# Preguntas de la entrevista
Preguntas y respuestas de la entrevista C# para estudiantes de primer año y 2/3/5/10 años de experiencia
Estas son algunas de las preguntas más frecuentes de las entrevistas para principiantes y candidatos a desarrolladores de C# experimentados para obtener el trabajo adecuado.
Hemos cubierto más de 50 preguntas y respuestas básicas para avanzar en entrevistas C# frecuentes
Preguntas de entrevista básicas de C# para estudiantes de primer año
- ¿Qué es C#?
- Explicar tipos de comentarios en C# con ejemplos
- ¿Se pueden ejecutar múltiples bloques catch?
- ¿Cuál es la diferencia entre público, estático y vacío?
- ¿Qué es un objeto?
- Definir constructores
- ¿Qué son las matrices irregulares?
- ¿Cuál es la diferencia entre los parámetros ref y out?
- ¿Cuál es el uso de la instrucción 'using' en C#?
- ¿Qué es la serialización?
1. ¿Qué es C#?
C# es un lenguaje administrado, con seguridad de tipos y orientado a objetos compilado por .Net Framework para generar Microsoft Intermediate Language.
2. Explicar los tipos de comentarios en C# con ejemplos
Línea única
Ejemplo:
//This is a single line comment
ii. Línea múltiple (/* */)
Ejemplo:
/*This is a multiple line comment We are in line 2 Last line of comment*/
iii. Comentarios XML (///).
Por ejemplo:
/// summary; /// Set error message for multilingual language. /// summary
3. ¿Se pueden ejecutar varios bloques catch?
No, no se pueden ejecutar múltiples bloques catch de tipo similar. Una vez que se ejecuta el código de captura adecuado, el control se transfiere al bloque finalmente, y luego se ejecuta el código que sigue al bloque finalmente.
4. ¿Cuál es la diferencia entre público, estático y vacío?
Se puede acceder a las variables o métodos públicos declarados en cualquier parte de la aplicación. Las variables o métodos declarados estáticos son accesibles globalmente sin crear una instancia de la clase. Los miembros estáticos por defecto no son accesibles globalmente, depende del tipo de acceso modificado utilizado. El compilador almacena la dirección del método como punto de entrada y usa esta información para comenzar la ejecución antes de que se creen los objetos. Y Void es un modificador de tipo que establece que el método o la variable no devuelve ningún valor.
5. ¿Qué es un objeto?
Objeto en C#
Un objeto es una instancia de una clase a través de la cual accedemos a los métodos de esa clase. La palabra clave "Nuevo" se utiliza para crear un objeto. Una clase que crea un objeto en la memoria contendrá la información sobre los métodos, las variables y el comportamiento de esa clase.
6. Definir constructores
Un constructor es una función miembro de una clase que tiene el mismo nombre que su clase. El constructor se invoca automáticamente cada vez que se crea una clase de objeto. Construye los valores de los miembros de datos mientras inicializa la clase.
7. ¿Qué son las matrices irregulares?
El Array que tiene elementos de tipo array se llama Array irregular. Los elementos pueden ser de diferentes dimensiones y tamaños. También podemos llamar Array irregular como un Array de arrays.
8. ¿Cuál es la diferencia entre los parámetros ref y out?
Un argumento pasado como ref debe inicializarse antes de pasar al método, mientras que el parámetro out no necesita inicializarse antes de pasar a un método.
9. ¿Cuál es el uso de la instrucción 'using' en C#?
El bloque 'usar' se usa para obtener un recurso y procesarlo y luego desecharlo automáticamente cuando se completa la ejecución del bloque.
10. ¿Qué es la serialización?
Cuando queremos transportar un objeto a través de una red, tenemos que convertir el objeto en un flujo de bytes. El proceso de convertir un objeto en un flujo de bytes se denomina serialización. Para que un objeto sea serializable, debe implementar la interfaz ISerialize. La deserialización es el proceso inverso de crear un objeto a partir de un flujo de bytes.
11. ¿Podemos usar el comando "este" dentro de un método estático?
No podemos usar 'Esto' en un método estático porque solo podemos usar variables/métodos estáticos en un método estático.
12. ¿Cuál es la diferencia entre constantes y solo lectura?
Las variables constantes se declaran e inicializan en tiempo de compilación. El valor no se puede cambiar después. Solo lectura se usa solo cuando queremos asignar el valor en tiempo de ejecución.
Preguntas de entrevista avanzada de C# para 3/5/10 años de experiencia
13. ¿Qué es una clase de interfaz? Da un ejemplo de ello
Una interfaz es una clase abstracta que solo tiene métodos abstractos públicos, y los métodos solo tienen la declaración y no la definición. Estos métodos abstractos deben implementarse en las clases heredadas.
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. ¿Qué son los tipos de valor y los tipos de referencia?
Un tipo de valor contiene un valor de datos dentro de su propio espacio de memoria. Ejemplo
int a = 30;
El tipo de referencia almacena la dirección del objeto donde se almacena el valor. Es un puntero a otra ubicación de memoria.
string b = "Hello Guru99!!";
15. ¿Qué son el control personalizado y el control de usuario?
Los controles personalizados son controles generados como código compilado (Dlls), son más fáciles de usar y se pueden agregar a la caja de herramientas. Los desarrolladores pueden arrastrar y soltar controles en sus formularios web. Los atributos pueden, en tiempo de diseño. Podemos agregar fácilmente controles personalizados a múltiples aplicaciones (si son DLL compartidas). Entonces, si son privados, podemos copiarlos en dll al directorio bin de la aplicación web y luego agregar una referencia y usarlos.
Los controles de usuario son muy similares a los archivos de inclusión ASP y son fáciles de crear. Los controles de usuario no se pueden colocar en la caja de herramientas y arrastrar y soltar desde ella. Tienen su diseño y código subyacente. La extensión de archivo para los controles de usuario es ascx.
16. ¿Qué son las clases selladas en C#?
Creamos clases selladas cuando queremos restringir la clase a heredar. Modificador sellado utilizado para evitar la derivación de una clase. Si especificamos a la fuerza una clase sellada como clase base, se produce un error en tiempo de compilación.
17. ¿Qué es la sobrecarga de métodos?
La sobrecarga de métodos está creando múltiples métodos con el mismo nombre con firmas únicas en la misma clase. Cuando compilamos, el compilador usa una resolución de sobrecarga para determinar el método específico que se invocará.
18. ¿Cuál es la diferencia entre Array y Arraylist?
En una matriz, solo podemos tener elementos del mismo tipo. El tamaño de la matriz es fijo cuando se compara. Una lista de arreglos es similar a una matriz, pero no tiene un tamaño fijo.
19. ¿Se puede anular un método virtual privado?
No, porque no son accesibles fuera de la clase.
20. Describa el modificador de accesibilidad "interno protegido".
Se puede acceder a las variables/métodos internos protegidos dentro del mismo ensamblaje y también desde las clases que se derivan de esta clase principal.
21. ¿Cuáles son las diferencias entre las clases System.String y System.Text.StringBuilder?
System.String es inmutable. Cuando modificamos el valor de una variable de cadena, se asigna una nueva memoria al nuevo valor y se libera la asignación de memoria anterior. System.StringBuilder fue diseñado para tener un concepto de cadena mutable donde una variedad de operaciones se pueden realizar sin asignar una ubicación de memoria separada para la cadena modificada.
22. ¿Cuál es la diferencia entre System.Array.CopyTo() y System.Array.Clone() ?
Usando el método Clone(), creamos un nuevo objeto de matriz que contiene todos los elementos en la matriz original y usando el método CopyTo(). Todos los elementos de la matriz existente se copian en otra matriz existente. Ambos métodos realizan una copia superficial.
23. ¿Cómo podemos ordenar los elementos del Array en orden descendente?
Usando los métodos Sort() seguidos del método Reverse().
24. Escriba la sintaxis de C# para detectar una excepción
Para capturar una excepción, usamos bloques try-catch. El bloque Catch puede tener un parámetro de tipo system.Exception.
Por ejemplo:
try { GetAllData(); } catch (Exception ex) { }
En el ejemplo anterior, podemos omitir el parámetro de la instrucción catch.
25. ¿Cuál es la diferencia entre una interfaz y una clase abstracta?
Las interfaces tienen todos los métodos que tienen solo declaración pero no definición. En una clase abstracta, podemos tener algunos métodos concretos. En una clase de interfaz, todos los métodos son públicos. Una clase abstracta puede tener métodos privados.
26. ¿Cuál es la diferencia entre los métodos Finalize() y Dispose()?
Dispose() se llama cuando queremos que un objeto libere los recursos no administrados con ellos. Por otro lado, Finalize() se usa para el mismo propósito, pero no asegura la recolección de basura de un objeto.
27. ¿Qué son las referencias circulares?
La referencia circular es una situación en la que dos o más recursos son interdependientes entre sí provoca la condición de bloqueo y hace que los recursos queden inutilizables.
28. ¿Qué son los genéricos en C#.NET?
Los genéricos se utilizan para crear clases de código reutilizables para disminuir la redundancia del código, aumentar la seguridad de los tipos y el rendimiento. Usando genéricos, podemos crear clases de colección. Para crear una colección genérica, se debe usar el espacio de nombres System.Collections.Generic en lugar de clases como ArrayList en el espacio de nombres System.Collections. Generics promueve el uso de tipos parametrizados.
29. ¿Qué es un grupo de objetos en .NET?
Un conjunto de objetos es un contenedor que tiene objetos listos para ser utilizados. Realiza un seguimiento del objeto que está actualmente en uso, número total de objetos en el grupo. Esto reduce la sobrecarga de crear y volver a crear objetos.
30. Enumere los tipos de excepciones comúnmente utilizados en .net
ArgumentException, ArgumentNullException, ArgumentOutOfRangeException, ArithmeticException, DivideByZeroException, OverflowException, IndexOutOfRangeException, InvalidCastException, InvalidOperationException, IOEndOfStreamException, NullReferenceException, OutOfMemoryException, StackOverflowException, etc.
31. ¿Qué son las excepciones personalizadas?
A veces hay algunos errores que deben manejarse según los requisitos del usuario. Se utilizan excepciones personalizadas para ellos y se utilizan excepciones definidas.
32. ¿Qué son los delegados?
Los delegados son los mismos punteros de función en C++, pero la única diferencia es que son de tipo seguro, a diferencia de los punteros de función. Los delegados son necesarios porque se pueden usar para escribir funciones de seguridad de tipos mucho más genéricas.
33. ¿Cómo se hereda una clase en otra clase en C#?
Dos puntos se usa como operador de herencia en C#. Simplemente coloque dos puntos y luego el nombre de la clase.
clase pública DerivedClass:BaseClass
34. ¿Cuál es la clase base en .net de la que se derivan todas las clases?
System.Object
35. ¿Cuál es la diferencia entre la anulación de métodos y la sobrecarga de métodos?
En la anulación de métodos, cambiamos la definición del método en la clase derivada que cambia el comportamiento del método. La sobrecarga de métodos es crear un método con el mismo nombre dentro de la misma clase que tiene firmas diferentes.
36. ¿Cuáles son las diferentes formas en que se puede sobrecargar un método?
Los métodos se pueden sobrecargar utilizando diferentes tipos de datos para un parámetro, diferente orden de parámetros y diferente número de parámetros.
37. ¿Por qué no puede especificar el modificador de accesibilidad para los métodos dentro de la interfaz?
En una interfaz, tenemos métodos virtuales que no tienen definición de método. Todos los métodos están ahí para ser anulados en la clase derivada. Es por eso que todos son públicos.
38. ¿Cómo podemos configurar la clase para que se herede, pero evitar que el método se anule?
Declare la clase como pública y selle el método para evitar que se anule.
39. ¿Qué sucede si las interfaces heredadas tienen nombres de métodos en conflicto?
La implementación depende de usted ya que el método está dentro de su propia clase. Puede haber un problema cuando los métodos de diferentes interfaces esperan datos diferentes, pero en lo que respecta al compilador, está bien.
40. ¿Cuál es la diferencia entre una Estructura y una Clase?
Las estructuras son variables de tipo de valor y las clases son tipos de referencia. Las estructuras almacenadas en la pila provocan una sobrecarga adicional pero una recuperación más rápida. Las estructuras no se pueden heredar.
41. ¿Cómo usar tipos anulables en .Net?
Los tipos de valor pueden tomar sus valores normales o un valor nulo. Estos tipos se denominan tipos anulables.
Int? someID = null; If(someID.HasVAlue) { }
42. ¿Cómo podemos crear una matriz con valores no predeterminados?
Podemos crear una matriz con valores no predeterminados usando Enumerable.Repeat.
43. ¿Cuál es la diferencia entre los operadores "es" y "como" en C#?
El operador "es" se utiliza para comprobar la compatibilidad de un objeto con un tipo determinado y devuelve el resultado como booleano.
El operador "as" se utiliza para convertir un objeto en un tipo o una clase.
44. ¿Qué es un delegado de multidifusión?
Un delegado que tiene varios controladores asignados se denomina delegado de multidifusión. Cada controlador se asigna a un método.
45. ¿Qué son los indexadores en C# .NET?
Los indexadores se conocen como arreglos inteligentes en C#. Permite indexar las instancias de una clase de la misma forma que un arreglo.
Por ejemplo:
public int this[int index] // Indexer declaration
46. ¿Cuál es la diferencia entre "throw" y "throw ex" en .NET?
La declaración "Throw" conserva la pila de errores original, mientras que "throw ex" tiene el seguimiento de la pila desde su punto de lanzamiento. Siempre se recomienda usar "lanzar" porque proporciona información de error más precisa.
47. ¿Qué son los atributos de C# y su significado?
C# proporciona a los desarrolladores una forma de definir etiquetas declarativas en ciertas entidades, p. Clase, método, etc. se denominan atributos. La información del atributo se puede recuperar en tiempo de ejecución usando Reflection.
48. ¿Cómo implementar un patrón de diseño singleton en C#?
En un patrón singleton, una clase solo puede tener una instancia y proporciona un punto de acceso global.
Por ejemplo:
Public sealed class Singleton { Private static readonly Singleton _instance = new Singleton(); }
49. ¿Cuál es la diferencia entre transmisión directa y ctype?
DirectCast se usa para convertir el tipo de objeto que requiere que el tipo de tiempo de ejecución sea el mismo que el tipo especificado en DirectCast.
Ctype se utiliza para la conversión donde la conversión se define entre la expresión y el tipo.
50. ¿El código C# es un código administrado o no administrado?
C# es código administrado porque Common Language Runtime puede compilar código C# en lenguaje intermedio.
51. ¿Qué es la aplicación Consola?
Una aplicación de consola es una aplicación que se puede ejecutar en el símbolo del sistema de Windows. Para cualquier principiante en .Net, la creación de una aplicación de consola es idealmente el primer paso, para empezar.
52. Dé un ejemplo de eliminación de un elemento de la cola
El método de dequeue se utiliza para eliminar un elemento de la cola.
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(); } } }
Lenguaje C
- Nuestros 5 recursos principales de 2017 para ingenieros de sistemas y arquitectos
- Principales métricas para medir la experiencia del usuario final en sus aplicaciones en la nube
- Principales preguntas y respuestas de la entrevista sobre la nube para 2020
- Los cinco problemas y desafíos principales para 5G
- Los 10 mejores IDE de C# para Windows, Linux, Mac (actualización de 2021)
- Financiamiento de la cadena de suministro:tendencias, desafíos y preguntas para 2019
- Actualización de premios:Robotics and Automation News Awards 2021 para seguir adelante
- meo class 4 eléctrico preguntas y respuestas orales
- 5G y Edge plantean nuevos desafíos de ciberseguridad para 2021
- Preguntas y respuestas sobre la fabricación de luces apagadas
- Los 5 principales artículos sobre aire comprimido y gas de 2021