1. Q: What is software engineering?
Ans : Software engineering is the application of engineering principles to the development of
software in a systematic method.
2. Q: What is the main goal of software engineering?
Ans : To produce reliable and efficient software economically.
3. Q: What does SDLC stand for?
Ans : Software Development Life Cycle.
4. Q: Name one SDLC model.
Ans : Waterfall model.
5. Q: What is requirements analysis?
Ans : The process of determining user expectations for a new or modified product.
6. Q: What is UML?
Ans : Unified Modeling Language.
7. Q: What is a use case diagram?
Ans : A diagram that shows the interactions between a system and its users.
8. Q: What is a software process?
Ans : A set of related activities that lead to the production of a software product.
9. Q: What is version control?
Ans : A system that records changes to a file or set of files over time so that you can recall specific
versions later.
10. Q: Name a popular version control system.
Ans : Git.
11. Q: What is debugging?
Ans : The process of finding and resolving defects or problems within a software program.
12. Q: What is a software prototype?
Ans : An early sample, model, or release of a product built to test a concept or process.
13. Q: What is refactoring?
Ans : The process of restructuring existing computer code without changing its external behavior.
14. Q: What is an API?
Ans : Application Programming Interface.
15. Q: What does IDE stand for?
Ans : Integrated Development Environment.
16. Q: What is a software requirement specification (SRS)?
Ans : A document that describes what the software will do and how it will be expected to perform.
17. Q: What is the difference between functional and non-functional requirements?
Ans : Functional requirements define what the system should do, non-functional requirements
define how the system should perform a function.
18. Q: What is software maintenance?
Ans : The process of modifying a software product after it has been delivered to correct faults,
improve performance, or adapt to a changed environment.
19. Q: What is the difference between black-box and white-box testing?
Ans : Black-box testing examines the functionality of an application without peering into its internal
structures or workings. White-box testing involves looking at the internal structure.
20. Q: What is regression testing?
Ans : A type of software testing that ensures that recent code changes have not adversely affected
existing features.
21. Q: What is continuous integration?
Ans : A practice where developers frequently integrate their code into a shared repository, ideally
several times a day.
22. Q: What is a software design pattern?
Ans : A general reusable solution to a commonly occurring problem within a given context in
software design.
23. Q: Name one software design pattern.
Ans : Singleton pattern.
24. Q: What is the purpose of unit testing?
Ans : To validate that each unit of the software performs as designed.
25. Q: What is code review?
Ans : The systematic examination of computer source code intended to find and fix mistakes
overlooked in the initial development phase.
26. Q: What is software reliability?
Ans : The probability of a software system operating without failure under given conditions for a
specified period.
27. Q: What is modularity in software engineering?
Ans : The degree to which a system's components may be separated and recombined.
28. Q: What is a software metric?
Ans : A measure used to quantify various characteristics of a software system or the software
development process.
29. Q: What does DRY stand for in software development?
Ans : Don't Repeat Yourself.
30. Q: What is an algorithm?
Ans : A step-by-step procedure for solving a problem or accomplishing some end.
31. Q: What is encapsulation?
Ans : The bundling of data with the methods that operate on that data.
32. Q: What is inheritance?
Ans : A mechanism where one class inherits the attributes and methods of another class.
33. Q: What is polymorphism?
Ans : The ability of different objects to respond in a unique way to the same method call.
34. Q: What is coupling in software engineering?
Ans : The degree of direct knowledge that one module has of another.
35. Q: What is cohesion in software engineering?
Ans : The degree to which the elements inside a module belong together.
36. Q: What is a software framework?
Ans : A platform for developing software applications, providing a foundation on which software
developers can build programs for a specific platform.
37. Q: What is a software library?
Ans : A collection of non-volatile resources used by computer programs, often to develop software.
38. Q: What is the difference between verification and validation?
Ans : Verification ensures the product is built correctly, while validation ensures the right product is
built.
39. Q: What is an agile methodology?
Ans : A group of software development methodologies based on iterative development, where
requirements and solutions evolve through collaboration.
40. Q: Name one agile framework.
Ans : Scrum.
41. Q: What is a sprint in Scrum?
Ans : A time-boxed period during which specific work has to be completed and made ready for
review.
42. Q: What is pair programming?
Ans : An agile software development technique in which two programmers work together at one
workstation.
43. Q: What is technical debt?
Ans : The implied cost of additional rework caused by choosing an easy solution now instead of using
a better approach that would take longer.
44. Q: What is the difference between alpha testing and beta testing?
Ans : Alpha testing is performed by internal staff, while beta testing is performed by actual users in a
real environment.
45. Q: What is a microservice?
Ans : An architectural style that structures an application as a collection of loosely coupled services.
46. Q: What is DevOps?
Ans : A set of practices that combines software development (Dev) and IT operations (Ops) aimed at
shortening the systems development life cycle.
47. Q: What is a build in software engineering?
Ans : The process by which source code is converted into a standalone form that can be run on a
computer.
48. Q: What is continuous delivery?
Ans : A software development practice where code changes are automatically prepared for a release
to production.