- Share some details of your research methodology. In case you have to work out a new software system, what precedes the actual deployment?
- You need to create a configuration system in which users can configure other systems using a GUI. The system has around 10 000 daily user hits. What architecture would you propose for such a system?
- The daily user hits spike to 100 000 users per day. How would you change your architecture? What about 1 000 000? And 10 000 000?
- The users can download a zip file with their whole configuration that averages around 2 gb per download.
- The system needs to have a way to authorize and authenticate users. How would you do that? What if the client of the system does not want to use our authentication system? How would you store the user information?
- The users of our system want to be able to collaborate on the creation of configurations. How would you implement that? What challenges would you face?
- Users want to upload files for configurations and in their profiles. How would you implement this?
- How would you allow third party developers to create plugins for your system?
- You need to monitor the health and status of your system. How would you do that?
- What are some security guidelines that you should follow when designing new systems? What security issues have you faced in your practice?