- Tell me about your current or last job and role?
- Are there any specific things you're looking for in your next position?
- Are you a specialist in any particular area of front-end development?
- What's the last thing you learned?
- What do you want to learn next?
- Your most recent relevant project:
- What were some technical (or other) challenges you faced with the project?
- What did you contribute that seemed really easy and natural to you (something you feel you've sort of mastered)?
- Would you feel comfortable taking a support role in a project?
- Are you comfortable taking direction on your code?
- How important is code legibility to you? How do you make your code legible? (documentation, OO, multiple files)
- How do you feel about working in an open-floor plan? Working on Sundays for Game Support?
- How comfortable are you in the terminal? What do you do in the terminal? (ex: node, maven, git, SASS compilation)
- Do you have experience with server-side templating? JSPs? Any favorites?
- Do you have experience working with a CMS?
- Git:
- Do you have a GitHub/Bitbucket account?
- Do you use a specific git branching model?
- Do you know how to merge a branch and combine all its commits into a single commit? (git merge --squash ) Why would you do this?
- Mac or PC? What browser do you develop in? How do you test your work in MAC/PC opposite browsers? Any tips?
- What are your thoughts on QA? On AQA?
- {a} Are you following the development of HTML5 and CSS3? Which features are you looking forward to the most, and why?
- {a} What is your favorite feature in HTML5 and how would you use it?
- {b} What would you change about HTML5/CSS3 if you could?
- {b} What is your opinion on HTML5 polyfills, such as Respond.js or CSS3 PIE? Do you lean towards polyfilling browser support, or towards a more progressive approach?
- {b} Do you know what responsive web design is? Could you explain it?
- The approach that suggests that design and development should respond to the user's behavior and environment based on screen size, platform and orientation.
- The use of media queries to appropriately display a website based on screen resolution.
- {b} Any experience developing for the mobile web?
- Are you familiar with React?
- Are you familiar with the approach of inline-styling and its benefits and shortcommings?
- {a} Do you JSHint your code?
- {b} Do you have experience with AMD? Can you explain how you've used it in a project?
- Asynchronous Module Definition
- Specifies a mechanism for defining modules such that the module and its dependencies can be asynchronously loaded.
- {b} What are some tips to optimizing your JS/jQuery code?
- A: Open-ended. Caching variables, OO-approach, chaining, string concatenation, foreach optimization…
- {b} Do you have any favorite or preferred JavaScript frameworks or utilities that have contributed to your evolution as a developer?
- e.g., RequireJS, Backbone, etc…
- {b} Is a reverse for loop faster than a regular for loop?
- A: Yes.
- {c} Explain the difference between the JavaScript call and apply functions.
- Call: Requires arguments to be explicitly passed
- Apply: Arguments are passed in as an array
- {c} What are your thoughts on object oriented patterns in JS? Do you use any?
- {c} Have you heard of "defensive programming"? (A: Ensure the continuing function of a piece of software in spite of unforeseeable usage of said software.)
- What browser do you develop on?
- Mac or PC? /
- If Mac how do you dev for IE?
- If PC how do you dev for mobile Safari?
- If I asked you "what browsers support canvas / or what browsers support [some-html5-feature]?" How would you find the answer? (A: Caniuse.com?)
- Tabs or spaces?
- Semicolons or ASI?
- Favorite website that showcases HTML5?
- Do you have any web peers/heroes you look up to?
- Why do you want to work at NFL?
Topics to consider: