EGEL Plus Informática study materials
EGEL Plus Informática study resources

EGEL Plus Informática practice questions

One question at a time. Build your EGEL Plus Informática understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1Desarrollo de software

In software engineering, what does the acronym UML stand for?

  1. Universal Method Logic
  2. Unified Modeling Language Correct answer.
  3. Unified Method Language
  4. Universal Modeling Language

Explanation

UML is the Unified Modeling Language, a standardized notation for visualizing, specifying, and documenting software designs. It was formed by merging several object-oriented modeling methods.

Question 2Desarrollo de software

Which software development life cycle model arranges work in short fixed-length iterations that each produce a potentially shippable increment?

  1. Spiral
  2. Scrum Correct answer.
  3. V-Model
  4. Waterfall

Explanation

Scrum is an agile framework that organizes work into short iterations called sprints, each producing a usable increment. Waterfall, Spiral, and V-Model are plan-driven models with different phase structures.

Question 3Desarrollo de software

In a relational database, which SQL clause is used to filter rows returned by a query based on a condition?

  1. HAVING
  2. WHERE Correct answer.
  3. ORDER BY
  4. GROUP BY

Explanation

The WHERE clause filters individual rows before grouping or ordering. ORDER BY sorts results, GROUP BY aggregates rows, and HAVING filters groups after aggregation.

Question 4Desarrollo de software

What is the main purpose of a version control system such as Git?

  1. Managing database transactions
  2. Automating unit test execution
  3. Tracking changes to files over time Correct answer.
  4. Compiling source code into executables

Explanation

Version control systems record the history of changes to files, enabling collaboration, branching, and rollback. Compilation, test automation, and transaction management are handled by other tools.

Question 5Desarrollo de software

Which of the following is a defining characteristic of an object-oriented programming language?

  1. It requires manual memory management
  2. It must be interpreted rather than compiled
  3. It organizes code around classes and objects Correct answer.
  4. It forbids the use of functions

Explanation

Object-oriented languages structure programs around classes and objects that encapsulate state and behavior. Being interpreted or compiled is independent of the paradigm, and functions and memory management are not restricted by it.

Question 6Desarrollo de software

In HTTP, which method is conventionally used to retrieve a representation of a resource without modifying it?

  1. DELETE
  2. POST
  3. GET Correct answer.
  4. PUT

Explanation

GET is a safe, idempotent method intended to retrieve a resource representation. POST and PUT typically create or update resources, and DELETE removes them.

Question 7Desarrollo de software

What does the DRY principle in software design recommend?

  1. Avoid duplicating knowledge or logic across the codebase Correct answer.
  2. Keep every function under ten lines
  3. Write documentation before writing code
  4. Test each module only once

Explanation

DRY stands for 'Don't Repeat Yourself' and recommends that each piece of knowledge have a single authoritative representation. It concerns duplication of logic, not function length, documentation order, or test frequency.

Question 8Desarrollo de software

Which data structure follows the Last-In, First-Out (LIFO) access order?

  1. Queue
  2. Linked list
  3. Hash table
  4. Stack Correct answer.

Explanation

A stack pushes and pops elements at the same end, so the most recently added element is removed first. A queue is FIFO, and linked lists and hash tables do not impose LIFO ordering.

Question 9Desarrollo de software

A function receives a list of integers and must return the largest value. Which algorithmic approach is most appropriate for this task?

  1. Iterate once, tracking the maximum seen so far Correct answer.
  2. Sort the list and return the middle element
  3. Apply binary search over the unsorted list
  4. Compute the sum and divide by the list length

Explanation

A single linear scan that updates a running maximum finds the largest value in O(n) time. Sorting is slower than necessary, binary search requires sorted input, and averaging does not identify the maximum.

Question 10Desarrollo de software

A developer writes a recursive function without a base case. What is the most likely consequence at runtime?

  1. The function returns null
  2. The function executes in constant time
  3. The compiler rejects the code
  4. The program throws a stack overflow error Correct answer.

Explanation

Each recursive call adds a frame to the call stack; without a base case the recursion never terminates and the stack overflows. Compilation usually succeeds, and the behavior is not constant time.

Question 11Desarrollo de software

In object-oriented design, what is encapsulation primarily intended to achieve?

  1. Hiding internal state behind a controlled interface Correct answer.
  2. Converting objects into database rows
  3. Executing methods on multiple threads
  4. Allowing a class to inherit from multiple parents

Explanation

Encapsulation bundles data with the methods that operate on it and restricts direct access to internal state through a public interface. Multiple inheritance, concurrency, and persistence are separate concerns.

Question 12Desarrollo de software

A class defines a method with the same name and parameter list as a method in its superclass, providing a new implementation. What is this called?

  1. Overloading
  2. Overriding Correct answer.
  3. Composition
  4. Shadowing

Explanation

Overriding replaces a superclass method with a subclass implementation that has the same signature. Overloading uses different parameter lists in the same scope, and composition is a design relationship.

Question 13Desarrollo de software

Which SQL statement removes all rows from a table while preserving the table structure?

  1. ALTER TABLE
  2. DROP TABLE
  3. TRUNCATE TABLE Correct answer.
  4. DELETE FROM table_name

Explanation

TRUNCATE TABLE removes all rows efficiently while keeping the table definition. DROP TABLE removes the table itself, and ALTER TABLE changes its structure rather than its contents.

Question 14Desarrollo de software

A team wants to isolate experimental work without affecting the main codebase. Which Git operation best supports this?

  1. Amend the last commit
  2. Configure a remote
  3. Run git fetch
  4. Create a new branch Correct answer.

Explanation

Branches provide independent lines of development, so experiments can proceed without altering the main branch. Fetching, remotes, and amending do not create isolated work areas.

Question 15Desarrollo de software

In a RESTful API, which HTTP status code conventionally indicates that a requested resource was not found?

  1. 404 Correct answer.
  2. 301
  3. 200
  4. 500

Explanation

404 Not Found indicates that the server cannot locate the requested resource. 200 signals success, 301 indicates a redirect, and 500 indicates a server error.

Question 16Desarrollo de software

Which testing level verifies the interaction between two or more modules after they have been individually tested?

  1. Unit testing
  2. Acceptance testing
  3. Static analysis
  4. Integration testing Correct answer.

Explanation

Integration testing focuses on interfaces and interactions between combined components. Unit testing checks individual modules, acceptance testing validates business requirements, and static analysis inspects code without executing it.

Question 17Desarrollo de software

A developer needs to store a collection of unique values and frequently check membership. Which structure offers the best average-case performance for this use case?

  1. A hash set Correct answer.
  2. A singly linked list
  3. An unsorted array
  4. A stack

Explanation

A hash set provides average-case constant-time membership checks and enforces uniqueness. Arrays and linked lists require linear scans, and a stack does not support efficient arbitrary membership testing.

Question 18Desarrollo de software

In a relational schema, a foreign key is used to do which of the following?

  1. Encrypt sensitive values stored in the table
  2. Enforce referential integrity between two tables Correct answer.
  3. Guarantee that a column is unique within its table
  4. Automatically index every column of a table

Explanation

A foreign key references a primary or candidate key in another table and enforces referential integrity. Uniqueness is enforced by unique constraints, indexing is separate, and encryption is not a key function.

Question 19Desarrollo de software

Which practice best supports continuous integration in a development team?

  1. Requiring manual testing before each push
  2. Merging to the main branch only at release time
  3. Storing build artifacts in the source repository
  4. Running automated builds and tests on every commit Correct answer.

Explanation

Continuous integration relies on frequent integration with automated builds and tests triggered by each commit, giving fast feedback. Delaying merges or relying on manual checks undermines CI.

Question 20Desarrollo de software

A piece of code checks a boolean flag in three nested if-statements that could be combined into a single condition. Which refactoring most directly addresses this?

  1. Replace magic number with a constant
  2. Extract method
  3. Consolidate conditional expression Correct answer.
  4. Introduce parameter object

Explanation

Consolidating conditional expressions merges related checks into a single, clearer condition. Extracting a method, introducing a parameter object, and replacing magic numbers address different code smells.

Question 21Desarrollo de software

Which element of a UML class diagram represents that one class contains instances of another as part of its state?

  1. Dependency arrow
  2. Inheritance arrow
  3. Interface realization
  4. Composition relationship Correct answer.

Explanation

Composition denotes a whole-part relationship in which the part's lifetime is tied to the whole. Inheritance and realization express type relationships, and dependency indicates a weaker usage relationship.

Question 22Desarrollo de software

An algorithm performs a binary search over a sorted array of n elements. What is its worst-case time complexity?

  1. O(1)
  2. O(log n) Correct answer.
  3. O(n)
  4. O(n log n)

Explanation

Binary search halves the search interval on each step, so the worst case requires a logarithmic number of comparisons. Linear and linearithmic bounds apply to other algorithms.

Question 23Desarrollo de software

A web application exposes an endpoint that concatenates user input directly into an SQL query string. Which vulnerability does this most directly introduce?

  1. SQL injection Correct answer.
  2. Cross-site request forgery
  3. Buffer overflow
  4. Cross-site scripting

Explanation

Building SQL from unsanitized input lets attackers alter query logic, which is SQL injection. Parameterized queries prevent it; the other vulnerabilities arise from different mechanisms.

Question 24Desarrollo de software

A system must guarantee that two related database updates either both succeed or both fail. Which mechanism enforces this property?

  1. An index on both tables
  2. A foreign key constraint
  3. A transaction with commit and rollback Correct answer.
  4. A stored procedure without error handling

Explanation

Transactions group operations atomically so that commit applies all changes and rollback undoes them on failure, satisfying atomicity. Indexes and foreign keys enforce different properties, and procedures without error handling cannot guarantee atomicity.

Question 25Desarrollo de software

A developer applies the Liskov substitution principle. Which situation violates it?

  1. A subclass adds a new method not present in its superclass
  2. A subclass overrides a method to throw an exception the superclass never throws Correct answer.
  3. A subclass inherits a protected field from its superclass
  4. A subclass calls a superclass constructor

Explanation

The principle requires subclass objects to be usable wherever superclass objects are expected; strengthening a method's contract by throwing new exceptions breaks that substitutability. Adding methods, inheriting fields, and calling constructors do not violate it.

Question 26Desarrollo de software

Which software development model organizes work in short, fixed-length iterations that each produce a potentially shippable increment?

  1. Scrum Correct answer.
  2. Spiral
  3. V-Model
  4. Waterfall

Explanation

Scrum structures development into fixed-length sprints, each ending with a potentially releasable increment reviewed against a prioritized backlog. The other models plan phases or risk cycles rather than short repeating increments.

Question 27Desarrollo de software

In a relational database, which property of ACID guarantees that a committed transaction's changes survive a subsequent system crash?

  1. Isolation
  2. Durability Correct answer.
  3. Atomicity
  4. Consistency

Explanation

Durability ensures that once a transaction commits, its effects are persisted, typically through write-ahead logging or stable storage, so they survive failures. Atomicity concerns all-or-nothing execution, isolation concerns concurrent visibility, and consistency concerns valid state transitions.

Question 28Desarrollo de software

Which version control concept refers to an immutable snapshot of the project history identified by a hash?

  1. Branch
  2. Remote
  3. Commit Correct answer.
  4. Tag

Explanation

A commit is an immutable snapshot of the tracked tree at a point in time, identified by a content hash. Branches and tags are movable or fixed labels that point to commits, and a remote is a hosted copy of the repository.

Question 29Desarrollo de software

Which HTTP status code class indicates that the client's request was successfully received, understood, and accepted?

  1. 4xx
  2. 2xx Correct answer.
  3. 1xx
  4. 5xx

Explanation

The 2xx class signals successful processing of a request, such as 200 OK or 201 Created. The 1xx class is informational, 4xx indicates client errors, and 5xx indicates server errors.

Question 30Desarrollo de software

A developer must iterate over a large collection while removing elements that meet a condition. Which approach avoids skipping elements or throwing a concurrent-modification error in most languages' standard collection libraries?

  1. Use an explicit iterator and call its remove operation Correct answer.
  2. Iterate forward with an index and remove in place without adjusting the index
  3. Remove elements while iterating with a for-each construct and ignore the error
  4. Copy the collection inside the loop on each iteration

Explanation

An explicit iterator exposes a safe removal operation that keeps the traversal state consistent with the underlying collection. Removing in place during a forward index loop shifts elements and skips the next one, and for-each loops typically fail fast on structural modification.

Question 31Desarrollo de software

A program must parse an expression where operators and parentheses must be matched and evaluated in the correct nesting order. Which data structure best supports this?

  1. Queue
  2. Binary search tree
  3. Stack Correct answer.
  4. Hash table

Explanation

A stack's last-in, first-out order naturally matches the most recently opened parenthesis or pending operator, which is exactly the nesting semantics required. A queue would process items in arrival order and break the nesting.

Question 32Desarrollo de software

In a relational schema, which constraint ensures that every value in a column is unique across all rows and also disallows nulls?

  1. DEFAULT
  2. UNIQUE
  3. PRIMARY KEY Correct answer.
  4. CHECK

Explanation

A PRIMARY KEY enforces both uniqueness and non-null values for the key column or columns. A UNIQUE constraint enforces uniqueness but typically permits nulls, while CHECK and DEFAULT govern value validity and default assignment.

Question 33Desarrollo de software

A team wants every code change to be reviewed by at least one other developer before merging. Which mechanism enforces this in a typical collaborative version control workflow?

  1. A pre-commit hook that formats code
  2. A tag applied at release time
  3. Protected branches with required pull-request approvals Correct answer.
  4. A staging area for local commits

Explanation

Protected branches paired with required approvals block direct pushes and require a reviewed pull request before merge. Formatting hooks, staging, and tags do not gate merging on human review.

Question 34Desarrollo de software

A class hierarchy has a base type Shape with a method area(). A subclass named Line extends Shape but cannot meaningfully compute an area. Which design principle is most directly violated?

  1. Dependency inversion principle
  2. Single responsibility principle
  3. Open/closed principle
  4. Liskov substitution principle Correct answer.

Explanation

Liskov substitution requires that a subtype be usable wherever its base type is expected without breaking correctness; a Line that cannot fulfill Shape's area contract violates this. The other principles address cohesion, extensibility, and dependency direction.

Question 35Desarrollo de software

An application must execute a slow remote call from a graphical interface without freezing the user interface. Which approach is most appropriate?

  1. Poll the remote service in a tight loop on the UI thread
  2. Perform the call synchronously on the event-dispatch thread
  3. Perform the call on a background thread and update the UI when it completes Correct answer.
  4. Increase the size of the UI thread's stack

Explanation

Moving blocking work off the UI thread keeps the interface responsive, and results are delivered back to the UI thread for safe rendering. Running the call or a tight polling loop on the event thread blocks rendering, and stack size does not address blocking.

Question 36Desarrollo de software

Which design pattern provides a way to create families of related objects without specifying their concrete classes?

  1. Decorator
  2. Strategy
  3. Observer
  4. Abstract Factory Correct answer.

Explanation

Abstract Factory declares interfaces for creating related products and lets concrete factories choose the family, decoupling clients from concrete classes. Observer, Decorator, and Strategy address notification, behavior extension, and interchangeable algorithms respectively.

Question 37Desarrollo de software

A function computes the nth Fibonacci number by calling itself twice for each input with no stored results. Which improvement most reduces its exponential time complexity?

  1. Convert the recursion into a loop with two variables
  2. Increase the recursion depth limit
  3. Add memoization of previously computed results Correct answer.
  4. Reorder the recursive calls

Explanation

Caching results for each n avoids recomputing overlapping subproblems, reducing the exponential recursion to linear time in n. Iteration also works, but memoization directly targets the redundant recomputation while preserving the recursive structure.

Question 38Desarrollo de software

In a continuous delivery pipeline, what is the primary purpose of a staging environment?

  1. To validate a release candidate in a production-like setting before promotion Correct answer.
  2. To run unit tests during local development
  3. To host production traffic during peak load
  4. To store source code artifacts for long-term archival

Explanation

Staging mirrors production closely enough to validate integration, configuration, and release candidates before promotion. It does not serve live traffic, archive source, or replace local unit testing.

Question 39Desarrollo de software

A developer must ensure that a shared counter incremented by multiple threads never loses updates. Which primitive most directly guarantees mutual exclusion around the increment?

  1. A thread-local variable
  2. An atomic compare-and-swap loop
  3. A mutex lock Correct answer.
  4. A read-only volatile flag

Explanation

A mutex serializes access to the critical section so only one thread increments at a time, preventing lost updates. Thread-local variables and read-only flags give each thread its own state and do not protect a shared counter.

Question 40Desarrollo de software

An application repeatedly runs a query that filters on a column with low selectivity, returning most rows of a large table. Which outcome is most likely if the optimizer chooses an index scan on that column?

  1. The query becomes faster because fewer pages are read
  2. The index is automatically dropped by the optimizer
  3. The query fails because low-selectivity indexes are invalid
  4. The query may be slower than a full table scan due to extra lookups Correct answer.

Explanation

When most rows match, an index scan adds pointer-chasing lookups on top of reading nearly every row, so a sequential full scan is often cheaper. Optimizers use statistics to estimate selectivity and avoid this plan when possible.

Question 41Gestión de proyectos de tecnologías de la información

¿Cuál es el principal propósito de un acta de constitución del proyecto (project charter)?

  1. Detallar el cronograma de actividades con fechas y responsables
  2. Autorizar formalmente la existencia del proyecto y otorgar autoridad al director del proyecto Correct answer.
  3. Registrar las lecciones aprendidas al cierre del proyecto
  4. Definir los criterios de aceptación de cada entregable

Explanation

El acta de constitución es el documento que autoriza formalmente el proyecto y faculta al director para aplicar recursos a las actividades. No sustituye a la planificación detallada ni al registro de lecciones aprendidas, que ocurren en otras fases.

Question 42Gestión de proyectos de tecnologías de la información

En el método de la ruta crítica (CPM), la holgura total de una actividad se define como:

  1. La duración estimada más probable de la actividad
  2. El número de recursos asignados en paralelo a la actividad
  3. El tiempo disponible para retrasar la actividad sin afectar la fecha de fin del proyecto Correct answer.
  4. La diferencia entre el costo presupuestado y el costo real de la actividad

Explanation

La holgura total es el margen de tiempo que una actividad puede retrasarse sin alterar la fecha de terminación del proyecto. Las actividades de la ruta crítica tienen holgura total igual a cero.

Question 43Gestión de proyectos de tecnologías de la información

Una estimación de tres puntos utiliza las estimaciones optimista, más probable y pesimista. ¿Qué distribución pondera el valor más probable con mayor peso y suele emplearse en la fórmula PERT?

  1. Beta Correct answer.
  2. Uniforme
  3. Normal
  4. Triangular

Explanation

La fórmula PERT clásica usa la distribución beta, que pondera el valor más probable con un peso de cuatro frente a los extremos. La triangular pondera los tres valores por igual.

Question 44Gestión de proyectos de tecnologías de la información

Un equipo aplica el marco Scrum. ¿Quién es responsable de maximizar el valor del producto y de ordenar los elementos del product backlog?

  1. El equipo de desarrollo
  2. El patrocinador del proyecto
  3. El propietario del producto (Product Owner) Correct answer.
  4. El Scrum Master

Explanation

En Scrum, el Product Owner gestiona el product backlog y decide el orden para maximizar el valor entregado. El Scrum Master facilita el proceso y el equipo de desarrollo ejecuta el trabajo.

Question 45Gestión de proyectos de tecnologías de la información

Se identificó un riesgo con alta probabilidad e impacto negativo. La decisión de contratar un seguro para transferir la exposición corresponde a qué estrategia de respuesta a riesgos negativos.

  1. Transferir Correct answer.
  2. Evitar
  3. Mitigar
  4. Aceptar

Explanation

Transferir implica trasladar el impacto del riesgo a un tercero, como una aseguradora, sin eliminar el riesgo. Mitigar reduce la probabilidad o el impacto, y evitar cambia el plan para eliminar la amenaza.

Question 46Gestión de proyectos de tecnologías de la información

En la gestión del valor ganado, el índice de desempeño del cronograma (SPI) se calcula como:

  1. PV / EV
  2. EV / PV Correct answer.
  3. EV / AC
  4. AC / EV

Explanation

El SPI compara el valor ganado (EV) con el valor planificado (PV); un SPI menor que 1 indica retraso respecto al cronograma. La relación EV/AC corresponde al índice de desempeño del costo (CPI).

Question 47Gestión de proyectos de tecnologías de la información

Un proyecto tiene EV = 80 000, PV = 100 000 y AC = 90 000. ¿Cuál es la interpretación correcta del desempeño?

  1. El proyecto está adelantado en cronograma y por encima del presupuesto
  2. El proyecto está adelantado en cronograma y por debajo del presupuesto
  3. El proyecto está retrasado en cronograma y por encima del presupuesto Correct answer.
  4. El proyecto está retrasado en cronograma y por debajo del presupuesto

Explanation

El SPI = 80 000/100 000 = 0,8, menor que 1, lo que indica retraso. El CPI = 80 000/90 000 ≈ 0,89, menor que 1, lo que indica que se gasta más de lo ganado.

Question 48Gestión de proyectos de tecnologías de la información

¿Qué documento describe cómo se gestionarán los cambios al alcance, cronograma y costo durante el proyecto?

  1. El informe de desempeño
  2. El registro de interesados
  3. La estructura de desglose del trabajo
  4. El plan de gestión del proyecto Correct answer.

Explanation

El plan de gestión del proyecto integra los planes subsidiarios, incluidos los procedimientos de control integrado de cambios. La EDT descompone el alcance y el registro de interesados documenta a las partes involucradas.

Question 49Gestión de proyectos de tecnologías de la información

El equipo debe descomponer jerárquicamente el alcance del proyecto en paquetes de trabajo. ¿Qué herramienta produce este resultado?

  1. Estructura de desglose del trabajo (EDT) Correct answer.
  2. Diagrama de red del cronograma
  3. Matriz de asignación de responsabilidades
  4. Matriz de trazabilidad de requisitos

Explanation

La EDT descompone el alcance total en entregables y paquetes de trabajo manejables. La matriz de trazabilidad vincula requisitos con entregables, pero no descompone el trabajo.

Question 50Gestión de proyectos de tecnologías de la información

Un gerente detecta que un miembro clave del equipo domina una técnica especializada que nadie más conoce. ¿Qué acción del plan de gestión de recursos aborda mejor este riesgo de conocimiento?

  1. Documentar el conocimiento y capacitar a otros miembros del equipo Correct answer.
  2. Aumentar el salario del especialista para retenerlo
  3. Reducir el alcance del proyecto para eliminar esa tarea
  4. Transferir la tarea a un proveedor externo sin documentación

Explanation

Documentar el conocimiento y capacitar a otros reduce la dependencia de una sola persona, mitigando el riesgo de disponibilidad. La retención salarial no elimina la vulnerabilidad ante ausencias.