Courseiva

CCNA Itf Software Development Questions

75 of 83 questions · Page 1/2 · Itf Software Development topic · Answers revealed

1
Multi-Selecteasy

During the SDLC, testing is performed at different levels. Which TWO of the following are recognized levels of testing? (Select TWO.)

Select 2 answers
A.Maintenance
B.Code review
C.Integration testing
D.Unit testing
E.Deployment
AnswersC, D

Integration testing is a recognised SDLC test level: it verifies that individually tested modules interact correctly through their interfaces and data flows. This satisfies the stem's requirement for a distinct level, sitting between unit testing and system testing in the conventional hierarchy.

Why this answer

Integration testing (C) is a recognized level of testing in the SDLC, sitting between unit and system testing, where individual modules are combined and tested as a group to verify interfaces and interactions between components. Unit testing (D) is also a recognized level, focusing on verifying the smallest testable parts of an application, such as individual functions or methods, in isolation. These two are standard levels in the classic testing hierarchy (unit, integration, system, acceptance).

Maintenance (A) is an SDLC phase that follows deployment, not a testing level. Code review (B) is a static verification technique or peer-review activity, not a defined test level. Deployment (E) is a release/implementation phase, not a testing level.

Exam trap

FC0-U71 often tests whether candidates confuse SDLC phases (planning, design, development, testing, deployment, maintenance) with testing levels (unit, integration, system, acceptance), causing them to select 'maintenance' or 'deployment' as testing types.

2
MCQmedium

A developer is trying to find why a program is producing incorrect output. The developer runs the program with a debugging tool, sets a breakpoint at a specific line, and examines the values of variables at that point. Which debugging technique is being used?

A.Code review
B.Step-through execution
C.Logging
D.Breakpoint inspection
AnswerD

Breakpoint inspection pauses execution at a chosen line so the developer can read live variable values at that exact moment. This directly matches the stem's described technique, unlike logging, stepping or static code review, which do not halt and examine state.

Why this answer

The developer is using breakpoint inspection, a debugging technique where execution is paused at a specific line of code (the breakpoint) to examine variable values at that exact moment. This allows the developer to inspect the program's state without stepping through each subsequent line, directly identifying why incorrect output occurs.

Exam trap

The trap here is that candidates confuse breakpoint inspection with step-through execution, but step-through involves actively moving through code line by line, whereas breakpoint inspection pauses at a single point for variable examination without stepping.

How to eliminate wrong answers

Option A is wrong because code review is a manual or automated analysis of source code without executing it, not a runtime debugging technique involving breakpoints or variable inspection. Option B is wrong because step-through execution involves executing code line by line, often using 'step into' or 'step over' commands, which is different from simply setting a breakpoint and examining variables without stepping. Option C is wrong because logging involves writing messages to a log file or console during execution, not pausing at a breakpoint to inspect variables interactively.

3
MCQmedium

A developer is designing a program that stores a customer's mailing address, which consists of a street, city, state, and postal code. The developer wants to keep these related values grouped together and access them by name rather than by numeric position. Which data structure is the best fit?

A.An array of four strings
B.A single string containing all four values
C.A Boolean flag for each address component
D.A record or struct with named fields
AnswerD

A record or struct groups related values under one name and exposes each value through a named field, such as address.city or address.postalCode. This matches the requirement to keep the parts of an address together while accessing them by meaningful names instead of numeric positions, improving readability and reducing mistakes.

Why this answer

Grouping related values and accessing them by name is the defining purpose of a record or struct. It keeps the address components together as one logical unit while letting code refer to each part through a descriptive field name. Arrays use positional indexes, a single string loses structure, and Booleans cannot hold text, so a record or struct is the appropriate structure.

Exam trap

The trap here is treating an array as an equivalent substitute because it can hold the same values, overlooking that the scenario specifically requires access by name rather than by numeric position.

4
Multi-Selectmedium

A REST API is used by a mobile app to retrieve data. The API returns responses in a specific format. Which THREE of the following are typical characteristics of a REST API?

Select 3 answers
A.Uses SOAP for message exchange
B.Maintains server-side session state
C.Is stateless between requests
D.Returns data in JSON format
E.Uses HTTP methods like GET and POST
AnswersC, D, E

Statelessness is a key constraint of REST.

Why this answer

REST APIs are stateless by design, meaning each request from a client to the server must contain all the information needed to understand and process the request. The server does not store any client context between requests, which improves scalability and reliability. This statelessness is a core constraint of the REST architectural style, as defined by Roy Fielding in his doctoral dissertation.

Exam trap

A common misconception in the CompTIA ITF+ exam is that REST APIs must use JSON exclusively, but while JSON is common, REST can return data in any format (e.g., XML, HTML, plain text) as long as it adheres to REST constraints.

5
MCQeasy

A developer wants to represent the logic of a program before writing code. The diagram should show decisions with diamond shapes and processes with rectangles. Which representation is the developer creating?

A.Algorithm
B.Data structure
C.Pseudocode
D.Flowchart
AnswerD

A flowchart uses standard symbols: diamonds for decisions and rectangles for processes, exactly matching the developer's requirement to map program logic before coding. Unlike pseudocode or structured English, it is a visual diagram, satisfying the stem's demand for shapes representing decisions and processes.

Why this answer

A flowchart is the only representation that uses standardized geometric symbols to depict program logic visually: diamonds represent decisions (conditional branches), rectangles represent processes or actions, parallelograms represent input/output, and arrows show control flow. The question explicitly describes these shapes, which are the defining visual vocabulary of a flowchart. Algorithms, data structures, and pseudocode do not use diamond/rectangle diagrams.

Exam trap

FC0-U71 often tests the confusion between flowchart and pseudocode/algorithm by describing the visual symbols (diamonds, rectangles) — candidates who focus only on 'representing program logic' may pick algorithm or pseudocode and miss that the question is specifically asking about the graphical diagram.

How to eliminate wrong answers

Option A is wrong because an algorithm is a step-by-step logical procedure or set of rules for solving a problem — it is conceptual and can be expressed in plain language, pseudocode, or code, but it is not itself a shape-based diagram. Option B is wrong because a data structure is a way of organizing and storing data in memory (e.g., arrays, linked lists, trees, hash tables) to enable efficient access and modification; it describes data organization, not program control flow or decision logic. Option C is wrong because pseudocode is a text-based, informal high-level description of an algorithm that resembles programming language syntax but is not executable and contains no graphical symbols like diamonds or rectangles.

6
MCQhard

A developer writes a function that calculates the average of a list of numbers. The function works correctly when the list contains values, but crashes when the list is empty. Which programming concept should the developer apply to handle the empty list case gracefully?

A.Inheritance
B.Polymorphism
C.Recursion
D.Exception handling
AnswerD

Exception handling allows the function to catch a division-by-zero or empty-list error and respond gracefully, such as returning zero or a message. Since the crash occurs at runtime when the list is empty, wrapping the calculation in a try-catch block directly addresses the failure and prevents the program from terminating unexpectedly, making it the appropriate concept here.

Why this answer

The function fails at runtime when the list is empty, likely due to division by zero. Exception handling lets the developer catch that error and define a graceful response, such as returning a default value or message. Recursion, inheritance, and polymorphism are unrelated to runtime error management and would not prevent the crash.

Exam trap

The trap here is selecting recursion because it involves lists, overlooking that the real issue is an unhandled runtime error requiring exception handling.

7
MCQmedium

A developer needs to represent the logic of a program that decides whether a user is eligible for a discount. The process includes conditions (e.g., 'is member?') and actions (e.g., 'apply 10% discount'). Which tool would best visually represent this logic using standardized symbols like diamonds for decisions and rectangles for processes?

A.Pseudocode
B.Data flow diagram
C.Flowchart
D.UML class diagram
AnswerC

A flowchart uses standardised ANSI symbols, diamonds for decisions and rectangles for processes, mapping conditions such as membership to actions such as applying a discount. This visual notation represents branching program logic directly, unlike pseudocode or a data dictionary, which lack decision symbols.

Why this answer

A flowchart uses standardized symbols—diamonds for decisions, rectangles for processes, parallelograms for input/output, and ovals for start/end—to visually represent program logic and control flow. It is the canonical tool for depicting conditional branching such as eligibility checks and resulting actions.

Exam trap

FC0-U71 often tests whether candidates can distinguish visual modeling tools (flowchart, DFD, UML) from textual logic representations (pseudocode), and whether they know which symbol set corresponds to decision logic versus data movement.

How to eliminate wrong answers

Option A is wrong because pseudocode is a text-based, informal high-level description of logic, not a visual tool with standardized symbols. Option B is wrong because a data flow diagram models how data moves between processes, data stores, and external entities, not decision logic or control flow. Option D is wrong because a UML class diagram models object-oriented structure (classes, attributes, methods, relationships), not procedural decision logic.

8
MCQhard

A developer writes a function that opens a file, reads its contents, and then returns the data. If the file does not exist, the program should display a friendly message instead of terminating abruptly. Which approach best handles this situation?

A.Wrap the file read in a try-catch block and handle the file-not-found exception
B.Add comments describing what should happen if the file is missing
C.Use a loop to retry the file read indefinitely until it succeeds
D.Declare the file path as a constant at the top of the program
AnswerA

A try-catch block lets the code attempt the file read and intercept the exception raised when the file is missing. The catch block can then display the friendly message and allow the program to continue. This is the standard structured way to handle anticipated runtime errors without crashing, directly satisfying the requirement.

Why this answer

When an operation can fail for a predictable reason such as a missing file, structured exception handling allows the program to recover gracefully. The try block contains the risky read, and the catch block intercepts the specific error and presents a friendly message. Comments, constants, and unbounded retries do not intercept the failure, so they cannot prevent the abrupt termination.

Exam trap

The trap here is believing that documenting the failure or retrying automatically is equivalent to handling it, when only catching the exception lets the program respond in a controlled way.

9
MCQeasy

A mobile app needs to display weather data from an online service. The app sends HTTP requests and receives responses in JSON format. This communication is made possible by a set of rules and protocols that allow the app and the service to interact. This set of rules is called a(n):

A.Data structure
B.API
C.SDLC
D.Algorithm
AnswerB

An API is the defined set of rules and protocols governing how one piece of software requests data from another. Here it governs the app's HTTP requests and the JSON responses returned by the weather service, enabling their interaction.

Why this answer

An API (Application Programming Interface) is a set of rules and protocols that allows different software applications to communicate with each other. In this scenario, the mobile app uses HTTP requests to interact with the weather service's API, which defines the endpoints, request formats, and JSON response structures. The API abstracts the underlying service implementation, enabling standardized data exchange.

Exam trap

FC0-U71 often tests the definition of API versus other computing concepts — candidates confuse API with data structures or algorithms because they all involve 'rules' or 'organization'.

How to eliminate wrong answers

Option A is wrong because a data structure is a way to organize and store data in memory (e.g., arrays, linked lists), not a communication protocol between applications. Option C is wrong because SDLC (Software Development Life Cycle) is a process for building software, not a mechanism for app-to-service communication. Option D is wrong because an algorithm is a step-by-step procedure for solving a problem, not a set of rules for network communication.

10
MCQeasy

A junior developer writes a program that stores a customer's age in a variable. The program must later perform arithmetic, such as adding five years to that age. Which data type is MOST appropriate for this variable?

A.Boolean
B.Array
C.Integer
D.String
AnswerC

An integer stores whole numbers and supports arithmetic operations, so it can hold an age and allow adding five years. Ages are naturally whole values, making an integer a precise and efficient choice without unnecessary decimal precision. This matches the stated requirement to perform arithmetic on the stored value.

Why this answer

The variable must hold a whole-number age and support arithmetic such as adding five years. An integer satisfies both requirements directly, providing numeric storage and calculation. A Boolean cannot represent numbers, a string treats the value as text and concatenates instead of adding, and an array is meant for collections rather than a single scalar value.

Exam trap

The trap here is assuming any type that can display the age, such as a string, is acceptable, when the requirement is specifically to perform arithmetic on it.

11
MCQmedium

A developer needs to store several related values for one record, such as a product's name, price, and quantity, and pass them around as a single unit. The values have different data types. Which data structure is MOST appropriate?

A.An array of integers
B.A record or struct with named fields
C.A single string containing all values separated by commas
D.A Boolean flag
AnswerB

A record or struct groups related values under one name, with each field having its own type. This lets the product name, price, and quantity travel together as a single unit while preserving type safety. It directly matches the need to treat several differently typed, related values as one logical entity.

Why this answer

The product record combines a text name, a numeric price, and a numeric quantity that belong together. A record or struct with named fields stores these related, differently typed values as one unit and keeps each field's type intact. A delimited string loses typing, a Boolean is too limited, and an integer array cannot hold the text name or provide meaningful field names.

Exam trap

The trap here is choosing a string because it can technically hold everything, ignoring that it discards data types and requires reparsing.

12
MCQmedium

A software company uses a development model where work is divided into 2-week sprints. Each sprint begins with a planning meeting, includes daily standups, and ends with a review and retrospective. A product owner prioritizes features, and a scrum master facilitates the process. Which methodology is being used?

A.Kanban
B.Scrum
C.Waterfall
D.Extreme Programming (XP)
AnswerB

Scrum prescribes exactly these time-boxed ceremonies: sprint planning, daily standups, sprint review and retrospective, with a product owner prioritising the backlog and a scrum master facilitating. The stem's fixed two-week sprints and defined role separation satisfy Scrum's empirical, iterative structure rather than Kanban's continuous flow.

Why this answer

Scrum is an agile framework that uses sprints, daily standups, sprint reviews, and specific roles (product owner, scrum master, development team).

13
MCQmedium

A mobile app developer wants to integrate weather data into an app. The developer uses an HTTP request to a web service that returns JSON data. The web service requires an API key in the request header for authentication. What is this web service an example of?

A.GraphQL API
B.WebSocket
D.SOAP API
AnswerC

The service exposes HTTP endpoints returning JSON and authenticates via an API key header, which is characteristic of a REST API. This satisfies the stem's description of stateless HTTP requests with header-based authentication, distinguishing it from SOAP or GraphQL services.

Why this answer

This web service is a REST API because it uses HTTP requests to access and manipulate resources, returns data in JSON format, and requires an API key in the request header for authentication. REST APIs are stateless and rely on standard HTTP methods (GET, POST, etc.), making them ideal for integrating external data like weather information into mobile apps.

Exam trap

CompTIA often tests the distinction between REST and SOAP by focusing on data format (JSON vs. XML) and authentication simplicity (API keys vs. WS-Security), leading candidates to confuse REST with GraphQL due to both using JSON, but GraphQL is a query language, not a service architecture.

How to eliminate wrong answers

Option A is wrong because GraphQL API is a query language that allows clients to request specific data fields, but it does not inherently require an API key in the header for authentication; authentication is an additional layer, not a defining characteristic. Option B is wrong because WebSocket is a full-duplex communication protocol over a single TCP connection, used for real-time bidirectional data streams, not for standard HTTP request-response interactions like fetching weather data. Option D is wrong because SOAP API uses XML-based messaging and often relies on WS-Security or other complex protocols for authentication, not simple API keys in HTTP headers, and it is not typically associated with lightweight JSON responses.

14
Multi-Selectmedium

A developer is debugging a program that unexpectedly crashes. Which TWO tools or techniques are commonly used to identify the cause of the crash? (Select the two correct answers.)

Select 2 answers
A.Code compilation
B.Refactoring
C.Breakpoints
D.Logging
E.Code review
AnswersC, D

Breakpoints pause execution at a chosen line, letting the developer inspect variables, call stack and memory state immediately before the crash occurs. This satisfies the scenario by catching the fault at its source rather than inferring it afterwards from logs alone.

Why this answer

Breakpoints (C) are correct because they let a developer pause program execution at a specific line or condition, inspect variables, call stack, and memory state at the moment before the crash, which directly reveals the faulty logic or invalid value causing the failure. Logging (D) is correct because strategically placed log statements (or a logging framework) record runtime events, error messages, and stack traces leading up to the crash, allowing post-mortem analysis of the sequence of operations that triggered it. Code compilation (A) only translates source into executable code and would surface syntax or type errors at build time, not the runtime cause of a crash.

Refactoring (B) restructures existing code to improve readability or design without diagnosing the crash, and code review (E) is a static, human inspection of source that may catch defects but does not observe the program's actual runtime behavior during the crash.

Exam trap

FC0-U71 often tests the difference between static techniques (code review, compilation) and dynamic techniques (breakpoints, logging) — candidates incorrectly include code review as a crash diagnosis tool, but it does not observe runtime behavior.

15
MCQeasy

Which of the following best describes the purpose of a REST API?

A.To compile source code into executable programs
B.To allow software applications to communicate with each other
C.To create a graphical user interface
D.To define a database schema
AnswerB

A REST API exposes endpoints over HTTP that let separate software applications exchange data and invoke functionality using standard methods, decoupling client and server. This application-to-application communication is its defining purpose, not user interfaces or hardware control.

Why this answer

A REST API (Representational State Transfer Application Programming Interface) is a set of architectural constraints that enables software applications to communicate over HTTP using standard methods like GET, POST, PUT, and DELETE. It allows different systems, often written in different languages, to exchange data in formats such as JSON or XML, making it the correct choice for enabling inter-application communication.

Exam trap

CompTIA often tests the misconception that REST APIs are used for building user interfaces or managing databases, when in fact they are purely a communication protocol between software systems.

How to eliminate wrong answers

Option A is wrong because compiling source code into executable programs is the function of a compiler (e.g., GCC, javac), not an API. Option C is wrong because creating a graphical user interface is the role of UI frameworks (e.g., JavaFX, React) or GUI builders, not a REST API which is a server-side interface. Option D is wrong because defining a database schema is the responsibility of a Data Definition Language (DDL) in SQL or an ORM mapping, not a REST API which focuses on resource manipulation via HTTP.

16
Multi-Selectmedium

A development team is adopting Scrum. Which TWO roles are defined in the Scrum framework? (Select the two correct answers.)

Select 2 answers
A.Scrum Master
B.Product Owner
C.Business Analyst
D.Quality Assurance Lead
E.Project Manager
AnswersA, B

Scrum defines three accountabilities, and the Scrum Master is one: accountable for establishing Scrum as defined in the Scrum Guide, coaching the team and removing impediments. This satisfies the stem's requirement for a defined Scrum role, unlike titles such as project manager or product owner's proxy.

Why this answer

Option A, Scrum Master, is correct because Scrum formally defines this role to serve the team by facilitating Scrum events, removing impediments, and coaching the organization on Scrum practices. Option B, Product Owner, is correct because Scrum defines this role as accountable for maximizing product value and managing the Product Backlog, including ordering items and ensuring the team understands them. Together, the Scrum Master and Product Owner are two of the three official Scrum accountabilities, alongside the Developers.

Option C, Business Analyst, is not a defined Scrum role; such responsibilities may exist but are not part of the framework. Option D, Quality Assurance Lead, is likewise not a Scrum-defined role, as quality is a shared team responsibility. Option E, Project Manager, is not a Scrum role, since Scrum distributes management responsibilities among the Scrum Master, Product Owner, and Developers rather than using a traditional project manager.

Exam trap

FC0-U71 often tests whether candidates can distinguish Scrum's three defined accountabilities from traditional IT roles like Project Manager or Business Analyst that do not exist in Scrum.

17
Multi-Selecthard

A software company is using version control for a project. A developer has completed work on a new feature in a separate branch and wants to merge it into the main branch. What TWO steps should typically occur before the merge is accepted?

Select 2 answers
A.Delete the feature branch immediately
B.Update the feature branch with the latest main branch changes
C.Run unit tests only on the main branch
D.Submit a pull request for code review
E.Commit changes directly to the main branch
AnswersB, D

Rebasing or merging main into the feature branch resolves conflicts locally and verifies the feature still builds against current code. This satisfies the pre-merge requirement that integration issues surface before acceptance, rather than after the main branch is destabilised.

Why this answer

Common version control best practices include code review via pull requests and ensuring the feature branch is up to date with the main branch to minimize conflicts.

18
Multi-Selectmedium

A software development team is adopting agile practices. Which TWO of the following are common characteristics of agile methodologies? (Select TWO.)

Select 2 answers
A.Sequential phases (requirements→design→implementation)
B.Iterative development with short cycles
C.Responding to change over following a plan
D.Fixed scope defined at the start
E.Comprehensive documentation at each phase
AnswersB, C

Iterative development with short cycles is a defining agile characteristic, delivering working software in frequent increments rather than one big-bang release. These short iterations enable continuous feedback, letting teams adapt to changing requirements throughout the project, which directly satisfies the agile emphasis on responding to change over following a rigid plan.

Why this answer

Option B is correct because agile methodologies, such as Scrum and Extreme Programming, deliver work in short, repeating iterations (typically 1–4 week sprints) that produce a potentially shippable increment each cycle, rather than progressing through one long sequential pass. Option C is correct because it reflects one of the four values in the Agile Manifesto, which explicitly states a preference for 'responding to change over following a plan,' allowing teams to adapt scope and priorities as requirements evolve. Option A is incorrect because sequential phases (requirements→design→implementation) describe the waterfall model, which agile explicitly contrasts with its iterative and incremental approach.

Option D is incorrect because agile embraces emergent and evolving scope rather than fixing the full scope at the start, which is characteristic of plan-driven/waterfall contracts. Option E is incorrect because agile values 'working software over comprehensive documentation,' favoring lightweight, just-enough documentation over exhaustive artifacts at each phase.

Exam trap

The trap is that some options sound like general good practices (e.g., documentation, fixed scope) but are actually antithetical to agile principles; candidates may select them if they confuse agile with disciplined project management.

19
MCQeasy

A developer is planning a new project that has very clear and fixed requirements. The project must be completed in a linear fashion with each phase finished before moving to the next. Which development methodology should be used?

A.Spiral
B.Scrum
C.Agile
D.Waterfall
AnswerD

Waterfall's sequential phases — requirements, design, implementation, testing, deployment — each complete before the next begins, matching the fixed, clearly defined requirements. Iterative and agile methods assume evolving scope, so they contradict the linear, phase-gated constraint stated in the stem.

Why this answer

The Waterfall methodology is correct because it follows a linear, sequential approach where each phase (e.g., requirements, design, implementation, testing) must be completed before the next begins. This aligns perfectly with the project's very clear and fixed requirements, as Waterfall assumes that all requirements are known upfront and changes are minimized.

Exam trap

The trap here is that candidates often confuse 'linear' with 'iterative' and pick Agile or Scrum because they are popular, but the question explicitly states 'fixed requirements' and 'each phase finished before moving to the next,' which directly points to Waterfall.

How to eliminate wrong answers

Option A is wrong because the Spiral model is iterative and risk-driven, combining prototyping with waterfall-like phases, which is not purely linear and does not require each phase to finish before moving to the next. Option B is wrong because Scrum is an Agile framework that uses time-boxed sprints and iterative development, allowing for changing requirements and overlapping phases, which contradicts the fixed, linear requirement. Option C is wrong because Agile is an umbrella term for iterative and incremental methodologies (like Scrum and Kanban) that embrace changing requirements and continuous feedback, not a linear, phase-complete approach.

20
Multi-Selecteasy

Which TWO of the following are core phases of the Software Development Life Cycle (SDLC)?

Select 2 answers
A.Algorithm design
B.Flowcharting
C.Testing
D.Debugging
E.Implementation
AnswersC, E

Testing is a core SDLC phase because it verifies that built software meets its requirements before release, satisfying the stem's demand for a genuine life-cycle stage. It occurs after implementation and before deployment, encompassing unit, integration, system and acceptance testing to detect defects and confirm quality.

Why this answer

Testing (C) is a core SDLC phase because it is the formal stage where the built software is verified and validated against requirements before release, covering activities like unit, integration, system, and acceptance testing. Implementation (E) is also a core SDLC phase, as it is the stage in which the design is translated into actual code and the system is built and deployed. The remaining options are not core SDLC phases: algorithm design (A) is a lower-level design activity that may occur within the design phase, flowcharting (B) is a modeling or documentation technique used during analysis/design, and debugging (D) is a defect-fixing activity performed within implementation and testing rather than a distinct SDLC phase.

Exam trap

FC0-U71 often tests the distinction between core SDLC phases and specific activities or tools, causing candidates to confuse detailed tasks like algorithm design or debugging with the broader phases.

21
MCQhard

A programmer writes a recursive function to compute the factorial of a number. When the function is called with a large positive integer, the program terminates unexpectedly with an error indicating that the maximum call depth was exceeded. The base case is correct and the recursion does eventually reach it for small inputs. Which statement best explains the failure?

A.The integer data type overflows when computing large factorials, which halts the program.
B.Each recursive call consumes stack space, so a deep recursion exhausts the call stack before reaching the base case.
C.The base case returns the wrong value, causing the recursion to continue indefinitely.
D.The function lacks a return statement, so the compiler cannot optimize the recursion.
AnswerB

Each recursive call pushes a new frame onto the call stack, holding parameters and local state. With a large input, the number of nested calls grows until the stack space is exhausted, producing a stack overflow. The base case is correct but is only reached after many calls, so the failure is caused by depth rather than by a missing termination condition.

Why this answer

Recursion uses the call stack, and every call adds a frame that is not removed until the call returns. A large input creates a deep chain of calls, and the stack has a finite size. When the chain exceeds that size, the runtime raises a stack overflow or maximum call depth error.

The correct base case ensures the recursion would finish, but not before the stack is exhausted.

Exam trap

The trap here is blaming an incorrect or missing base case, when the scenario states the base case is correct and the real limit is the finite size of the call stack.

22
Multi-Selecthard

A quality assurance team is executing system testing on a new banking application. They need to verify that the entire application works correctly from start to finish. Which THREE of the following testing types would be included in system testing?

Select 3 answers
A.Security testing
B.Integration testing
C.Functional testing
D.Unit testing
E.Performance testing
AnswersA, C, E

System testing validates the complete, integrated application against requirements, and security testing examines authentication, authorisation, encryption and vulnerability handling across that whole system. It therefore belongs within end-to-end system testing rather than unit or component-level verification.

Why this answer

System testing validates the complete, integrated application against its requirements, so Security testing (A) is included because it verifies authentication, authorization, encryption, and protection against vulnerabilities across the whole banking system. Functional testing (C) is included because it confirms end-to-end business functions and requirements work correctly from start to finish. Performance testing (E) is included because it assesses responsiveness, throughput, scalability, and stability of the fully integrated application under load.

Integration testing (B) is not part of system testing because it focuses on interfaces between combined units/modules and is performed earlier at the integration level. Unit testing (D) is not included because it tests individual components or functions in isolation, typically done by developers before integration.

Exam trap

The trap is including integration or unit testing as part of system testing — candidates conflate the levels of the V-model, but system testing only begins after integration is complete and the full application is assembled.

23
MCQhard

During debugging, a developer sets a breakpoint and steps through the code line by line. Which debugging tool feature is being used to execute one line of code at a time?

A.Step execution
B.Breakpoint
C.Variable inspection
D.Logging
AnswerA

Step execution runs one line of code at a time, pausing after each statement so the developer can inspect variable values and control flow. This matches the scenario of stepping through code line by line during debugging.

Why this answer

Step execution (or stepping) is the debugging feature that executes one line of code at a time, allowing the developer to observe the program's state after each statement. This is typically done using 'Step Over', 'Step Into', or 'Step Out' commands in a debugger. The question describes exactly this line-by-line execution, which is step execution.

Exam trap

FC0-U71 often tests the distinction between breakpoints (pause at a line) and step execution (execute one line at a time), so candidates must focus on the 'one line at a time' phrasing.

How to eliminate wrong answers

Option B is wrong because a breakpoint is a marker that pauses execution at a specific line, not a feature that executes code line by line. Option C is wrong because variable inspection is the act of viewing variable values during debugging, not controlling execution flow. Option D is wrong because logging is the practice of recording events or messages to a file or console, not interactive line-by-line execution.

24
MCQeasy

A developer creates a new branch in a version control system to work on a new feature. After completing the feature, the developer wants to combine the changes from the feature branch back into the main branch. What is this process called?

A.Committing
B.Forking
C.Branching
D.Merging
AnswerD

Merging integrates commits from the feature branch into the main branch, preserving both histories through a merge commit or fast-forward. This directly satisfies the stem's requirement to combine completed feature changes back into main, unlike rebasing, which rewrites commits, or cherry-picking, which copies individual commits.

Why this answer

Merging is the process of combining changes from one branch into another — here, taking the completed feature branch and integrating its commits into the main branch. Git performs this via git merge, which either fast-forwards or creates a merge commit.

Exam trap

The trap is confusing branching with merging — candidates see 'branch' in the question and pick 'Branching,' but branching is the creation step, while merging is the integration step the question describes.

How to eliminate wrong answers

Option A is wrong because committing saves changes to the local repository on the current branch; it does not combine branches. Option B is wrong because forking creates a copy of an entire repository (often on a hosting platform like GitHub) to enable independent development, not to integrate a feature branch. Option C is wrong because branching creates a divergent line of development; it is the act of starting the feature work, not finishing and integrating it.

25
MCQeasy

A development team is building a new mobile app. The project has a fixed budget and scope, and the requirements are well-understood from the start. Which software development methodology would be most appropriate for this project?

A.Spiral
B.Scrum
C.Waterfall
D.Agile
AnswerC

Waterfall suits fixed budget, fixed scope and stable, well-understood requirements, because its sequential phases lock design before build begins. Agile's iterative re-planning assumes changing requirements, which this project explicitly lacks, so Waterfall's upfront baselining matches the stated constraints.

Why this answer

Waterfall is most appropriate when requirements are well-understood, scope is fixed, and the budget is fixed — exactly the conditions described. Its sequential phases (requirements, design, implementation, testing, deployment) suit projects where change is minimal and predictability is valued.

Exam trap

The trap is defaulting to Agile or Scrum because they are modern and popular — but the exam signals 'fixed budget, fixed scope, well-understood requirements,' which is the textbook definition of when Waterfall is appropriate.

How to eliminate wrong answers

Option A is wrong because Spiral is risk-driven and iterative, suited to large, high-risk projects where requirements evolve — not fixed-scope, well-understood work. Option B is wrong because Scrum is an Agile framework built for evolving requirements and iterative delivery, which contradicts the fixed scope and well-understood requirements stated in the question. Option D is wrong because Agile embraces changing requirements and continuous delivery, which is the opposite of a fixed-budget, fixed-scope project with stable requirements.

26
MCQmedium

A software team is choosing a version control workflow. They want developers to work on features without disturbing the stable main branch, and they want a clear mechanism to propose and review changes before those changes become part of the main codebase. Which version control concept best fits this need?

A.A commit made directly to the main branch
B.A local file copy placed in a backup folder
C.A tag placed on the latest commit
D.A branch that is merged into main after review
AnswerD

A branch is an independent line of development that lets a developer make changes without affecting the main branch. After the work is complete, the branch can be reviewed and then merged into main. This matches the team's requirement to isolate feature work and to review changes before they become part of the stable codebase.

Why this answer

Branching creates an isolated line of development so feature work does not disturb the stable main branch. When the work is finished, a merge integrates the branch back into main, and the review typically happens before that merge. This combination of isolation and controlled integration is precisely what the team needs to protect the main codebase while still enabling collaborative feature development.

Exam trap

The trap here is assuming that tagging a commit or copying files provides isolation for new work, when only a branch creates a separate line of development that can be reviewed before merging.

27
MCQmedium

A developer is working on a new feature and creates a copy of the main codebase to work in isolation. Later, this copy is merged back into the main branch. Which version control concept describes this copy?

A.Merge
B.Branch
C.Commit
D.Pull request
AnswerB

A branch is an independent line of development copied from the main codebase, letting the developer commit changes in isolation. Those commits are later merged back into the main branch, which is exactly the isolation-then-integration workflow described in the scenario.

Why this answer

A branch is an independent line of development created from a point in the main codebase so a developer can work in isolation without affecting the main line. When the feature is complete, the branch is merged back into the main branch. This matches the scenario exactly: a copy of the codebase used for isolated work that is later integrated.

Exam trap

FC0-U71 often tests the confusion between the isolated copy (branch) and the integration action (merge) or the review artifact (pull request), so candidates must map the scenario's 'copy used for isolated work' to branch.

How to eliminate wrong answers

Option A is wrong because a merge is the act of integrating changes from one branch into another, not the isolated copy itself. Option C is wrong because a commit is a snapshot of changes recorded in the repository history, not a parallel line of development. Option D is wrong because a pull request is a collaboration/review mechanism for proposing and discussing changes before merge, not the isolated copy of the codebase.

28
Multi-Selectmedium

A team is choosing a version control workflow for a project with multiple developers. They want changes to be tracked, reviewed, and integrated safely. Which TWO practices are characteristic of using a distributed version control system such as Git? (Choose two.)

Select 2 answers
A.File locking prevents two developers from editing the same file at the same time
B.Each developer has a full local copy of the repository, including its history
C.Every commit is automatically deployed to production without any review
D.The repository exists only on a single central server, and developers must be online to commit
E.Changes are proposed for review through a pull request before being merged into the main branch
AnswersB, E

In a distributed version control system, cloning a repository copies the complete history to the developer's machine. This allows commits, branching, and history inspection to happen locally without a network connection. It is a defining characteristic of distributed systems and supports the team's need to track changes independently before sharing them.

Why this answer

Distributed version control gives every developer a complete local repository with full history, enabling offline commits and branching, while collaborative platforms add pull requests so changes can be reviewed before merging. A single central server with mandatory connectivity describes a centralized model, file locking conflicts with parallel work, and automatic unreviewed deployment contradicts the goal of safe integration.

Exam trap

The trap here is assuming any repository hosted on a server is centralized, when a distributed system can still use a shared remote while each developer keeps a full local copy.

29
Multi-Selectmedium

A development team is using an agile methodology. Which TWO of the following are typical practices in agile development?

Select 2 answers
A.Waterfall phase transitions
B.Fixed scope defined at project start
C.Iterative development with short cycles
D.Daily standup meetings
E.Detailed design phase before coding
AnswersC, D

Agile delivers work in short, fixed-length iterations (typically one to four weeks), each producing a potentially shippable increment. This iterative cadence directly satisfies the stem's agile methodology constraint, enabling frequent inspection and adaptation rather than a single sequential delivery phase.

Why this answer

Option C is correct because agile development is built on iterative, incremental delivery through short cycles (sprints or iterations, typically 1–4 weeks) that produce a potentially shippable increment and allow frequent reprioritization based on feedback. Option D is correct because the daily standup (a short, time-boxed Scrum ceremony, usually 15 minutes) is a hallmark agile practice for synchronizing the team, surfacing impediments, and maintaining transparency. Options A and E are incorrect because waterfall phase transitions and a detailed design phase completed before coding reflect sequential, plan-driven lifecycle models rather than agile's continuous, cross-functional delivery.

Option B is incorrect because agile embraces emergent, reprioritized scope (e.g., a groomed product backlog) rather than a fixed scope locked at project start.

Exam trap

FC0-U71 often tests the contrast between agile and waterfall terminology — candidates pick options like 'fixed scope' or 'detailed design phase' because those sound like good project management, but they are actually waterfall hallmarks.

30
MCQeasy

A junior developer is writing a program that must repeatedly ask the user for a password until the correct password is entered. The developer needs a programming construct that will keep running the same block of code while a condition remains true. Which programming concept should the developer use?

A.A conditional statement
B.A function
C.A variable
D.A loop
AnswerD

A loop is a control structure that repeats a block of code as long as a specified condition evaluates to true. In this scenario, the developer can place the password prompt inside the loop and use a condition such as 'password does not match' to keep asking until the correct value is entered, which is exactly the behavior required.

Why this answer

The requirement is repetition based on a condition, which is the definition of a loop. A loop checks its condition and repeats the enclosed statements until the condition becomes false, so placing the password prompt inside a loop that continues while the password is incorrect achieves the desired behavior. Other constructs such as functions, variables, and conditional statements control structure or storage but do not inherently repeat code.

Exam trap

The trap here is confusing a conditional statement, which chooses a path once, with a loop, which repeats a block while a condition remains true.

31
MCQmedium

A junior programmer is reviewing a piece of pseudocode written by a teammate. The pseudocode contains the line: total = total + item. The programmer wants to know what type of operation this line performs in the algorithm. Which of the following best describes this line?

A.It outputs the value of total and item to the user.
B.It declares total as a new variable of type item.
C.It performs a comparison between total and item.
D.It assigns the sum of total and item back to total.
AnswerD

The statement total = total + item evaluates the right side first by adding the current value of total to item, then stores the result in total. This is a common accumulator pattern in pseudocode and programming, where a running total is updated each time the loop processes a new item from a collection or input stream.

Why this answer

The statement total = total + item is an assignment that adds the current value of total to item and stores the result back into total. This accumulator pattern is used to keep a running sum while processing items in a loop. It is not a comparison, declaration, or output statement, so the correct description is that it assigns the sum back to total.

Exam trap

The trap here is confusing the equals sign in pseudocode with mathematical equality or a comparison operator instead of recognizing it as an assignment.

32
MCQhard

A software development team is using Scrum. During a sprint, the product owner introduces a new high-priority requirement that was not in the sprint backlog. The team has already committed to the current sprint's goals. According to Scrum principles, what should the team do?

A.Include the new requirement in the next sprint planning
B.Ask the development team to work overtime to accommodate the new requirement
C.Hold an emergency sprint planning meeting to adjust the sprint backlog
D.Add the new requirement to the current sprint and remove a lower-priority item
AnswerA

New requirements are placed in the product backlog and addressed in future sprints.

Why this answer

In Scrum, the sprint backlog is frozen once the sprint starts; new requirements should be added to the product backlog for future sprints.

33
Multi-Selectmedium

A development team is building a web application and wants to adopt a version control system to manage code changes across multiple contributors. Which TWO of the following are primary benefits of using a version control system in this scenario? (Choose two.)

Select 2 answers
A.It enforces coding style rules and rejects non-compliant code automatically.
B.It allows multiple developers to work on different features simultaneously without overwriting each other's work.
C.It provides a runtime environment for executing the application code.
D.It automatically compiles and deploys the application to production.
E.It maintains a history of changes so developers can revert to previous versions.
AnswersB, E

Version control enables branching, so each developer can work on a separate feature branch and later merge changes. This isolates work and prevents one person's edits from overwriting another's, which is critical for parallel development. In a team setting, this collaborative capability is a primary reason to adopt version control.

Why this answer

Version control systems track file changes over time and support branching, so teams can revert to earlier states and let multiple developers work in parallel without conflicts. These capabilities directly address the need to manage code changes across contributors. Compilation, deployment, style enforcement, and code execution are handled by other tools, not by the version control system itself.

Exam trap

The trap here is attributing build, deployment, or linting capabilities to version control, when it only manages file history and branching.

34
MCQmedium

A company is deciding between two software delivery models. Model X requires a formal sign-off after each phase before the next begins, while Model Y delivers working software in short iterations with continuous customer feedback. Which model is Model Y?

A.Waterfall
B.Spiral
C.V-Model
D.Agile
AnswerD

Agile is an iterative approach that delivers working software in short cycles called iterations or sprints, with frequent customer feedback and adaptation to change. This aligns exactly with Model Y's description of short iterations and continuous feedback, making Agile the correct identification in this comparison.

Why this answer

Model Y delivers working software in short iterations with continuous customer feedback, which is the defining characteristic of Agile. Waterfall and the V-Model are sequential with formal phase sign-offs, matching Model X. The Spiral model is iterative but risk-driven, not primarily feedback-driven in short cycles, so Agile is the correct identification.

Exam trap

The trap here is confusing any iterative model with Agile, but Spiral is risk-driven while Agile specifically emphasizes short cycles and continuous customer feedback.

35
MCQhard

A team of developers is working on a large project with multiple features. They use a version control system. One developer creates a new branch to develop a feature, while other developers continue working on the main branch. After completing the feature, the developer wants to combine the changes from the feature branch back into the main branch. What version control operation should be performed?

A.Pull request
B.Fork
C.Commit
D.Merge
AnswerD

Merge integrates the feature branch's commits into the main branch, combining divergent histories while preserving both lines of development. This is the operation that reunites the completed feature work with the mainline, satisfying the stem's requirement to combine changes.

Why this answer

The correct operation is 'Merge' (D), which combines the changes from the feature branch into the main branch. In Git, merging integrates the commit history of two branches, preserving the feature's work while incorporating it into the target branch. This is the standard workflow for bringing a completed feature back into the main line of development.

Exam trap

The CompTIA ITF+ exam often tests the distinction between a 'pull request' (a request to merge) and the actual 'merge' operation, leading candidates to confuse the collaborative workflow step with the underlying version control command.

How to eliminate wrong answers

Option A is wrong because a 'Pull request' is a code review and collaboration mechanism, not the actual operation that combines branches; it typically triggers a merge but is not the merge itself. Option B is wrong because a 'Fork' creates a personal copy of a repository on a server (e.g., GitHub), used for independent development or contributions, not for combining branches within the same repository. Option C is wrong because a 'Commit' saves changes to the local repository but does not combine branches; it is a prerequisite step before merging, not the operation that integrates branches.

36
MCQeasy

A student is learning to write programs and asks why a programming language uses variables. The instructor explains that a variable lets the program store a value under a name and refer to it later. Which statement best describes the role of a variable in a program?

A.A variable is a named location in memory that holds a value which can change during execution.
B.A variable is a type of loop that repeats instructions until a condition is met.
C.A variable is a fixed value that cannot be changed once the program starts.
D.A variable permanently stores data on disk so it survives after the program ends.
AnswerA

This accurately describes a variable: a name that references a memory location whose contents can be read and updated as the program runs. For example, a variable can hold a running total that increases with each loop iteration. This definition matches the instructor's explanation that a variable stores a value under a name for later use.

Why this answer

A variable is a named reference to a memory location that holds a value the program can read and modify during execution. This lets code store results, such as a running total, and reuse them later by name. Persistent disk storage, immutable constants, and loops are separate concepts, so they do not describe the role of a variable in the program.

Exam trap

The trap here is mixing up a variable with a constant or with persistent storage, when a variable is specifically a changeable in-memory value.

37
MCQmedium

A developer is designing a program to calculate an employee's weekly pay. The program must store the hourly rate, the number of hours worked, and the computed gross pay so these values can be used and updated as the calculation proceeds. Which programming concept describes these named storage locations?

A.Constants
B.Data types
C.Operators
D.Variables
AnswerD

A variable is a named storage location whose value can change during program execution. The hourly rate, hours worked, and gross pay can each be stored in a variable, and the gross pay variable can be updated after the multiplication. This directly matches the need for named locations that hold and update values during the calculation.

Why this answer

Named storage locations whose contents can change during execution are variables. The hourly rate, hours worked, and gross pay each need a place to hold a value, and gross pay must be updated after the calculation. Variables provide exactly this capability, while constants cannot change, operators perform actions rather than store data, and data types classify values rather than hold them.

Exam trap

The trap here is selecting data types because they sound related to storing values, when the question asks specifically for named locations that hold and update values during execution.

38
MCQmedium

A programmer needs to store a collection of key-value pairs where each key is unique and maps to a value. Which data structure is best suited for this purpose?

A.Dictionary
B.Array
C.Stack
D.List
AnswerA

A dictionary stores data as unique keys mapped to values, giving direct lookup by key rather than by numeric index. This satisfies the stem's requirement for unique key-value pairs, unlike lists or arrays, which hold ordered elements accessed positionally and permit duplicate entries.

Why this answer

A dictionary is specifically designed to store key-value pairs with unique keys, providing efficient lookup, insertion, and deletion operations. It ensures that each key is unique and maps directly to a value, making it the ideal choice for this requirement. Other data structures like arrays, stacks, and lists do not inherently support key-based access or enforce key uniqueness.

Exam trap

The trap here is confusing key-value mapping with simple ordered collections, leading candidates to choose lists or arrays because they can store multiple items, but they lack the key-based access and uniqueness enforcement that dictionaries provide.

How to eliminate wrong answers

Option B is wrong because an array stores elements in contiguous memory locations accessed by numerical indices, not by arbitrary keys, and does not enforce key uniqueness. Option C is wrong because a stack is a last-in-first-out (LIFO) data structure that only allows access to the most recently added element, with no concept of key-value mapping. Option D is wrong because a list is an ordered collection of elements accessed by position, and while it can store pairs, it does not provide efficient key-based lookup or guarantee unique keys.

39
Multi-Selectmedium

A developer is debugging a program that crashes with an error. Which THREE of the following are common debugging techniques?

Select 3 answers
A.Stepping through code line by line
B.Ignoring the error and continuing
C.Recompiling the entire program without changes
D.Setting breakpoints to pause execution
E.Inspecting variable values during execution
AnswersA, D, E

Stepping executes code one statement at a time, letting the developer follow the precise path taken toward the crash. This is a standard debugging technique because it exposes branching decisions and loops that static reading of the source cannot reliably reveal.

Why this answer

Option A (Stepping through code line by line) is correct because executing code one statement at a time in a debugger lets the developer observe the exact instruction where the crash occurs and trace the control flow leading up to it. Option D (Setting breakpoints to pause execution) is correct because breakpoints halt the program at a chosen line or condition, allowing the developer to examine the program state at the critical moment before the error manifests. Option E (Inspecting variable values during execution) is correct because examining variables, registers, and memory at runtime reveals incorrect values, null references, or out-of-range data that explain the crash.

Option B (Ignoring the error and continuing) is not a debugging technique since it provides no diagnostic information and typically lets the fault propagate or recur. Option C (Recompiling the entire program without changes) is not a debugging technique because rebuilding identical source produces the same binary behavior and yields no new insight into the defect.

Exam trap

The trap is including plausible-sounding but non-diagnostic actions like 'recompile without changes' or 'ignore the error'; the exam expects you to distinguish genuine debugging techniques from ineffective or harmful behaviors.

40
MCQmedium

In a Scrum team, who is responsible for prioritizing the product backlog and ensuring that the team works on the most valuable features first?

A.Product Owner
B.Scrum Master
C.Development Team
D.Stakeholder
AnswerA

The Product Owner owns the product backlog, ordering items by business value so the team always delivers the highest-priority features first. This directly satisfies the stem's requirement for backlog prioritisation and value sequencing, a duty the Scrum Guide assigns solely to that accountability.

Why this answer

The Product Owner is responsible for maximizing the value of the product resulting from the work of the Scrum Team. This includes owning the Product Backlog, ordering its items to best achieve goals and missions, and ensuring that the Development Team works on the most valuable features first. The Product Owner is the single point of contact for prioritization decisions, balancing stakeholder needs with business value.

Exam trap

CompTIA ITF+ often tests the misconception that the Scrum Master or Development Team shares responsibility for backlog prioritization, but the trap here is that only the Product Owner has the authority to order the Product Backlog, as defined in the Scrum Guide.

How to eliminate wrong answers

Option B is wrong because the Scrum Master is a servant-leader who facilitates Scrum events, removes impediments, and coaches the team, but does not have authority over backlog prioritization. Option C is wrong because the Development Team is self-organizing and decides how to deliver the work, but they do not own the Product Backlog or its ordering. Option D is wrong because Stakeholders provide input and feedback, but they do not have the final authority to prioritize the Product Backlog; that responsibility lies solely with the Product Owner.

41
MCQmedium

A team is choosing a version control workflow. They want developers to work on features in isolation without affecting the stable main codebase, and then integrate changes after review. Which version control concept directly supports this isolation?

A.Branching
B.Tagging
C.Cloning
D.Committing
AnswerA

Branching creates a separate line of development from a point in the repository's history, allowing a developer to make changes without altering the main branch. This directly supports working on a feature in isolation and merging it back after review. It is the core version control mechanism for the isolation the team wants.

Why this answer

Branching lets a developer diverge from the main line of development, make changes in an isolated line, and later merge those changes back after review. This protects the stable codebase from unfinished or untested work. Committing records changes, cloning copies a repository, and tagging labels a commit, but none of those creates the separate line of development the team requires.

Exam trap

The trap here is thinking that any repository operation, such as cloning or committing, provides the same isolation as a dedicated feature branch.

42
MCQeasy

A software development team follows a methodology where work is divided into fixed sequential phases: requirements, design, implementation, testing, deployment, and maintenance. Changes to requirements are difficult once a phase is completed. Which development methodology is being used?

A.Spiral
B.Waterfall
C.Scrum
D.Agile
AnswerB

Waterfall matches the stem's fixed sequential phases, where each stage completes before the next begins and requirements freeze once design starts. Its linear, document-driven structure makes late requirement changes costly, satisfying the constraint that changes are difficult after a phase completes. Iterative and Agile approaches would instead accommodate evolving requirements.

Why this answer

The Waterfall model is a linear sequential software development methodology where each phase (requirements, design, implementation, testing, deployment, maintenance) must be completed before the next begins. This rigidity makes it difficult to accommodate changes to requirements once a phase is finished, exactly as described in the question.

Exam trap

CompTIA often tests the distinction between sequential (Waterfall) and iterative (Agile/Spiral) methodologies by emphasizing the inability to change requirements after a phase is completed, which directly points to Waterfall and not to the risk-driven cycles of Spiral or the adaptive nature of Agile frameworks.

How to eliminate wrong answers

Option A is wrong because the Spiral model is an iterative risk-driven methodology that combines prototyping with the waterfall phases, allowing for repeated cycles and requirement changes based on risk analysis. Option C is wrong because Scrum is an Agile framework that uses time-boxed sprints and welcomes changing requirements even late in development. Option D is wrong because Agile methodologies (including Scrum, Kanban, XP) are built on iterative development and continuous feedback, explicitly designed to handle evolving requirements.

43
MCQeasy

A developer needs to store a collection of student names and their corresponding grades. The data should be accessed quickly by student name. Which data structure is most appropriate?

A.Array
B.Queue
C.Stack
D.Dictionary
AnswerD

A dictionary stores key-value pairs, mapping each student name directly to a grade. Hash-based lookup gives average constant-time access by name, satisfying the quick retrieval requirement that a list or array would only meet through linear searching.

Why this answer

A dictionary (also known as a hash map or associative array) stores key-value pairs, allowing O(1) average-time lookups by key. Since the developer needs to access grades quickly by student name, the dictionary's hashing mechanism directly maps each name to its corresponding grade, making it the most appropriate choice.

Exam trap

CompTIA ITF+ often tests the distinction between sequential data structures (arrays, queues, stacks) and associative data structures (dictionaries), trapping candidates who confuse 'ordered collection' with 'keyed access'.

How to eliminate wrong answers

Option A is wrong because an array stores elements by numeric index, not by a string key like a student name, requiring a linear search or manual mapping to find a grade. Option B is wrong because a queue is a FIFO (First-In, First-Out) data structure designed for ordered processing, not for key-based lookups. Option C is wrong because a stack is a LIFO (Last-In, First-Out) data structure used for undo operations or expression evaluation, not for associating names with grades.

44
MCQmedium

A software tester is verifying that individual functions within a module work correctly in isolation. Which type of testing is being performed?

A.Integration testing
B.Unit testing
C.System testing
D.User acceptance testing
AnswerB

Unit testing verifies individual functions or methods in isolation, typically by the developer, before integration. This matches the stem's scenario of checking single functions within a module independently, distinguishing it from integration testing, which exercises interactions between combined components.

Why this answer

Unit testing verifies individual functions or methods within a module in isolation, which matches the tester's goal of confirming that each function works correctly on its own. It is typically performed by developers using frameworks such as JUnit, NUnit, or pytest, and it precedes integration testing in the software development lifecycle. Because the question specifies 'individual functions within a module... in isolation,' unit testing is the precise match.

Exam trap

The trap here is confusing the level of granularity — candidates see 'module' and jump to integration testing, but the key phrase is 'individual functions... in isolation,' which is the defining characteristic of unit testing.

How to eliminate wrong answers

Option A is wrong because integration testing verifies that multiple units or modules interact correctly together, not functions in isolation. Option C is wrong because system testing validates the complete, integrated application against requirements end-to-end, not individual functions. Option D is wrong because user acceptance testing is performed by end users or business stakeholders to confirm the software meets business needs, not to test internal function logic.

45
MCQmedium

A software development team is in the process of gathering requirements from stakeholders, identifying project scope, and creating a project plan. After this phase, they will move to analyzing requirements in detail. In which phase of the SDLC is the team currently working?

A.Analysis
B.Design
C.Implementation
D.Planning
AnswerD

Planning covers requirements gathering, scope definition and project plan creation, which the stem describes as the current work. Detailed requirements analysis belongs to the subsequent analysis phase, so the team has not yet entered it. This matches the SDLC sequence where planning precedes analysis.

Why this answer

The team is gathering requirements, identifying scope, and creating a project plan, which are all activities of the Planning phase in the SDLC. The Analysis phase follows Planning and involves detailed requirement analysis, not the initial gathering and scoping. Therefore, option D is correct.

Exam trap

The trap here is that candidates often confuse 'gathering requirements' with the Analysis phase, but in the SDLC, initial high-level requirements gathering is part of Planning, while detailed analysis happens in the subsequent Analysis phase.

How to eliminate wrong answers

Option A is wrong because the Analysis phase occurs after Planning and focuses on detailed requirement analysis, not initial gathering and scoping. Option B is wrong because the Design phase comes after Analysis and involves creating system architecture and design specifications. Option C is wrong because the Implementation phase is where coding and development happen, after design is complete.

46
MCQeasy

A developer needs to visually represent the logic of a program, including decisions (yes/no branches) and processes. Which tool should the developer use?

A.Data dictionary
B.Algorithm
C.Flowchart
D.Pseudocode
AnswerC

A flowchart uses standardised symbols — diamonds for yes/no decisions and rectangles for processes — to visually map program logic and branching paths. This directly satisfies the stem's requirement to represent decisions and processes, unlike plain pseudocode or a written algorithm, which describe logic textually without symbolic visual structure.

Why this answer

A flowchart is a diagram that visually represents the step-by-step logic of a program using standardized symbols, including diamonds for decisions (yes/no branches) and rectangles for processes. Because the developer needs a visual representation that includes decision branches and processes, a flowchart is the correct tool. Flowcharts are commonly used in the design phase before coding to map control flow clearly.

Exam trap

The trap is conflating 'algorithm' or 'pseudocode' with a visual tool — both describe logic but neither is a diagram, and the question explicitly asks for a visual representation with decision branches.

How to eliminate wrong answers

Option A is wrong because a data dictionary documents data elements, their types, and relationships — it does not visually depict program logic or decision branches. Option B is wrong because an algorithm is the logical procedure or set of steps itself, not a visual representation tool; it can be expressed in many forms. Option D is wrong because pseudocode is a text-based, structured English description of logic, not a visual diagram with decision symbols.

47
MCQhard

A developer is creating a cloud-based application that needs to authenticate third-party services before allowing access to its API. The developer decides to use a method where each third-party service receives a unique key that must be included in each API request. This method is known as:

A.Session-based authentication
B.API key authentication
C.Basic authentication
D.OAuth
AnswerB

API key authentication issues each third-party service a distinct key transmitted with every API request, letting the application validate the caller's identity before granting access. This directly satisfies the stem's requirement for a unique per-service credential included in each request, unlike token-based or certificate schemes.

Why this answer

API key authentication issues a unique key to each third-party service, which is then included in every API request (typically in a header or query string) so the server can identify and authorize the caller. This matches the scenario exactly: unique keys per consumer, presented on each request. It is a lightweight, stateless credential mechanism distinct from user-session or delegated-authorization models.

Exam trap

FC0-U71 often tests the confusion between API keys (simple per-service credentials sent on every request) and OAuth (delegated token-based authorization), so candidates pick OAuth whenever 'third-party' appears.

How to eliminate wrong answers

Option A is wrong because session-based authentication relies on the server creating a session (usually via a cookie or session ID) after a user logs in, which is designed for interactive user sessions rather than machine-to-machine third-party API access. Option C is wrong because Basic authentication transmits a base64-encoded username:password pair in the Authorization header, not a unique per-service key, and it is not the mechanism described. Option D is wrong because OAuth is a delegated authorization framework that issues access tokens via an authorization server and flows (e.g., authorization code, client credentials), which is far more complex than simply issuing a unique key per service.

48
MCQhard

During a sprint retrospective, the team identifies that too many bugs are being discovered late in the development cycle. They decide to introduce a practice where developers write tests for individual functions before coding the functions themselves. This approach is an example of:

A.User acceptance testing
B.Integration testing
C.System testing
D.Unit testing
AnswerD

Unit testing exercises individual functions in isolation, so writing those tests before implementation — test-driven development — forces developers to define expected behaviour up front. That early verification catches defects at the function level during the sprint, directly addressing the stem's constraint of bugs being discovered late in the development cycle.

Why this answer

Writing tests for individual functions before writing the functions themselves is the definition of unit testing, and doing so before coding is specifically test-driven development (TDD). Unit tests isolate the smallest testable pieces of code (functions, methods) to verify correctness. This matches the scenario's focus on individual functions and early bug detection.

Exam trap

FC0-U71 often tests the confusion between unit testing (individual functions, done early, often TDD) and integration/system/UAT testing (later, broader scope), so candidates pick the broader test type when the question emphasizes 'individual functions.'

How to eliminate wrong answers

Option A is wrong because user acceptance testing (UAT) is performed by end users or business stakeholders to confirm the system meets business requirements, typically near the end of the cycle — the opposite of early function-level testing. Option B is wrong because integration testing verifies that multiple modules or services work together, not individual functions in isolation. Option C is wrong because system testing validates the complete, integrated system against requirements, which occurs after unit and integration testing, not before coding functions.

49
MCQeasy

A programmer writes a step-by-step description of a solution in plain English without using any specific programming language syntax. What is this description called?

A.Source code
B.Bug report
C.Flowchart
D.Pseudocode
AnswerD

Pseudocode expresses an algorithm's logic in structured plain English, free of any language's syntax rules, so it can be read and verified by anyone. This directly satisfies the stem's constraint: a step-by-step solution description written without language-specific syntax.

Why this answer

Pseudocode is a plain-language, step-by-step description of an algorithm that uses programming-like constructs but no specific language syntax. It is used to plan logic before coding. Source code is actual code in a programming language, a bug report documents defects, and a flowchart uses symbols to represent flow.

Exam trap

FC0-U71 often tests the distinction between pseudocode and a flowchart—candidates may confuse the textual step-by-step nature of pseudocode with the graphical symbols of a flowchart.

How to eliminate wrong answers

Option A is wrong because source code is written in a specific programming language with correct syntax, not plain English. Option B is wrong because a bug report describes a defect or issue, not a solution algorithm. Option C is wrong because a flowchart is a graphical representation using standard symbols (ovals, rectangles, diamonds) to depict process flow, not a textual step-by-step description.

50
MCQmedium

A team is testing a software application after a bug fix. They want to ensure that the fix did not introduce new bugs in previously working functionality. Which type of testing should they perform?

A.Regression testing
B.User acceptance testing
C.Integration testing
D.Unit testing
AnswerA

Regression testing re-runs previously passing test cases to confirm the bug fix has not broken existing functionality. It directly targets the stem's constraint of detecting newly introduced defects in features that worked before the change.

Why this answer

Regression testing verifies that recent changes have not adversely affected existing features.

51
MCQmedium

A developer writes the following pseudocode for a process that finds the largest number in a list: SET max = first element FOR each number in list IF number > max THEN SET max = number END IF ENDFOR OUTPUT max What programming concept does this pseudocode represent?

A.API
B.Algorithm
C.Data structure
D.Flowchart
AnswerB

The pseudocode is a finite, ordered set of steps that compares each element against a running maximum and outputs the result, which is the definition of an algorithm: a step-by-step procedure solving a specific problem.

Why this answer

The pseudocode describes a step-by-step procedure for solving a problem — finding the maximum value in a list — which is the definition of an algorithm. It specifies a finite sequence of operations (initialize max, iterate, compare, update) that transforms input into output. This is a classic linear-search maximum algorithm with O(n) time complexity.

Exam trap

FC0-U71 often tests the distinction between an algorithm (the procedure/logic) and a data structure (the container), so candidates pick 'data structure' when the question shows logic operating on a list.

How to eliminate wrong answers

Option A is wrong because an API (Application Programming Interface) is a set of defined interfaces and protocols for software components to communicate, not a step-by-step problem-solving procedure. Option C is wrong because a data structure is a way of organizing and storing data (e.g., arrays, stacks, trees); the list is the data structure, but the pseudocode describes the procedure operating on it. Option D is wrong because a flowchart is a visual diagrammatic representation of a process, whereas the pseudocode is textual logic — a flowchart could depict an algorithm, but it is not the concept being demonstrated.

52
MCQhard

A developer is writing a program that reads a list of numbers and must repeatedly divide a running total by each number in the list. Some list entries may be zero. Which approach BEST prevents the program from crashing while still producing correct results for the non-zero entries?

A.Check each value before dividing and skip or otherwise handle entries equal to zero
B.Replace the running total with zero whenever a zero appears in the list
C.Convert every number in the list to a string before dividing
D.Ignore the problem and let the program terminate when a zero is encountered
AnswerA

Validating each divisor before the division prevents the invalid operation while allowing the loop to continue processing the remaining values. Skipping or specially handling zeros keeps the running total meaningful for all non-zero entries. This directly satisfies both goals: no crash and correct results for valid data.

Why this answer

Division by zero is an invalid operation that halts execution or raises an exception, so the divisor must be validated before the operation runs. Checking each value and skipping or specially handling zeros keeps the loop alive and preserves correct results for all non-zero entries. Terminating the program, converting to strings, or resetting the total all fail to meet both stated goals.

Exam trap

The trap here is treating any change that avoids the crash, such as resetting the total, as a valid fix even though it corrupts the results.

53
MCQmedium

A junior developer is asked to fix a bug in a program. The senior developer explains that the bug is a logic error: the program runs without crashing but produces an incorrect total. Which characteristic best distinguishes a logic error from a syntax error in this scenario?

A.A logic error prevents the program from compiling, while a syntax error does not.
B.A logic error occurs only in interpreted languages, while a syntax error occurs only in compiled languages.
C.A logic error can be detected automatically by the compiler, while a syntax error cannot.
D.A logic error allows the program to run but produces incorrect output, while a syntax error violates the language's grammar rules.
AnswerD

This correctly captures the difference. A syntax error breaks the rules of the language, such as a missing semicolon, and usually stops compilation or interpretation. A logic error means the code is grammatically valid and executes, but the algorithm or expression is wrong, producing an incorrect total. The scenario states the program runs but gives a wrong total, matching a logic error.

Why this answer

A syntax error violates the language's grammar and typically halts compilation or interpretation, while a logic error is grammatically valid code that runs but produces the wrong result. The scenario describes a program that runs yet gives an incorrect total, which is the hallmark of a logic error. Compilers catch syntax problems, not flawed reasoning, so automated tools alone will not flag the incorrect total.

Exam trap

The trap here is assuming a compiler can automatically catch any bug, when compilers check grammar rather than the intended logic.

54
MCQhard

A development team is using a stack data structure to manage function calls. Which of the following correctly describes the order in which items are removed from a stack?

A.Last-In-First-Out (LIFO)
B.Random order
C.First-In-First-Out (FIFO)
D.Based on priority
AnswerA

A stack removes the most recently pushed item first, so function calls unwind in reverse order of invocation. This LIFO behaviour satisfies the stem's requirement: the latest call must return before its caller resumes, which is exactly how nested function execution and recursion are managed.

Why this answer

A stack is a Last-In-First-Out (LIFO) data structure: the most recently pushed element is the first one popped. This matches how function call stacks work — the most recent function call returns first. The scenario explicitly references managing function calls, which is the canonical LIFO use case.

Exam trap

FC0-U71 often tests the LIFO vs. FIFO distinction, so candidates confuse stack (LIFO) with queue (FIFO) when the question mentions ordering, especially under time pressure.

How to eliminate wrong answers

Option B is wrong because stacks do not remove items in random order; removal is strictly determined by insertion order (LIFO). Option C is wrong because First-In-First-Out (FIFO) describes a queue, not a stack — queues remove the oldest element first, which is the opposite of stack behavior. Option D is wrong because priority-based removal describes a priority queue or heap, where elements are ordered by a priority value rather than insertion order.

55
MCQmedium

A developer is writing a program that stores a collection of unique student IDs. The program needs to quickly look up a student by ID and does not require the IDs to be stored in any particular order. Which data structure is most appropriate for this task?

A.Dictionary
B.Queue
C.Array
D.Stack
AnswerA

A dictionary maps each unique student ID key directly to its value, giving average O(1) constant-time lookup by ID. It enforces key uniqueness automatically, satisfying the "unique student IDs" constraint, and imposes no ordering requirement, matching the stem's explicit statement that no particular order is needed.

Why this answer

A dictionary (hash map) stores key-value pairs and provides average O(1) lookup by key, which is ideal for quickly retrieving a student record by unique ID. Since the IDs are unique and order does not matter, a dictionary's key uniqueness constraint and fast lookup make it the best fit. Arrays and other sequential structures would require O(n) search unless indexed by a contiguous integer range.

Exam trap

The trap is assuming that any collection can do fast lookup; candidates may pick array thinking index access is O(1), forgetting that student IDs are not contiguous array indices.

How to eliminate wrong answers

Option B is wrong because a queue is a FIFO structure optimized for ordered processing, not random lookup by key; finding a student by ID would require dequeuing or scanning. Option C is wrong because an array stores elements by positional index; unless the student ID maps directly to a zero-based integer index, lookup requires a linear search. Option D is wrong because a stack is LIFO and only allows access to the top element, making arbitrary ID lookup impossible without popping all elements.

56
MCQmedium

A team is building an application where several unrelated objects must all respond to the same command, such as "start" and "stop", even though each object performs those actions differently. Which software development concept allows different object types to be treated uniformly through a shared interface?

A.Polymorphism
B.Abstraction
C.Encapsulation
D.Inheritance
AnswerA

Polymorphism allows different object types to be accessed through a shared interface or base type, with each type supplying its own implementation of the same method. This precisely matches the need for unrelated objects to respond to start and stop in their own ways while being handled uniformly by the calling code.

Why this answer

The requirement is that several different object types respond to the same commands while each supplies its own behaviour. Polymorphism provides exactly that capability by letting code call a shared interface and letting each type execute its own version. Encapsulation, inheritance, and abstraction are related object-oriented ideas but do not by themselves deliver uniform treatment of unrelated types through one interface.

Exam trap

The trap here is confusing inheritance with polymorphism, assuming objects must share a parent class to be used interchangeably.

57
Multi-Selecthard

A development team is selecting a programming language for a new project that must run directly on many different operating systems with minimal changes to the source code. The team also wants strong built-in support for object-oriented programming. Which TWO characteristics should the team prioritize when evaluating languages? (Choose two.)

Select 2 answers
A.Object-oriented programming support
B.Compilation to a single operating system's machine code
C.Low-level memory addressing
D.Portability
E.Proprietary single-vendor tooling
AnswersA, D

Object-oriented programming support lets developers model data and behavior together using classes, objects, inheritance, and encapsulation. The team explicitly wants strong built-in OOP support, so a language with first-class constructs for classes and objects is required. This characteristic is one of the two stated priorities in the scenario.

Why this answer

Portability enables the same source code to run across many operating systems with minimal changes, and object-oriented programming support provides the classes, objects, and inheritance the team wants. Together these two characteristics match the stated requirements. Low-level memory addressing, single-vendor tooling, and compiling to one platform's machine code all work against cross-platform goals and do not provide the requested OOP features.

Exam trap

The trap here is choosing low-level control or vendor tooling as if it improved cross-platform compatibility, when it usually reduces portability.

58
MCQmedium

A product manager creates a list of user stories for a new feature. The development team estimates effort for each story and selects a set to complete in a two-week iteration. Daily standup meetings are held to discuss progress. At the end of the iteration, the team demonstrates working software to stakeholders. Which development framework is being used?

A.Waterfall
B.Scrum
C.V-Model
D.Kanban
AnswerB

Scrum matches because it prescribes fixed-length sprints, a prioritised backlog, team estimation, daily standups and a sprint review demonstrating working software. These ceremonies and artefacts are Scrum's defining structure, satisfying the stem's two-week iteration, daily progress meetings and stakeholder demonstration constraints.

Why this answer

The described practices — user stories, effort estimation, time-boxed two-week iterations (sprints), daily standups, and end-of-iteration demos — are the defining ceremonies of Scrum. Scrum is an Agile framework built around short, repeatable cycles that deliver working software incrementally. The explicit mention of a two-week iteration and daily standup maps directly to the Sprint and Daily Scrum events.

Exam trap

FC0-U71 often tests the distinction between Scrum and Kanban; candidates see 'iterations' and 'standups' and pick Kanban, forgetting Kanban uses continuous flow without fixed-length sprints.

How to eliminate wrong answers

Option A is wrong because Waterfall is a sequential, plan-driven model with distinct phases (requirements, design, build, test) and no iterative two-week cycles or daily standups. Option C is wrong because the V-Model is a verification-and-validation variant of Waterfall where each development phase pairs with a testing phase, not an iterative Agile framework. Option D is wrong because Kanban emphasizes continuous flow with WIP limits and has no fixed-length iterations, no mandated daily standup, and no prescribed end-of-iteration demo.

59
MCQmedium

A company's IT department is deploying a new payroll system. Before the system goes live, a group of employees from the accounting department test the system to ensure it meets their requirements and is usable. This type of testing is known as:

A.System testing
B.User acceptance testing
C.Unit testing
D.Integration testing
AnswerB

User acceptance testing is performed by end users, here accounting staff, to confirm the payroll system meets business requirements and is usable before go-live. This matches the stem's pre-deployment validation by the intended user group.

Why this answer

User acceptance testing (UAT) is performed by end users or business stakeholders to confirm that the system meets their real-world requirements and is usable before go-live. In this scenario, accounting employees testing the payroll system against their own needs is the textbook definition of UAT. It is the final validation step before production deployment.

Exam trap

FC0-U71 often tests the boundary between system testing and UAT; candidates see 'testing before go-live' and pick system testing, missing the clue that business users are validating their own requirements.

How to eliminate wrong answers

Option A is wrong because system testing is performed by QA engineers on the fully integrated system to verify it meets specified technical requirements, not by business users validating fitness for purpose. Option C is wrong because unit testing targets individual functions or modules in isolation, typically by developers. Option D is wrong because integration testing verifies that combined components or interfaces work together, again a technical QA activity rather than a business-user validation.

60
MCQhard

A developer writes a set of instructions to sort an array of numbers in ascending order. The instructions include steps like 'compare first two numbers, swap if out of order, move to next pair, repeat until no swaps are needed.' This step-by-step procedure is known as a(n):

A.Pseudocode
B.Flowchart
C.Algorithm
D.Data structure
AnswerC

A finite, ordered set of steps that transforms input into output defines an algorithm. The described compare-swap-repeat procedure is precisely such a sequence, satisfying the stem's requirement for the term naming a step-by-step sorting procedure. Data structures, programs and pseudocode denote other concepts.

Why this answer

An algorithm is a finite, ordered set of steps that solves a specific problem — here, sorting an array via repeated comparisons and swaps (a bubble sort). The description explicitly gives a step-by-step procedure with a termination condition ('repeat until no swaps are needed'), which is the definition of an algorithm. It is the conceptual procedure, independent of any specific programming language.

Exam trap

FC0-U71 often tests the distinction between an algorithm and its representations (pseudocode, flowchart); candidates pick pseudocode because the question sounds like written steps, missing that the logic itself is the algorithm.

How to eliminate wrong answers

Option A is wrong because pseudocode is a human-readable notation used to express an algorithm, not the algorithm itself; the question describes the logic, not a written notation. Option B is wrong because a flowchart is a graphical diagram of a process using symbols, not the step sequence itself. Option D is wrong because a data structure is a way of organizing data (arrays, linked lists, trees), whereas the question describes a procedure for manipulating data, not a storage format.

61
MCQmedium

A company is developing a mobile app and wants to release a minimal set of features quickly, then add more features based on user feedback. Which methodology best supports this approach?

A.Agile
B.V-Model
C.Spiral
D.Waterfall
AnswerA

Agile delivers work in short iterations, releasing a minimal feature set early and adapting subsequent increments to user feedback. This directly satisfies the stem's requirement to ship quickly then evolve features, unlike waterfall's sequential, feedback-poor structure.

Why this answer

Agile methodology emphasizes iterative development, frequent releases, and continuous feedback from users, which directly supports releasing a minimal set of features quickly and then adding more based on feedback. Agile's incremental and iterative nature aligns with the described approach.

Exam trap

FC0-U71 often tests the distinction between iterative/Agile approaches and sequential/Waterfall or V-Model — the keywords 'minimal features quickly' and 'based on user feedback' are Agile signals.

How to eliminate wrong answers

Option B is wrong because the V-Model is a sequential, verification-and-validation-heavy methodology where each development stage has a corresponding testing stage — it does not support rapid, feedback-driven iterations. Option C is wrong because Spiral is risk-driven and iterative but is more focused on large, high-risk projects with formal risk analysis, not minimal feature releases with user feedback. Option D is wrong because Waterfall is a linear, sequential model where all requirements are gathered upfront and changes are difficult — the opposite of the described approach.

62
MCQmedium

A testing team is verifying a new version of an e-commerce website. They run a set of pre-existing test cases to ensure that recent changes have not broken any previously working functionality. What type of testing is this?

A.Unit testing
B.System testing
C.Regression testing
D.Integration testing
AnswerC

Regression testing re-executes existing test cases after code changes to confirm previously working functionality still behaves correctly. It directly targets the stem's goal of detecting unintended breakage introduced by the new website version, rather than validating new features or performance.

Why this answer

Regression testing re-runs previously passing test cases after code changes to confirm that new modifications have not broken existing functionality. The scenario describes exactly this: pre-existing test cases are executed to verify that recent changes did not introduce defects in working features. It is a core part of continuous integration pipelines.

Exam trap

FC0-U71 often tests the distinction between regression testing (re-verifying existing functionality after changes) and retesting (verifying a specific fix) — candidates frequently pick 'system testing' because it sounds comprehensive.

How to eliminate wrong answers

Option A is wrong because unit testing validates individual functions or methods in isolation, not the whole application's previously working behavior. Option B is wrong because system testing evaluates the complete integrated system against requirements, typically on a fresh build, not to check for regressions from recent changes. Option D is wrong because integration testing verifies that combined modules interact correctly, which is a different objective from confirming no prior functionality broke.

63
MCQhard

A web developer is creating a weather application that retrieves data from a third-party service. The service requires an identifier to track usage and authenticate requests. The developer includes this identifier in the HTTP header of each request. What is this identifier called?

A.JWT
B.Session ID
C.API key
D.OAuth token
AnswerC

An API key is a unique identifier issued by the third-party service, embedded in the HTTP header to authenticate each request and track usage per consumer. It satisfies the stem's requirement for an identifier that both authenticates requests and monitors consumption, unlike OAuth tokens, which delegate scoped access rather than simply identifying the calling application.

Why this answer

An API key is a unique identifier issued by a service provider to authenticate and track a client's usage of its API. It is typically passed in an HTTP header (such as `X-API-Key` or `Authorization`) with each request. This matches the scenario of a weather service requiring an identifier for usage tracking and request authentication.

Exam trap

The trap is conflating API keys with OAuth tokens or JWTs because all are used for API access; candidates must recognize that the scenario describes a simple static identifier for usage tracking, which is the hallmark of an API key.

How to eliminate wrong answers

Option A is wrong because a JWT is a structured token containing claims and is typically used for authentication/authorization after a login, not as a static identifier for API usage tracking. Option B is wrong because a session ID is generated by a server to maintain state for an individual user session, not to identify an application to a third-party API. Option D is wrong because an OAuth token is issued after an OAuth flow and grants delegated access, which is more complex than a simple identifier for usage tracking.

64
MCQmedium

A programmer needs to represent the logic of a program that includes decisions and loops. Which tool is most suitable for visually representing this logic?

A.Algorithm
B.Flowchart
C.Data structure
D.Pseudocode
AnswerB

A flowchart uses standardised symbols to depict decisions and loops as branching and repeating paths, making control flow visually explicit. This directly satisfies the need to represent program logic containing both conditional decisions and iterative loops.

Why this answer

A flowchart is a visual diagram that uses standardized symbols to represent the sequence of steps, decisions, and loops in a process or program. It is specifically designed to depict control flow, including branching (decisions) and repetition (loops), making it the most suitable tool for visually representing program logic.

Exam trap

The trap is confusing pseudocode with a visual tool; candidates may select pseudocode because it represents logic, but the question specifically asks for a visual representation, which is the flowchart.

How to eliminate wrong answers

Option A is wrong because an algorithm is a set of steps or rules to solve a problem, often expressed in text or pseudocode, not a visual tool. Option C is wrong because a data structure is a way to organize and store data (e.g., arrays, linked lists), not a representation of program logic. Option D is wrong because pseudocode is a textual, informal high-level description of a program's logic, not a visual representation.

65
MCQmedium

A developer writes code to store a collection of employee names in a structure that allows adding names at the end and removing names from the front, following a first-in-first-out (FIFO) order. Which data structure is the developer implementing?

A.Tree
B.Array
C.Queue
D.Stack
AnswerC

A queue enforces first-in-first-out ordering: elements are appended at the rear and removed from the front, exactly matching the stem's requirement to add names at the end and remove them from the front. A stack would reverse this, removing the most recently added item instead.

Why this answer

A queue is a linear data structure that follows First-In-First-Out (FIFO) order, where elements are added at the rear (enqueue) and removed from the front (dequeue). This exactly matches the requirement of adding names at the end and removing them from the front.

Exam trap

FC0-U71 often tests the distinction between FIFO (queue) and LIFO (stack), and candidates may confuse the two when the question describes adding at one end and removing from the other.

How to eliminate wrong answers

Option A is wrong because a tree is a hierarchical data structure with nodes and edges, not a FIFO collection. Option B is wrong because an array is a fixed-size or dynamic sequential collection with random access by index, not inherently FIFO; adding at the end and removing from the front would require shifting elements, which is not the defining behavior. Option D is wrong because a stack follows Last-In-First-Out (LIFO) order, where the most recently added element is removed first, which is the opposite of the requirement.

66
MCQmedium

A project team is in the phase where they gather business requirements, define project scope, and create a project plan. This phase occurs before any design or coding begins. Which SDLC phase is being described?

A.Implementation
B.Analysis
C.Planning
D.Design
AnswerC

Planning is the SDLC phase where business requirements are gathered, scope defined and the project plan produced, all before design or coding starts. It directly satisfies the stem's constraint that this work precedes any design or development activity, distinguishing it from analysis, design and implementation phases.

Why this answer

(Planning) is correct because the SDLC Planning phase is specifically where business requirements are gathered, project scope is defined, and a project plan is created before any design or coding begins. This phase establishes the high-level goals, feasibility, and resource allocation that drive all subsequent phases.

Exam trap

The trap here is that candidates often confuse the 'Analysis' phase with the 'Planning' phase, mistakenly thinking that requirements gathering is exclusive to Analysis, when in fact Planning is the first phase where high-level business requirements and scope are defined before any detailed analysis begins.

How to eliminate wrong answers

Option A (Implementation) is wrong because the Implementation phase involves actual coding, deployment, and system rollout, which occurs after design and testing, not before. Option B (Analysis) is wrong because while Analysis involves requirements gathering, it typically focuses on detailed functional and technical requirements after the Planning phase has already defined scope and created the project plan. Option D (Design) is wrong because the Design phase creates the system architecture, data models, and interface specifications based on requirements gathered in earlier phases, and it occurs after Planning and Analysis.

67
MCQeasy

A junior developer writes a program that stores a customer's age in a variable. The value should be a whole number between 0 and 120. Which data type is most appropriate for this variable?

A.Float
B.String
C.Integer
D.Boolean
AnswerC

An integer stores whole numbers without decimal places, which perfectly matches an age value between 0 and 120. It supports arithmetic and comparison operations needed for validation, and it prevents fractional values that would be meaningless for age. This makes integer the most natural and appropriate data type for the described variable.

Why this answer

The variable must hold a whole number representing age within a defined range, so an integer is the natural fit. It allows numeric comparisons and arithmetic without the overhead or ambiguity of text or fractional types. String, Boolean, and float either cannot represent the value correctly or introduce unnecessary complexity and invalid possibilities.

Exam trap

The trap here is choosing a float because it can hold whole numbers, overlooking that ages are discrete integers and floats permit meaningless fractional values.

68
MCQmedium

A software tester writes tests to verify that individual functions in a module return correct results when given specific inputs. These tests are isolated from other parts of the system. Which type of testing is being performed?

A.Integration testing
B.User acceptance testing
C.Unit testing
D.System testing
AnswerC

Unit testing exercises individual functions in isolation, verifying that each returns correct results for given inputs. This directly matches the stem's constraints: tests target single functions within a module and remain isolated from other system components, confirming correctness at the smallest testable unit before integration.

Why this answer

Unit testing is the correct answer because it involves testing individual functions or methods in isolation to verify they return correct outputs for specific inputs. This aligns directly with the scenario where the tester is focusing on single modules without dependencies on other system parts, which is the core definition of unit testing in software development.

Exam trap

The trap here is that candidates confuse 'testing individual functions' with 'integration testing' because they overlook the key phrase 'isolated from other parts of the system,' which is the hallmark of unit testing, not integration testing.

How to eliminate wrong answers

Option A is wrong because integration testing verifies interactions between multiple modules or components, not isolated functions. Option B is wrong because user acceptance testing (UAT) is performed by end-users to validate the system meets business requirements, not by developers testing individual functions. Option D is wrong because system testing evaluates the complete, integrated system against requirements, not isolated units of code.

69
MCQmedium

A team maintains a program that calculates employee payroll. A new tax rule takes effect next quarter, and the team expects more rule changes in the future. They want to isolate the tax calculation so it can be modified without rewriting the rest of the payroll code. Which software development principle best supports this goal?

A.Writing the tax logic in a language the team does not normally use
B.Duplicating the tax calculation in every payroll function
C.Encapsulation of the tax logic in a separate module
D.Hard-coding the current tax rate as a literal value throughout the program
AnswerC

Encapsulation groups related logic behind a well-defined interface, so the tax calculation can change internally without affecting callers. The payroll code depends only on the module's inputs and outputs. This isolation means future rule changes require edits in one place, which directly supports the team's goal of minimizing ripple effects.

Why this answer

Separating the tax calculation into its own encapsulated module creates a boundary between the rule that changes often and the payroll code that should remain stable. Callers interact with a defined interface, so internal changes stay contained. Duplication, hard-coded literals, and unnecessary language changes all increase coupling or maintenance cost rather than isolating change.

Exam trap

The trap here is confusing code organization techniques such as constants with true separation of concerns, when the key benefit comes from placing volatile logic behind a stable interface.

70
Multi-Selectmedium

A junior developer is learning about data structures. The developer needs to choose a data structure for the following scenarios: - Storing a list of items where order matters and items can be accessed by index. - Storing key-value pairs for fast lookups. Which TWO data structures should the developer consider?

Select 2 answers
A.Dictionary
B.Tree
C.Array
D.Stack
E.Queue
AnswersA, C

A dictionary stores key-value pairs and provides fast lookups by key, satisfying the second scenario's requirement. Unlike index-based structures, it maps unique keys directly to values, giving average constant-time retrieval. This makes it the appropriate choice for the key-value lookup requirement, while a list handles the ordered, index-accessed scenario.

Why this answer

Option C (Array) is correct because an array stores elements in a defined, ordered sequence and allows direct access to each item by its numeric index, which exactly matches the requirement of a list where order matters and items are retrieved by position. Option A (Dictionary) is correct because a dictionary stores data as key-value pairs and provides fast lookups by key, typically with average O(1) access time in hash-based implementations, matching the key-value lookup scenario. Option B (Tree) is not the best fit here because, although trees can support ordered data and key-based search, they are hierarchical structures used for scenarios like sorted data, ranges, or balanced search rather than simple indexed lists or direct key-value lookup.

Option D (Stack) does not belong because it is a LIFO structure that only allows access to the most recently added item, not indexed access or key-based lookup. Option E (Queue) is also incorrect because it is a FIFO structure that only allows removal of the oldest item, so it does not support index access or fast key-value retrieval.

Exam trap

FC0-U71 often tests basic data structure properties; candidates might incorrectly select a tree for key-value lookups due to its efficiency, but trees are not the primary structure for that purpose unless balanced and ordered.

71
MCQeasy

A software development team is working on a project with fixed requirements and a strict deadline. The project manager decides to use a methodology where each phase must be completed before moving to the next. Which development methodology is being used?

A.Agile
B.Scrum
C.Waterfall
D.Spiral
AnswerC

Waterfall is sequential: requirements are fixed up front and each phase (requirements, design, development, testing, deployment) must finish before the next begins. This matches the fixed requirements and strict deadline described, unlike iterative or incremental approaches.

Why this answer

Waterfall is a linear sequential development methodology where each phase (requirements, design, implementation, testing, deployment) must be completed before the next begins. It is suited for projects with fixed requirements and strict deadlines, as it emphasizes upfront planning and documentation. The other methodologies are iterative or adaptive.

Exam trap

FC0-U71 often tests methodology characteristics; candidates might confuse Waterfall with Spiral due to both having sequential aspects, but Waterfall is strictly linear while Spiral is iterative.

How to eliminate wrong answers

Option A is wrong because Agile is an iterative and incremental approach that embraces changing requirements, which contradicts the fixed requirements scenario. Option B is wrong because Scrum is a specific Agile framework that uses sprints and is designed for flexibility, not strict sequential phases. Option D is wrong because Spiral is a risk-driven methodology that combines iterative development with waterfall-like phases, but it is not purely sequential and is used for large, complex projects.

72
Multi-Selectmedium

A team is preparing to release a software product and wants to automate checks that run whenever code is committed. They are selecting practices that belong to continuous integration. Which two of the following are core continuous integration practices? (Choose two.)

Select 2 answers
A.Automatically building the application after each commit to detect integration errors early
B.Requiring developers to keep feature branches open for months before merging
C.Manually deploying the application to production once per quarter
D.Running automated tests as part of the build pipeline for each change
E.Disabling automated tests on the main branch to speed up builds
AnswersA, D

Automated builds on every commit are central to continuous integration. They verify that the newly committed code compiles and integrates with the rest of the codebase, catching integration errors while they are still small and easy to fix. This practice directly supports the goal of keeping the main branch healthy and releasable.

Why this answer

Continuous integration means developers integrate work into a shared mainline frequently and verify each integration automatically. Automated builds catch compile and integration errors immediately, and automated tests confirm that existing behavior still works. Together these practices provide fast feedback.

Long-lived branches, manual quarterly releases, and disabled tests all work against that goal by delaying or removing the checks that make frequent integration safe.

Exam trap

The trap here is equating continuous integration with any automation or with frequent releases, when its defining practices are frequent integration plus automated build and test verification of each change.

73
MCQmedium

An organization is implementing a new payroll system. Before final deployment, a group of actual payroll employees test the system to ensure it meets their business needs and processes payroll correctly. Which testing phase is this?

A.Unit testing
B.User acceptance testing
C.System testing
D.Integration testing
AnswerB

User acceptance testing has actual payroll employees validate the system against real business processes before deployment. This satisfies the stem's constraint that end users, not developers or QA staff, confirm the payroll system meets their needs and processes payroll correctly.

Why this answer

User acceptance testing (UAT) is the phase where actual end users—in this case, payroll employees—validate that the system meets real business requirements and performs its intended function (processing payroll correctly) before going live. Because the testers are the people who will actually use the system in production, their validation confirms fitness for purpose rather than just technical correctness.

Exam trap

The trap here is confusing who performs the test with what the test validates—candidates see 'testing the system' and jump to system testing, missing that the defining clue is that actual business users are validating business needs.

How to eliminate wrong answers

Option A is wrong because unit testing is performed by developers on individual code components or modules in isolation, not by business users validating end-to-end business processes. Option C is wrong because system testing verifies the complete integrated system against technical and functional specifications, typically by QA engineers, not by end users confirming business fit. Option D is wrong because integration testing checks that interfaces and data flow between combined modules or subsystems work correctly, which is a technical verification step performed well before user acceptance.

74
MCQeasy

A developer is writing the first version of a program that calculates an employee's weekly pay. Before writing any code, the developer writes a numbered list of steps in plain English: get hours worked, get hourly rate, multiply hours by rate, display the result. Which software development concept does this numbered list represent?

A.An algorithm
B.A variable
C.A database
D.A compiler
AnswerA

An algorithm is a finite, ordered set of steps that solves a problem. The developer's numbered plain-English list of getting hours, getting the rate, multiplying, and displaying the result describes exactly how the pay is computed. Writing this before code clarifies logic and is a fundamental software development concept tested on the exam.

Why this answer

The plain-English, ordered steps that describe how to compute weekly pay constitute an algorithm, which is a finite sequence of instructions that transforms input into output. Writing the algorithm before coding helps the developer verify the logic and translate it into a programming language later. Compilers translate code, variables store values, and databases store data, so none of those describe the full procedure.

Exam trap

The trap here is confusing a written procedure for solving a problem with a programming construct like a variable or a tool like a compiler.

75
MCQmedium

A retail company wants to build an online store where the source code is freely available for anyone to inspect, modify, and redistribute, provided that any derivative work is released under the same license. Which licensing model should the company adopt?

A.Copyleft open-source license
B.Permissive open-source license
C.Proprietary license
D.Public domain dedication
AnswerA

A copyleft license such as the GNU General Public License allows anyone to view, modify, and redistribute the source code, but requires that derivative works be distributed under the same license terms. This matches the company's requirement that modifications remain open, making it the appropriate choice for an online store project with those sharing conditions.

Why this answer

The scenario requires that source code be freely available for inspection, modification, and redistribution, and that derivative works carry the same license. A copyleft open-source license enforces exactly those conditions, ensuring downstream versions remain open. Proprietary and public domain models fail to preserve the reciprocal sharing requirement, while permissive licenses allow derivatives to be closed.

Exam trap

The trap here is assuming any open-source license enforces that derivative works stay open, when only copyleft licenses carry that reciprocal requirement.

Page 1 of 2 · 83 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Itf Software Development questions.