What are the key principles of the Agile Manifesto?
- Detailed documentation
- Individuals and interactions
- Responding to change
- Working software
The Agile Manifesto emphasizes individuals and interactions over processes and tools, valuing working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan. These principles guide Agile teams in prioritizing people and adaptability in software development.
Composite indexes consist of _______ columns.
- Single
- Multiple
- Unique
- Primary
Composite indexes combine multiple columns into a single index, allowing for efficient retrieval based on multiple criteria. Therefore, option 2, "Multiple," accurately describes composite indexes.
What is the SOLID principle in OOP? Explain one of its principles.
- Dependency Inversion Principle
- Interface Segregation Principle
- Open/Closed Principle
- Single Responsibility Principle
The SOLID principle in Object-Oriented Programming (OOP) is a set of five principles aimed at making software designs more understandable, flexible, and maintainable. The Single Responsibility Principle (SRP) states that a class should have only one reason to change, meaning it should have only one job or responsibility.
You're working on a project where the input data is nearly sorted. Which sorting algorithm would you choose and why?
- Bubble Sort
- Insertion Sort
- Merge Sort
- Quick Sort
Insertion Sort is the most suitable choice for nearly sorted data. It has a time complexity of O(n) in the best-case scenario, making it efficient when data is already close to its final sorted position. Merge Sort, Quick Sort, and Bubble Sort, on the other hand, have higher time complexities for nearly sorted data, making them less efficient in this scenario.
What is the primary difference between a process and a thread?
- Concurrency
- Independence
- Memory usage
- Resource ownership
A process is an independent entity that has its own address space and resources, while a thread is a lightweight entity that exists within a process and shares the same address space and resources with other threads in that process. This difference in independence and resource sharing is crucial for understanding how processes and threads operate within an operating system.
Which normal form ensures that each attribute is dependent only on the primary key?
- First Normal Form (1NF)
- Fourth Normal Form (4NF)
- Second Normal Form (2NF)
- Third Normal Form (3NF)
Third Normal Form (3NF) ensures that each non-key attribute is dependent only on the primary key, which helps in eliminating transitive dependencies and achieving a more organized database structure.
You're working on a project where multiple team members are collaborating to develop different modules. How would you utilize OOP concepts like inheritance and interfaces to facilitate code reusability and maintainability?
- Use interfaces to define contracts for module interactions, ensuring a consistent interface for diverse implementations.
- Utilize inheritance to create a base module class and derive specific modules, inheriting common functionalities.
- Implement interfaces to enable communication between modules, enhancing code modularity and extensibility.
- Combine inheritance and interfaces, where base modules define interfaces and specific modules inherit and implement them.
Option 1 suggests using interfaces to define contracts, ensuring a consistent interface for module interactions, which facilitates code reusability and maintainability. This approach allows different team members to work on modules independently while adhering to a predefined interface, promoting code consistency and reducing dependencies between modules. Interfaces also enhance flexibility by enabling polymorphic behavior and easy integration of new modules into the system without affecting existing functionalities.
What is the basic function of a switch in a network?
- Assigning IP addresses dynamically
- Creating virtual private networks
- Filtering packets based on IP addresses
- Forwarding data to specific devices based on MAC addresses
A switch's basic function in a network is to forward data packets to specific devices based on their MAC addresses. Unlike hubs, which broadcast data to all connected devices, switches maintain a MAC address table to determine where to send incoming packets. This improves network efficiency by reducing unnecessary traffic and collisions. Switches operate at Layer 2 (Data Link Layer) of the OSI model.
Explain the purpose of SQL indexes and their impact on query performance.
- Enhances data security
- Ensures data integrity
- Improves data retrieval speed
- Reduces storage space
SQL indexes are used to improve data retrieval speed by creating a sorted reference to data in a table. This reduces the time required to search and fetch specific records, especially in large datasets. Indexes don't impact storage space significantly but rather optimize data access, ensuring faster query performance. Indexes also contribute to enhancing data security by facilitating efficient data retrieval for authorized users.
During the ___________ phase, developers write and test the actual code.
- Design
- Testing
- Maintenance
- Implementation
The correct option is Implementation. This phase is where the actual coding takes place based on the design specifications developed in the previous phases. Developers write, compile, and debug the code to ensure it meets the defined requirements. Additionally, testing activities are initiated during this phase to identify and fix defects early in the development process. Once the implementation phase is complete, the software is ready for testing and quality assurance processes before deployment.