Accenture interview question

Can you explain the differences between object-oriented programming and functional programming? How would you design a scalable system for [specific scenario]? Explain the principles of SOLID and how you apply them in your code.