https://lishoulong.github.io/posts/2016-04-18-interview-conclusion/