A proxy is a structural design pattern that lets you provide a substitute or placeholder for another object. A proxy controls access to the original object, allowing you to perform something either before or after the request gets through to the original object.
Controllers are the most important thing in MVC pattern, controller helps to receive request, process and render pages. To create a frontend controller and to process the request we need to extend our controller class with Magento\Framework\App\Action\Action class this class context gives some added features to handle request type and to validate authorized users and so on. But in this process Magento needs to include so many classes which ultimately increase execution time.
In our development lifecycle, we face the situation where we need to create a custom URL for our module or we need to modify the route to match the requirement, in this situation we need to create a custom router in Magento 2
Grunt is basically a task runner tool that helps to automate any compilation process. Grunt supports tasks like saas, jade, less, and many more.
CSP is a standard introduced to prevent attacks on your website. Attacks mean an XSS, clickjacking, or malicious code injection. CSP is widely supported by all the modern web browsers and it gives privilege to website owners to approve origins of content that browsers should be allowed to load on that website.