Saltar al contenido principal

🎯 Banco de Preguntas — Junior

Preguntas reales de entrevistas para posiciones Junior Full Stack .NET + React.

Cómo usar este banco

Intenta responder cada pregunta en voz alta antes de ver la respuesta. En la entrevista real, pensar en voz alta muestra tu proceso de razonamiento.


C# — Tipos y Memoria

¿Dónde se almacena un value type (por ejemplo, un int) declarado como variable local en C#?

¿Qué ocurre exactamente durante una operación de boxing en C#?

El Garbage Collector de .NET trabaja con generaciones. ¿Qué significa que un objeto esté en Gen 2?

Tienes un loop que concatena 10 000 strings. ¿Qué problema tiene usar el operador `+` y cuál es la solución?

¿Para qué sirve el tipo `int?` en C# y cómo se diferencia de `int`?


C# — Programación Orientada a Objetos

¿Cuál de los siguientes NO es uno de los 4 pilares de la Programación Orientada a Objetos?

¿Cuándo deberías elegir una `abstract class` en lugar de una `interface`?

¿Qué diferencia hay entre `override` y `new` al redefinir un método en una subclase en C#?

¿Cuál es el modificador de acceso que permite acceso desde la misma clase, clases derivadas, pero NO desde ensamblados externos?


C# — LINQ y Colecciones

¿Cuál es la diferencia principal entre `IEnumerable<T>`, `ICollection<T>` e `IList<T>`?

¿Cuál es la diferencia entre `FirstOrDefault()` y `SingleOrDefault()` en LINQ?

¿Qué es la evaluación diferida (deferred execution) en LINQ?

¿Cuándo preferirías un `Dictionary<TKey, TValue>` sobre una `List<T>`?


C# — Async/Await

¿Qué hace realmente `await` cuando se encuentra una operación asíncrona de I/O (como una consulta a la base de datos)?

¿Por qué se recomienda retornar `Task` en lugar de `void` en métodos async?

¿Qué problema concreto indica el warning CS4014 en C#?

¿Para qué sirve `ConfigureAwait(false)` y en qué tipo de proyectos es importante usarlo?


SQL Básico

Tienes tablas `Pedidos` y `Clientes`. Quieres obtener todos los pedidos aunque el cliente haya sido eliminado. ¿Qué JOIN usarías?

¿Cuál es la diferencia entre `WHERE` y `HAVING` en SQL?

¿Cuál es el propósito principal de un índice en una base de datos relacional?

¿Qué significa el acrónimo ACID en bases de datos relacionales?


React — Fundamentos

¿Cuándo re-renderiza un componente que usa `useState`?

¿Qué problema causa tener un array de dependencias vacío `[]` en un `useEffect` que usa una variable del componente?

¿Por qué es un problema usar el índice del array como `key` en una lista que puede cambiar de orden o tener elementos eliminados?

¿Para qué sirve el Virtual DOM en React?

¿Qué ocurre cuando llamas a `setEstado` con el mismo valor que tiene actualmente el estado?


JavaScript / TypeScript

¿Cuál es la diferencia principal entre `var`, `let` y `const` en JavaScript?

¿Qué imprimirá este código? `console.log(0 == '0')` y `console.log(0 === '0')`

¿Qué es un closure en JavaScript y por qué es útil?

¿En qué orden se ejecutan las siguientes líneas y por qué?

¿Cuál es la diferencia entre `null` y `undefined` en JavaScript?

En TypeScript, ¿cuándo preferirías `type` sobre `interface` para definir la forma de un objeto?


Algoritmos y Estructuras de Datos

¿Cuál es la complejidad de buscar un elemento en un array sin ordenar comparado con buscarlo en un Dictionary<K,V> en C#?

¿Cuál es la complejidad Big O de dos loops anidados que iteran N elementos cada uno?

Tienes que implementar un historial de navegación (ir atrás y adelante) y también una cola de impresión (primer documento enviado = primero en imprimirse). ¿Qué estructura usarías para cada caso?

¿Cuándo es aplicable la búsqueda binaria y cuál es su complejidad?


Testing

¿Cuál es la diferencia principal entre un unit test, un integration test y un end-to-end (e2e) test?

En el patrón Arrange-Act-Assert (AAA), ¿qué debe contener cada sección?

¿Para qué sirven los mocks en testing y qué problema resuelven?

¿Por qué el 100% de code coverage no garantiza que el código está libre de bugs?


Patrones y Principios

¿Qué es el principio DRY y cuál es el problema concreto de violarlo?

¿Cuál es la diferencia entre un DTO (Data Transfer Object) y una Entidad de dominio?

¿Qué es el patrón MVC y qué responsabilidad tiene cada capa?

¿Qué es la Inyección de Dependencias y qué problema concreto resuelve?


Git

¿Cuál es la diferencia entre `git merge` y `git rebase`?

¿Qué hace `git stash` y cuándo lo usarías?

¿Cuál es la diferencia entre `git reset` y `git revert`?