Software Engineering Fundamentals
Object-Oriented Programming
Software Design, Testing & Architecture
Git & Vision Control
100

What does a software engineer mainly do?
A) Build hardware components
B) Develop and maintain software using engineering principles
C) Manage company finances
D) Design websites only

B) Develop and maintain software using engineering principles

100

Which OOP principle focuses on exposing only the necessary parts of an object and hiding unnecessary details?
A) Encapsulation
B) Inheritance
C) Polymorphism
D) Abstraction


D) Abstraction

100

Which architecture structure separates an application into 3 components: managing data, user interface, and processing user input?
A) Client-server
B) Microservices
C) Model-View-Controller (MVC)
D) Layered

C) Model-View-Controller (MVC)

100

Which git command publishes local work to a shared repository?
A) Push
B) Merge
C) Pull
D) Commit

A) Push

200

Which phase is not part of the SDLC?
A) Design
B) Implementation
C) Manufacturing
D) Testing

C) Manufacturing

200

Which OOP principle focuses on taking on properties and behaviors from a parent
A) Inheritance
B) Polymorphism
C) Abstraction
D) Encapsulation

A) Inheritance

200

Which UML diagram is structural?
A) Sequence Diagram
B) Use Case Diagram
C) Class Diagram
D) Activity Diagram

C) Class Diagram

200

Which git command combines multiple branches of development history into one?
A) Pull
B) Commit
C) Merge
D) Push

C) Merge

300

Which of the following is a non-functional requirement?
A) User login feature
B) System uptime of 99.9%
C) Payment processing
D) Data entry form

B) System uptime of 99.9%

300

Which OOP principle focuses on taking on many forms, staying flexible, and being reusable?
A) Inheritance
B) Abstraction
C) Polymorphism
D) Encapsulation

C) Polymorphism

300

The phases of the Software Testing Life Cycle (STLC) includes:
A) Coding, compiling, debugging
B) Requirement analysis, test planning, test execution
C) Marketing, deployment, sales
D) None of the above

B) Requirement analysis, test planning, test execution

300

Which git command updates local work by checking out a branch from a shared repository?
A) Commit
B) Pull
C) Push
D) Merge

B) Pull

400

Which of the following is NOT considered a core software engineering activity?
A) Requirements analysis and specification
B) Code refactoring and optimization
C) User interface design for aesthetic appeal only
D) System testing and validation

C) User interface design for aesthetic appeal only

400

Which OOP principle focuses on containing data, attributes, methods, and functions within a single unit or class?
A) Abstraction
B) Encapsulation
C) Inheritance
D) Polymorphism

B) Encapsulation

400

Integration testing checks if individual units of code work correctly in isolation.

True / False 

False

400

Which git command creates a “save” point for your project and contains a unique comment for documentation?
A) Pull
B) Push
C) Merge
D) Commit

D) Commit

500

The YAGNI  principle stands for?
A) You Aren’t Gonna Need It
B) Your Application Gets New Interfaces
C) You Always Generate New Ideas
D) Your Algorithm Goes Next In

A) You Aren’t Gonna Need It

500

Refactoring code always changes its external behavior.
True / False

False

500

In Agile development, frequent feedback and iterative releases are encouraged.

True / False 

True

500

In Git, what command stages files to commit?
A) git push
B) git commit
C) git add .
D) git pull

C) git add .