https://medium.com/@kirantechblog/top-50-most-challenging-javascript-interview-questions-9cfecdd5473e