- How did you get into frontend web dev?
- Why do you like it vs other engineering roles?
- What developer tools do you use?
- When do you just libraries/frameworks? which? Why?
- How do you test your code?
- How do you debug a problem? What if no error?
- Where do you find new information? How do you stay updated with the always evolving web tech?
- What is MVC and how do you use it? Do you use any MVC frameworks?
- Talk about your process when implementing a new feature for a client. Meeting with the customer, gathering requiremenents, UI, acceptance criteria, etc.
- What are some HTML best practices that you follow?
- Strict vs. quirks modes
- Block vs. inline elements
- The box model and how padding, margin, and border are related
- What is a doctype and how does html5 change that?
HTML
vs.XHTML
- How do you organize your CSS? When do you use id vs class names? Why should you refarin from using id for css?
- What is unobtrusive js?
- What is progressive enhancement? How do you do it?
- Why do a lot of engineers consider it bad practice to include js in
<head>
? - What are some things that can slow down the loading of a web page?
- How do you organize large javascript applications?
- What is the
XMLHttpRequest
object (Ajax)? - What is JSON? Why is it useful? How is it nor really Ajax? When shouldn’t you use it?
- What is the jsonp technique and what is it good for?
- What is the difference between undefined value and null value?
- What is the difference between
==
and===
? - How do you create a classical
Class
in javascript (pre and post ES6)? - Would you describe the difference between window.onload and onDocumentReady?
- When should you use
typeof varName === 'undefined'
vsvarName === null
? - How is scope/namespacing achieved with js (pre and post ES6)?
- What is the main problem with the Prototype library?
- Difference between:
function Person(){}
,var person = Person()
, andvar person = new Person()
? - What's the difference between
.call
and.apply
? - What's the difference between
.map
and.forEach
? - Explain
Function.prototype.bind
. - Explain the difference between mutable and immutable objects.
- What is an example of an immutable object in JavaScript?
- What are the pros and cons of immutability?
- How can you achieve immutability in your own code?
- Explain the difference between synchronous and asynchronous functions.
- What is event loop?
- What is the difference between call stack and task queue?
- A div with an id of 'slideshow' contains five images, the first of which is shown and the others are hidden using a display style of none. Using Javascript, create a simple slideshow that cycles through the images, displaying each image for three seconds at a time, looping back to the first image when the end is reached.
- Write a function that takes a string as a parameter and returns another string with the contents reversed
- Create a for loop that iterates up to
100
while outputting "fizz" at multiples of3
, "buzz" at multiples of5
and "fizzbuzz" at multiples of3
and5
- Make this work
add(1, 4); // 5
add(1)(4); // 5