A while ago, I compiled a list of sample interview questions for a friend wanting to apply for front-end web development jobs; The following is what I came up with. It is by no means complete or comprehensive, but it does contain several items an aspiring applicant might want to know about. Note: several of these questions are trick questions meant to mislead a nervous applicant (it’s mean, I know, but gotta be confident about your knowledge!).

That fact that something is on this list does not imply that you need to know this to get a web job. Rather, it’s perhaps a thing you may want to learn in your never-ending quest to build your web dev chops. I recommend the following video by Kathy Sierra on practical skill-building:

The List

  • What is the box model?
    • Is it possible to modify how the box model behaves? If so, how?
  • What is a WebSocket?
    • Why would one opt to use a WebSocket?
  • What is Ajax?
  • How can a server push content to a loaded web page?
    • What is comet?
    • What is long polling?
  • What is jQuery?
  • What is a clearfix?
    • Why does it work?
    • How can we avoid using a clearfix to make layouts?
  • What resources should I consult if I have a question about browser compatibility?
  • What references should I consult that are based on the official web standards?
  • What is the W3C?
  • What is the DOM?
  • What is the difference between jQuery and JavaScript?
  • What is the difference between jQuery and the DOM?
  • What is the difference between jQuery and AJAX?
  • What is the difference between the <svg> and <canvas> element?
  • What is a (JavaScript) prototype?
  • What is a user agent?
  • What is the user agent stylesheet?
  • Is there a difference between a reset and normalize? If so, what is it?
  • What is a pseudo-element?
  • Is it preferable to style either IDs or classes? Why?
  • Why do developers use template languages such as Handlebars and Swig?
  • Describe in as much detail as possible everything that happens when I type eddieantonio.ca/<ENTER> into my address bar until the page is fully-rendered on my screen.
  • What is HTTP?
    • What is HTTP/2.0?
  • What should be done to decrease page load in HTTP/1.1?
  • What is the difference between React and Angular?
  • Can you style elements in the <head>?
  • What is a CSS preprocessor?
    • Why would you use a CSS preprocessor such as SASS or LESS over regular CSS?
  • What is WebP?
  • Which is better? JPEG, GIF, or PNG?

Non-technical questions

Another thing to prepare for are social situations. For example, what do you do when a client makes an unreasonable request. For example, if you’ve styled some text with the color #000000, what should you do if the client requests for you to make it more black?