-
.net desde que es OOP
-
polimorfismo
- https://desarrolloweb.com/articulos/polimorfismo-programacion-orientada-objetos-concepto.html 2.1 Inicialmente se entiende que Sobrecarga hace referencia a un conjunto de Métodos con el mismo Nombre pero diferente Número de Parámetros y/o Tipos de estos, además que estos Métodos se encuentran definidos en una misma Clase. En tanto que Polimorfismo hace referencia a un conjunto de Métodos con el mismo Nombre e igual Número de Parámetros y Tipos, pero que se encuentran definidos en diferentes Clases.
Cuando tu sobrecargas un método tu objetivo es que tanto uno como el otro hagan la misma funcionalidad, mientras que el polimorfismo se utiliza para realizar diferentes funcionalidades.
-
herencia
-
manejo de memoria heap y stack
-
value types y reference types
-
TLP
-
MVC
-
Web api
-
EF
-
WCF
-
delegados y eventos
- Capitulo 2 [https://gist.github.com/cprieto/4011791]
-
SQL
-
inyeccion de dependencias
-
Abstracción y encapsulamiento
-
Async / Await
- Owin And katana
- JWT
- Patrones de diseño
- Buenas practicas
- Analizar en tiempo de compilacion de los algoritmos / performance
- Automatización y publicación.
- 13 Essential .NET Interview Questions [https://www.toptal.com/dot-net/interview-questions]
- How to prepare for c# and .NET interviews? [https://dotnetinterviewquestion.wordpress.com/2013/02/11/how-to-prepare-for-c-and-netinterviews/]
- Top 100 C# Interview Questions and Answers [http://a4academics.com/interview-questions/52-dot-net-interview-questions/417-c-oops-interview-questions-and-answers]
-
Explique la diferencia entre Clase y Objeto
- Una clase es la definición de un objeto, y un objeto es una instancia de una clase. Podemos mirar la clase como un template de un objeto; Ese describe todas las propiedades, metodos, estados y comportamientos implementados en el objeto. Se menciona que el objeto es una instancia de una clase y una clase no se convierte en un objeto hasta que no sea instanciada
-
Diferencia entre código administrado y código no administrado
- El código administrado es creado por el compilador .Net. No depende de la arquitectura que tendrá la maquina porque será ejecutado en el CLR (Common Language Runtime), y no por el sistema operativo en si.
-
Diferencias entre While y for
- El código administrado es creado por el compilador .Net. No depende de la arquitectura que tendrá la maquina porque será ejecutado en el CLR (Common Language Runtime), y no por el sistema operativo en si. * Ambos Loops son usados cuando la unidad de código son necesita ser ejecutado repetidamente. * La diferencia del loop foor es usado cuando tu sabes cuantas veces necesitaras iterar el código. * En cambio el ciclo while se usa cuando necesitas repetir algo hasta hasta que la sentencia sea True
-
Explique la diferencia entre Boxing y outBoxing
- Boxing es el proceso de convertir un valor de un tipo en un objeto de tipo, y outboxing es extraer el tipo del valor del objeto
- Mientras el Boxing es implicito, onboxing es explicito ´int i = 13; object myObject = i; // boxing i = (int)myObject; // unboxing ´
-
Diferencia entre Constantes y variables read-only
- Comparten similaridades. Pero las constantes son evaluadas en tiempo de compilación mientras las variables read-only en el runtime
- Las constantes soportan solo variables value-type mientras que las variables read-only puedes tener referenci
- Las constantes deben ser usadas cuando el valor no cambia durante el runtime y las variables read-onlu son usadas mayormente cuando el valor actual es desconocido antes del rutime
-
Explicar que es LINQs
- Acronico de Lenguaje integrado de consultas, agregado caracteristicas de consulta para la manipulación de datos a fuente s de datos
-
Como funciona el Garabage Collector
- Es un recolector de basura de un proceso de baja prioridad que gestiona el manejo automatico de memoria, que gestiona la asignación y liberación de memoria en las aplicaciones.
- Cada vez que se crea un objeto nuevo, el CLR asigna memoria que esté disponible en el HEAP, mientras haya más memoria disponible en el HEAP, el runtime continuará asignando espacio para nuevos objetos. Más sin embargo cuando la memoria llena el espacio HEAP, el garbage collector entra a liberar memoria. El garbage collector detendrá todos los subprocesos en ejecución, encontrará todos los objetos en el montón que no están siendo accedidos por el programa principal y los eliminará.
- Ejecutar manualmente el garbage collector System.GC.Collect();
-
Acronimos .Net
- IL: Lenguaje intermedio, es un código compilado parcialmente por la CPU, El código IL compilará a código de Maquina nativa utilizando las variables del entorno por el compilador Just-In-Time Compiler (JIT). El compilador JIT convertira el código IL en codigo assembly y usará la arquitectura del CPU para ejecutar la aplicación .NET. En .NET IL es llamado CIL (Common Intermediate Language)
- CLI: o Common Language Infrastructure, es una especificaión abierta desarrollada por microsoft. Esto compula las librerias de código usadas para publicación, versionamiento y seguridad. En .Net hay dos tipos de CLI. (EXE) procesos assembies y (DLL) librerias assembies.
- When compiled, source code is first translated to IL (in .NET, that is CIL, and previously called MSIL).
- CIL is then assembled into a bytecode and a CLI assembly is created.
- Before code execution, CLI code is passed through the runtime’s JIT compiler to generate native machine code.
- The computer’s processor executes the native machine code.
-
Diferencia entre Stack y Heap
- Stack almacena los Tipos de Valor (Tipos heredados del System.ValueType). Responsable de mantener el seguimiento de lo que se está ejecutando y donde se está ejecutando cada Thread.
- Heap almacena Tipos de referencia (Tipos heredados del System.Object). Responsable de mantener el seguimiento de los datos o mas precisamente de los objetos.
-
Herencia
- Concepto importante de la POO. junto con el encapsulamiento y polimorfismo. La herencia permite a los desarrolladores crear nuevas clases que reusan, extienden y modifican el comportamiento definido en otras clases. Esto permite reutilizar codigo y aumentar el tiempo de desarrollo.
- Con la herencia los desarrolladores pueden escribir y debugear ona clase solo una ves y despues reutilizar las bases del código en nuevas clases.
- Las clases cuyos miembros se heredan se deniminan clases base y las clases que hereda a esos miembros se denominna clases derivadas. Por defecto todas las clases en .net son derivadas.
-
Diferencia entre Interfaces y Clases abstractas en .NET
- Una interfaz simplemente declara un contrato o un comportamiento que deben tener las clases en las que se implementaran. Puede declarar sólo propiedades, métodos y eventos sin modificar el acceso. Todos los miembros declarados deben de ser implementados.
- Una clase abstracta proporciona una implementación parcial para una funcionalidad y algunos mienbros abstractos / virtuales que deben de ser implementados por las entidades hereditarias. También se pueden declarar campos
- Ninguna de la 2 pueden ser instanciadas.
-
Ejecución aplazada vs ejecución inmediata en LINQ
- Ejecución aplazada: El query no se ejecuta en el tiempo especificado. Uno puede asignar el query a una variable.
- Ejecución Inmediata: Se usa con las siguiente sentencias Average, Sum, Count, List, ToList, or ToArray
-
Delegado
- Es similar a un apuntador en C o C++. Usar un delegado permite al programador encapsular una referencia a un metodo dentro de un objeto delegado. El objeto delegado puede ser despues pasado a código que puede llamar el metodo referenciado sin tener the conocer en tiempo de compilación que metodo se invokara.
- Se pueden hacer delegados para crear eventos propios para una clase public delegate void FooDelegate();
class FooClass { // custom event public event FooDelegate FooEvent; }
FooClass FooObj = new FooClass() FooObj.FooEvent += new FooDelegate();
- difference between clustered & non-clustered index
Clustered Index
Only one per table Faster to read than non clustered as data is physically stored in index order Non Clustered Index
Can be used many times per table Quicker for insert and update operations than a clustered index Both types of index will improve performance when select data with fields that use the index but will slow down update and insert operations.
Because of the slower insert and update clustered indexes should be set on a field that is normally incremental ie Id or Timestamp.
SQL Server will normally only use an index if its selectivity is above 95%.
The syntax of the
What are the various methods provided to System.Object’s deriving classes/types?