Can you walk me through how you would design and build a RESTful API? What are some common ways to optimize the performance of a web application? How do you handle authentication and authorization in a web app? Explain the difference between synchronous and asynchronous programming. When would you use relational databases (SQL) versus NoSQL databases?