Skip to content

Instantly share code, notes, and snippets.

View muhaisen's full-sized avatar

Aidan Muhaisen muhaisen

View GitHub Profile
@hugodias
hugodias / interview-questions.md
Created January 11, 2021 13:25
Senior Developers Interview Questions

Technical questions

  1. What techniques would you use to make sure an API is reliable and scalabe for reading operations to support 1M requests a day with peak of 2000 concurrent users?
  2. You have just been put in charge of a legacy code project which is difficult to maintain – what would you plan to improve in order to make the project easier to maintain in the long-term?
  3. What is an acceptable response time for a ready-only API GET method in your opinion?
  4. What is dependency injection? What are the benefits of using it?
  5. Do you test your applications? What are the importance of tests in software development and the difference between each type of test? (Unit tests, E2E, Integration tests, Load Test)

Role-specific questions

  1. What metrics do you use to monitor a backend application performance?
  2. What metrics do you use to monitor your teams performance?
@electrum
electrum / gist:814835
Created February 7, 2011 17:58
Amazon S3 Design Principles

Amazon S3 Design Principles

The following principles of distributed system design were used to meet Amazon S3 requirements:

Decentralization: Use fully decentralized techniques to remove scaling bottlenecks and single points of failure.

Asynchrony: The system makes progress under all circumstances.

Autonomy: The system is designed such that individual components can make decisions based on local information.