What is the primary role of a software engineer?
A software engineer designs, develops, tests, and maintains software systems.
What is the acronym WRSPM used for in software requirements?
WRSPM stands for Who, What, Why, Where, When, and How, which are key elements to consider in requirements engineering.
What does "modularity" in software design refer to?
Modularity refers to breaking down a software system into smaller, manageable, and independently testable components.
What is unit testing?
Unit testing involves testing individual components of the software to ensure that each part functions correctly.
What is a primary key in a relational database?
A primary key is a unique identifier for each record in a database table.
What is one key distinction between software engineering and regular programming?
Software engineering involves managing the software development process, including planning, design, testing, and maintenance, while programming mainly focuses on writing code.
What is the difference between functional and non-functional requirements?
Functional requirements specify what the system should do, while non-functional requirements describe how the system should perform.
What is the MVC architectural pattern?
Model-View-Controller (MVC) is a design pattern where the Model represents data, the View displays data, and the Controller handles user input and updates the Model.
What is the purpose of system testing?
System testing verifies the entire system’s behavior against specified requirements to ensure that it works as expected.
What is the purpose of a foreign key in a database?
A foreign key is a field in one table that uniquely identifies a row of another table, establishing a relationship between the two.
Which phase in SDLC involves gathering requirements and understanding the client's needs?
Requirements gathering/Analysis.
What phase of SDLC involves transforming the design into actual code?
Implementation phase.
What does "Separation of Concerns" mean in software design?
It refers to dividing a software system into distinct sections, each responsible for a separate concern or functionality
What is the difference between manual and automated testing?
Manual testing requires human intervention to test the system, while automated testing uses tools to run tests automatically.
What is the difference between a JOIN and a SELECT statement in SQL?
A SELECT statement retrieves data from a single table, while a JOIN combines rows from two or more tables based on a related column.
What is technical debt in software development?
Technical debt refers to the cost of additional work incurred due to choosing an easy solution now instead of a more optimal solution in the long term.
What is the key difference between verification and validation in software testing?
Verification checks if the software is being built correctly, while validation checks if the right software is being built.
What is "Composition over Inheritance" in Object-Oriented Design?
It means favoring composition (building classes by combining simple objects) rather than inheritance to achieve code reuse.
What is the YAGNI principle in software development?
YAGNI stands for "You Aren’t Gonna Need It," which advises against adding features or functionality that are not currently necessary.
What does API stand for, and what is its purpose?
API stands for Application Programming Interface, and it allows different software systems to communicate with each other.