What is the core principle of Object Oriented Design (OOD)?
A Encapsulation
B Parallel processing
C Modularity
D Functional programming
Encapsulation is the core principle of OOD that hides an object’s internal state and only exposes necessary methods. This ensures better security and maintains data integrity, making it easier to modify and maintain the system.
Which pattern is used to ensure a class has only one instance?
A Strategy
B Factory
C Singleton
D Observer
The Singleton pattern ensures that a class has only one instance and provides a global access point to it. It is commonly used in scenarios like database connections where a single instance is required throughout the system.
What does the “Model” in MVC represent?
A Control logic
B Database layer
C User input
D UI components
In the MVC architecture, the “Model” represents the data or business logic of the application. It manages the data, logic, and rules of the application, usually interacting with the database to retrieve and store information.
Which phase of SDLC involves identifying system requirements?
A Testing
B Design
C Planning
D Requirement gathering
The requirement gathering phase is crucial in SDLC as it defines the software’s functional and non functional requirements. This phase helps stakeholders communicate their needs, which is used to guide the design and development processes.
What is the primary focus of Agile methodology?
A Structured phases
B Flexibility
C Documentation
D Predictability
Agile methodology emphasizes flexibility and iterative progress. It encourages adaptive planning and allows teams to respond to changes quickly, ensuring that the software meets customer needs even as they evolve during development.
Which diagram in UML depicts the sequence of messages in a system?
A Sequence
B Class
C Activity
D Use case
A Sequence diagram in UML represents the interaction between objects in a system over time. It shows how messages are exchanged in a specific sequence, making it useful for understanding the flow of control in the system.
What is the primary goal of software testing?
A Improve design
B Add features
C Increase speed
D Find bugs
The main goal of software testing is to identify and fix defects or bugs in the software. By systematically testing the application, developers can ensure the system functions correctly and meets the specified requirements.
Which of the following is a type of software design pattern?
A Waterfall
B Microservices
C Dependency Injection
D MVC
Dependency Injection is a design pattern used to reduce tight coupling between components. It allows an object’s dependencies to be provided externally rather than being hardcoded, enhancing flexibility and testability.
What is a key advantage of using a version control system like Git?
A Collaborative work
B More documentation
C Faster coding
D Better testing
Version control systems like Git enable multiple developers to work on the same codebase simultaneously without conflicts. They track changes, manage versions, and facilitate collaboration, making team projects smoother and more efficient.
Which of the following is a non functional requirement?
A Business logic
B System scalability
C Data security
D User interface
Non functional requirements specify how a system performs, such as scalability, security, and reliability. Scalability refers to the system’s ability to handle increased loads or growth without sacrificing performance or functionality.
In the Waterfall model, what comes after coding?
A Maintenance
B Deployment
C Testing
D Design
In the Waterfall model, after coding, the next phase is Testing. During this phase, the software is thoroughly tested for bugs, performance issues, and compliance with requirements, ensuring that it functions as intended before deployment.
Which of the following is a key principle of DevOps?
A Waterfall process
B Delayed testing
C Independent development
D Continuous integration
DevOps emphasizes continuous integration, where code changes are automatically integrated into the main codebase frequently. This ensures that errors are detected early, making the development process more efficient and reducing deployment issues.
What is the purpose of refactoring in software development?
A Improve code quality
B Debug the system
C Reduce performance
D Add new features
Refactoring involves restructuring existing code to improve its readability, efficiency, and maintainability without changing its functionality. This process helps reduce technical debt, making future changes and updates easier to manage.
What does an API allow in software systems?
A Automate testing
B Write code
C Access data
D Monitor performance
An Application Programming Interface (API) allows different software systems to communicate with each other. It defines methods for accessing the data or services offered by a system, enabling different programs to interact seamlessly.
Which of the following is an example of a software architecture pattern?
A Version control
B Coding standard
C MVC
D Debugging strategy
MVC (Model View Controller) is a software architecture pattern that separates the application into three components: Model (data), View (user interface), and Controller (logic). This pattern helps organize the code and ensures scalability and maintainability.