Google Technical Systems Design A framework to generate product requirements for a system, design it and analyze bottlenecks and trade-offs. Read framework