Software Engineering Fundamentals
Software Development Processes
Software Testing
Software Design and Architecture
Programming and Technical Concepts
100

What is Software Engineering and some of the everyday duties?

A systematic approach to analysis, design, assessment, implementation, test, maintenance, reengineering of software.

  • Extracting requirements

  • Analyzing requirement

  • Writing software requirements documents

  • Building and analyzing prototypes

  • Developing test strategies and test cases

100

What is Agile software development, and what are its core principles?

Agile is an iterative approach to software development focused on collaboration, customer feedback, and rapid delivery. Its core principles emphasize:

Individuals and interactions over processes.

Working software over documentation.

Customer collaboration over contract negotiation.

Responding to change over following a plan.

100

What is the difference between verification and validation?

Verification ensures the software meets specified requirements ("Are we building the product right?").

Validation checks if the software meets user needs ("Are we building the right product?").

100

What are common software design principles?

Modularity – Break systems into independent modules.

Separation of Concerns – Divide a system based on distinct functionality.

Single Responsibility Principle – Each module should have one clear function.

100

What is object-oriented programming (OOP), and what are its four pillars?

OOP is a programming paradigm using objects and classes. Its pillars:

Encapsulation – Hiding internal details.

Abstraction – Simplifying complex systems.

Inheritance – Reusing code through parent-child relationships.

Polymorphism – Using a single interface for different types.

200

What is the difference between functional and non-functional requirements?

Functional requirements define what the system should do (e.g., user login, data retrieval).

Non-functional requirements define how the system performs tasks (e.g., performance, security, scalability).

200

What are the key components of Scrum, and how does it work?

Scrum involves small, cross-functional teams working in time-boxed sprints (typically 2-4 weeks). Key roles include:

Product Owner – Manages the product backlog.

Scrum Master – Facilitates the Scrum process.

Development Team – Delivers the product increment.

200

What are the main phases of the Software Testing Life Cycle (STLC)?

Requirement analysis

Test planning

Test case development

Test environment setup

Test execution

Test closure

200

What is the Model-View-Controller (MVC) architecture?

Model – Handles data and business logic.

View – Displays information to users.

Controller – Manages input and updates the model or view.


200

What are CRUD operations in databases?

Create – Insert new records.

Read – Retrieve existing data.

Update – Modify existing records.

Delete – Remove records.

300

What is Software Development Life Cycle (SDLC) and it's phases

A structured process the enables the production of high-quality and low-cost software

Requirements Analysis – Gathering and defining system needs.

Design – Creating the system's architecture and design plan.

Implementation – Writing and developing the software code.

Testing – Validating the software through various tests.

Deployment – Releasing the software for use.

Maintenance – Updating and fixing the software over time.

300

What is Kanban, and how does it differ from Scrum?

Kanban is a visual workflow management method that emphasizes continuous delivery. Unlike Scrum’s fixed sprints, Kanban has no set time frames and allows for flexible work item prioritization.

300

What are the key differences between unit testing and integration testing?

Unit Testing checks individual code components in isolation.

Integration Testing verifies interactions between combined components.

300

What are the key differences between layered and microservices architecture?

Layered Architecture organizes code into logical layers (e.g., presentation, business, data).

Microservices splits applications into independent services communicating via APIs.

300

Explain the difference between primary and foreign keys in databases.

Primary Key uniquely identifies each record in a table.

Foreign Key references the primary key in another table, linking two tables.


400

Software Development Life Cycle Activities

What is concept Requirements, design,  implementation, verification, and maintenance

400

When should you build software versus buy software?

Build when you need a custom, unique solution.

Buy when an off-the-shelf product meets your needs faster and more affordably.


400

What is manual testing, and when is it useful?

Manual testing involves human testers executing test cases without automation. It is useful for exploratory testing, usability testing, and cases where automation is not cost-effective.

400

What are the main types of UML diagrams?

Structural Diagrams – Class, Component, Deployment.

Behavioral Diagrams – Use Case, Sequence, Activity.

400

What is an API, and what is its purpose?


An API (Application Programming Interface) allows different software systems to communicate with each other by defining how requests and responses should be handled.

500

What is the WRSPM model, and what does each component represent?

The WRSPM model breaks down software engineering into five layers:

World – Real-world environment and context.

Requirements – User needs and expectations.

Specifications – Formalized descriptions of the system's behavior.

Program – The actual software code that implements specifications.

Machine – The hardware and systems running the software.

500

What are the stages of software implementation and deployment?

Implementation involves coding and integrating components.

Deployment includes delivering the software to production, ensuring it works in the live environment.

500

What defines a software defect, and can you give an example?

A software defect is any flaw in code causing incorrect or unexpected behavior. Example: A login feature allowing access with the wrong password.

500

What does the acronym DRY mean, and why is it important?

Don’t Repeat Yourself – Avoid duplicating code to improve maintainability and reduce errors.

500

What are the differences between Git and GitHub?

Git is a version control system for tracking changes in code.

GitHub is a cloud-based platform for hosting Git repositories and enabling collaboration.

M
e
n
u