Problem Solving: Can understand a problem, decompose it and plan effective solution, including identify edge cases.
Technical Design: Can design and well structure a class or component to solve the problem, while describing the solution and tradeoffs made.
Implementation: Can provide a working solution for the problem that both meets the discussed specifications and using appropriate language constructs/ data structures.
Can make use of advanced front end concepts like DOM events, event cascading, debouncing, XHR, local storage, web workers, etc.