TeamViewer interview question

OOP principles, design patterns etc