What does the SDLC primarily describe?
A) Software Design Logic Concepts
B) Software Development Life Cycle
C) System Deployment Logic Chain
D) Software Debugging and Lifecycle Control
B) Software Development Life Cycle
Functional requirements describe:
A) How the system behaves internally
B) The system’s non-performance goals
C) What the system should do
D) The system’s testing strategy
C) What the system should do
Which OOP principle hides implementation details?
A) Polymorphism
B) Inheritance
C) Encapsulation
D) Abstraction
C) Encapsulation
Which type of testing verifies individual components?
A) System Testing
B) Unit Testing
C) Integration Testing
D) Acceptance Testing
B) Unit Testing
The Agile Manifesto values:
A) Processes over people
B) Comprehensive documentation over working software
C) Customer collaboration over contract negotiation
D) Tools over individuals
C) Customer collaboration over contract negotiation
Which of the following is not an SDLC activity?
A) Design
B) Coding
C) Marketing
D) Testing
C) Marketing
In the WRSPM model, world assumptions refer to:
A) Implementation details
B) External facts or constraints
C) Software code
D) User interface design
B) External facts or constraints
What does YAGNI stand for?
A) You Aren’t Gonna Need It
B) You Always Get New Input
C) You Are Gonna Need It
D) Your App Generates New Info
A) You Aren’t Gonna Need It
Verification ensures that:
A) The software meets business goals
B) The product was built correctly
C) The software is deployed
D) The code compiles
B) The product was built correctly
Who is responsible for removing roadblocks in a Scrum team?
A) Product Owner
B) Scrum Master
C) Developer
D) Tester
B) Scrum Master
A software engineer’s main role is to:
A) Write code only
B) Design, develop, test, and maintain software systems
C) Focus on hardware troubleshooting
D) Perform only project management tasks
B) Design, develop, test, and maintain software systems
Which of the following is a behavioral UML diagram?
A) Class Diagram
B) Sequence Diagram
C) Component Diagram
D) Deployment Diagram
B) Sequence Diagram
The KISS principle encourages:
A) Complex solutions
B) Keeping software simple and straightforward
C) Writing detailed documentation only
D) Avoiding any modularity
B) Keeping software simple and straightforward
Which STLC phase involves determining test objectives and scope?
A) Test Execution
B) Test Planning
C) Test Closure
D) Defect Tracking
B) Test Planning
A sprint is:
A) The initial planning meeting
B) A short, time-boxed development cycle
C) The final deployment stage
D) A type of Kanban board
B) A short, time-boxed development cycle
Which statement best defines software engineering?
A) Writing code as quickly as possible
B) Applying systematic, disciplined approaches to software development
C) Fixing software bugs reactively
D) Building software without documentation
B) Applying systematic, disciplined approaches to software development
What characterizes a good architectural design?
A) Tight coupling and high complexity
B) Loose coupling and high cohesion
C) Minimal modularity
D) Dependence on specific languages
B) Loose coupling and high cohesion
“Composition over inheritance” means:
A) Prefer building complex hierarchies
B) Use smaller objects combined to form behavior
C) Avoid modularity
D) Ignore polymorphism
B) Use smaller objects combined to form behavior
What is technical debt?
A) The cost of maintaining legacy software
B) Unpaid licensing fees
C) Unused server storage
D) Poorly documented source code
A) The cost of maintaining legacy software
Which Git command stages changes for commit?
A) git push
B) git merge
C) git add .
D) git pull
C) git add .
What distinguishes software engineering from programming?
A) Use of hardware design
B) Emphasis on project management, design patterns, and maintainability
C) Only uses C++
D) Focuses solely on UI
B) Emphasis on project management, design patterns, and maintainability
Which architectural pattern separates data, logic, and presentation?
A) Microservices
B) Client-server
C) MVC
D) Layered
C) MVC
Polymorphism allows:
A) Multiple classes to share one variable
B) Methods to take different forms depending on the object
C) One class to hide data from another
D) Variables to change type
B) Methods to take different forms depending on the object
Refactoring focuses on:
A) Adding new features
B) Improving code structure without changing behavior
C) Rewriting code in a new language
D) Testing performance
B) Improving code structure without changing behavior
In Git, the local repository refers to:
A) The online version of your code
B) The copy stored on your personal machine
C) The central version shared by all users
D) A read-only backup
B) The copy stored on your personal machine