https://iorilan.medium.com/my-interviewer-said-my-code-assignment-was-bad-and-lacked-abstract-thinking-842231a45f51