3. **What are the advantages and disadvantages of using microservices architecture compared to a monolithic architecture in software design?
2. **How do version control systems, like Git, enhance the collaboration and management of source code in software development projects?
**What are the key differences between Agile and Waterfall methodologies, and how do they impact the software development lifecycle?
What role do software design patterns play in creating scalable and maintainable code, and can you provide examples of commonly used patterns?
How do continuous integration and continuous deployment (CI/CD) pipelines enhance the efficiency and reliability of the software development process?
What are the most critical security practices every software developer should follow to ensure the safety of an application?
How do version control systems like Git facilitate collaboration and manage code changes in a software development team?
What are the key differences between agile and waterfall methodologies, and how do they impact the software development lifecycle?
5. **How does version control, particularly with systems like Git, facilitate collaboration in software development teams?
4. **What are some effective strategies for managing technical debt in long-term software projects?