Software engineering and Agile interview questions
SDLC, Agile and Scrum roles, testing types and Git basics.
1. What is the SDLC? What are its phases?
The Software Development Life Cycle is the process of building software: requirement gathering and analysis, design, implementation (coding), testing, deployment and maintenance. Models such as Waterfall, V-model, Spiral and Agile organise these phases differently.
Asked in: Infosys
2. What is the difference between Waterfall and Agile?
Waterfall runs the phases one after another with requirements fixed at the start, which suits stable, well-defined projects. Agile delivers working software in short iterations (sprints) with continuous customer feedback, so it handles changing requirements better.
Asked in: Capgemini
3. What is Scrum? Who is a Scrum Master?
Scrum is an Agile framework where a small team works in fixed sprints. Roles: the Product Owner (owns and prioritises the product backlog), the Scrum Master (facilitates the process and removes blockers, not a manager) and the Developers.
Asked in: Infosys
4. What are a sprint and sprint planning?
A sprint is a fixed period, usually one to four weeks, in which the team completes a set of backlog items. In sprint planning the team chooses items from the product backlog for the sprint and breaks them into tasks. Other events are the daily stand-up, sprint review and retrospective.
Asked in: Infosys
5. What are unit, integration, system and acceptance testing?
Unit testing checks individual functions or classes. Integration testing checks that modules work together. System testing checks the complete application against requirements. Acceptance testing (UAT) is done with users or the client before release.
6. What is the difference between black-box and white-box testing?
Black-box testing checks behaviour from the outside using inputs and expected outputs, without looking at the code. White-box testing designs tests from the internal code structure, such as covering every branch.
7. What are Git, commit, push, pull and branch?
Git is a version-control system. A commit saves a snapshot locally; push sends commits to a remote repository such as GitHub; pull fetches and merges others' changes; a branch is an independent line of work merged back later, often through a pull request.
8. What is CI/CD?
Continuous Integration means every change is automatically built and tested when it is pushed. Continuous Delivery/Deployment means passing changes are automatically prepared for or released to production. Tools: GitHub Actions, Jenkins, GitLab CI.
9. What is a REST API?
A way for programs to talk over HTTP using resources and standard methods: GET (read), POST (create), PUT/PATCH (update) and DELETE, usually exchanging JSON. It is stateless: each request carries everything the server needs.
10. What is cloud computing? IaaS, PaaS and SaaS?
Renting computing resources over the internet instead of owning servers. IaaS gives virtual machines and storage (AWS EC2), PaaS gives a platform to deploy code without managing servers (Heroku, Google App Engine), and SaaS gives ready software (Gmail, Microsoft 365).
Asked in: TCS NQT