New Year Sale! Additional 20% off annual and lifetime plans with the code NEWYEAR2023. Grab your discount today!
Front End Engineer · Web Developer · Full Stack Engineer
First time preparing for front end interviews? Find out what to expect in our Front End Interview Guidebook.
Describe the difference between `<script>`, `<script async>` and `<script defer>`
Explain how prototypal inheritance works
Explain how `this` works in JavaScript
What are the differences between variables created using `let`, `var` or `const`?
What is CSS selector specificity and how does it work?
What is the CSS `display` property and can you give a few examples of its use?
What is the difference between `==` and `===`?
What's the difference between a variable that is: `null`, `undefined` or undeclared?
How would you go about checking for any of these states?"What's the difference between `.call` and `.apply`?
Describe the difference between a cookie, `sessionStorage` and `localStorage`.
What's the difference between `inline` and `inline-block`?
Can you offer a use case for the new arrow => function syntax?
How does this new syntax differ from other functions?Explain `Function.prototype.bind`
Explain how a browser determines what elements match a CSS selector.
Explain the difference between synchronous and asynchronous functions
Have you played around with the new CSS Flexbox or Grid specs?
What are the pros and cons of using Promises instead of callbacks?
What is a closure, and how/why would you use one?
What language constructions do you use for iterating over object properties and array items?
What's a typical use case for anonymous functions?
Describe Block Formatting Context (BFC) and how it works.
Describe `float`s and how they work.
Describe pseudo-elements and discuss what they are used for.
Describe `z-index` and how stacking context is formed.
What kind of things must you be wary of when designing or developing for multilingual sites?
Difference between: `function Person(){}`, `var person = Person()`, and `var person = new Person()`?
Explain Ajax in as much detail as possible.
Explain CSS sprites, and how you would implement them on a page or site.
Explain how JSONP works (and how it's not really Ajax)
Explain the difference between mutable and immutable objects
Explain what a single page app is and how to make one SEO-friendly
Have you ever used a grid system, and if so, what do you prefer?
How do you serve a page with content in multiple languages?
How do you serve your pages for feature-constrained browsers?
What techniques/processes do you use?How is responsive design different from adaptive design?
How would you approach fixing browser-specific styling issues?
What advantage is there for using the arrow syntax for a method in a constructor?
What are `data-` attributes good for?
What are the advantages/disadvantages of using CSS preprocessors?
What are the differences between ES2015 class and ES5 function constructors?
What is progressive rendering?
What is the definition of a higher-order function?
What's the difference between an "attribute" and a "property"?
What's the difference between feature detection, feature inference, and using the UA string?
What's the difference between "resetting" and "normalizing" CSS?
Which would you choose, and why?Why is it, in general, a good idea to leave the global scope of a website as-is and never touch it?
Why you would use a `srcset` attribute in an image tag?
Explain the process the browser uses when evaluating the content of this attribute.Are you familiar with styling SVG?
Can you describe the main difference between a `.forEach` loop and a `.map()` loop?
Why you would pick one versus the other?Can you give an example for destructuring an object or an array?
Can you give an example of a curry function and why this syntax offers an advantage?
Can you give an example of an `@media` property other than `screen`?
Describe what you like and dislike about the CSS preprocessors you have used.
Difference between document `load` event and document `DOMContentLoaded` event?
ES2015 Template Literals offer a lot of flexibility in generating strings, can you give an example?
Explain the same-origin policy with regards to JavaScript
Have you ever worked with retina graphics?
If so, when and what techniques did you use?Have you used or implemented media queries or mobile-specific layouts/CSS?
How can you share code between files?
How do you organize your code?
Do you use module pattern, classical inheritance, something else?Consider HTML5 as an open web platform. What are the building blocks of HTML5?
What are some of the "gotchas" for writing efficient CSS?
What are the advantages and disadvantages of using Ajax?
What are the benefits of using spread syntax and how is it different from rest syntax?
What are the various clearing techniques and which is appropriate for what context?
What do you think of AMD vs CommonJS?
What existing CSS frameworks have you used locally, or in production?
How would you change/improve them?What is the extent of your experience with Promises and/or their polyfills?
What tools and techniques do you use for debugging JavaScript code?
What's the difference between host objects and native objects?
When would you use `document.write()`?
Why is extending built-in JavaScript objects not a good idea?
Why is it called a Ternary expression, what does the word "Ternary" indicate?
Why would you use something like the `load` event?
Does this event have disadvantages? Do you know any alternatives, and why would you use those?Why you might want to create static class members?