https://medium.com/javarevisited/15-best-system-design-interview-resources-for-software-engineers-3485e9b09136