Epic Skills Assessment Software Development 1 — Questions and Answers
Question 1: Which software development methodology emphasizes iterative cycles, team collaboration, and flexibility to adapt to changing requirements over following a rigid sequential plan?
- Waterfall
- Agile (Correct answer)
- Six Sigma
- COBOL
Correct answer: Agile
Agile methodology organizes work into short iterative cycles (sprints) and prioritizes responding to change over strict upfront planning, making it well-suited for complex projects with evolving requirements.
Question 2: In object-oriented programming, what does 'encapsulation' mean?
- Breaking a program into reusable standalone functions
- Bundling data and the methods that operate on it into a single unit while restricting direct outside access (Correct answer)
- Inheriting properties and behaviors from a parent class
- Converting source code from one programming language to another
Correct answer: Bundling data and the methods that operate on it into a single unit while restricting direct outside access
Encapsulation groups related data and behavior into a class and hides internal implementation details from the outside, protecting data integrity and reducing complexity.
Question 3: What is the primary purpose of a 'pull request' in a collaborative software development workflow?
- To download the latest code changes from a remote server to a local machine
- To request that teammates review and approve code changes before merging them into the main branch (Correct answer)
- To automatically delete outdated branches from the repository
- To trigger an automated deployment to the production environment
Correct answer: To request that teammates review and approve code changes before merging them into the main branch
A pull request notifies team members that a developer has completed changes on a branch and is asking for peer review and approval before those changes are merged into the shared codebase.
Question 4: In web development, what is the primary distinction between front-end and back-end development?
- Front-end runs on the database server; back-end runs in the user's browser
- Front-end focuses on what users see and interact with; back-end handles server logic and data processing (Correct answer)
- Front-end is exclusively written in Python; back-end is exclusively written in JavaScript
- Front-end development is for mobile applications; back-end is for desktop applications
Correct answer: Front-end focuses on what users see and interact with; back-end handles server logic and data processing
Front-end development builds the user interface and client-side experience (what you see in a browser), while back-end development manages server-side logic, databases, and the underlying functionality users don't directly observe.
Question 5: What is 'refactoring' in software development?
- Adding new features or capabilities to an existing application
- Rewriting an entire codebase from scratch in a different programming language
- Restructuring existing code to improve its readability and maintainability without changing what it does (Correct answer)
- Removing all inline comments from code files to reduce storage size
Correct answer: Restructuring existing code to improve its readability and maintainability without changing what it does
Refactoring improves the internal structure, clarity, and maintainability of code while preserving its existing external behavior — the goal is cleaner code, not new functionality.
Question 6: Which phase of the Software Development Life Cycle (SDLC) involves developers translating design specifications into actual working source code?
- Requirements Gathering
- Testing
- Implementation (Correct answer)
- Maintenance
Correct answer: Implementation
The Implementation (or Coding) phase is where developers write the actual source code based on designs and specifications established in earlier SDLC phases — it is the 'building' stage of the cycle.
Which software development methodology emphasizes iterative cycles, team collaboration, and flexibility to adapt to changing requirements over following a rigid sequential plan?