JavaScript interview questions [with solutions]