February 3, 2020
Algorithm interviews are the norm in software engineering. They provide a good enough approximation on whether an engineer makes good architecture and design decisions.
As example, let’s do a quick study of whether to use DynamoDB or RDBMS to store data for a project.
DynamoDB Fact(s) Implemented as a distributed hashtable. Distributed by design Pros Very little operational overhead. There’s no need to create multiple DB users; No need to study query plans; No need to think about how much disk space, RAM, or CPUs to assign to your DB; Only one option for table design (flat tables).