Convert Figma logo to code with AI

yangshun logofront-end-interview-handbook

⚡️ Front End interview preparation materials for busy engineers

41,578
5,769
41,578
13

Top Related Projects

A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore.

List of 1000 JavaScript Interview Questions

A long list of (advanced) JavaScript questions, and their explanations :sparkles:

📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

:bathtub: Clean Code concepts adapted for JavaScript

A book series on JavaScript. @YDKJS on twitter.

Quick Overview

The Front End Interview Handbook is a comprehensive resource for front-end developer job interviews. It covers a wide range of topics including HTML, CSS, JavaScript, and web-related questions, providing detailed answers and explanations. The repository aims to help developers prepare for technical interviews in the front-end field.

Pros

  • Extensive coverage of front-end topics, from basic to advanced
  • Regularly updated with new content and improvements
  • Available in multiple languages, making it accessible to a global audience
  • Open-source project with contributions from the community

Cons

  • May not cover company-specific interview questions or processes
  • Some answers might be too detailed for quick review before an interview
  • Could potentially lead to over-preparation if not used in conjunction with practical coding practice
  • Might not keep up with the rapidly evolving front-end ecosystem in real-time

Code Examples

This repository is not a code library, but rather a collection of interview questions and answers. Therefore, there are no code examples to provide in the context of using this as a library.

Getting Started

As this is not a code library, there's no need for installation or setup. To use the Front End Interview Handbook:

  1. Visit the GitHub repository: https://github.com/yangshun/front-end-interview-handbook
  2. Browse the contents in the contents folder
  3. Read through the questions and answers in your areas of interest
  4. Practice explaining the concepts in your own words
  5. Use the information to supplement your interview preparation

For a more organized reading experience, you can also visit the official website: https://www.frontendinterviewhandbook.com/

Competitor Comparisons

A list of helpful front-end related questions you can use to interview potential candidates, test yourself or completely ignore.

Pros of Front-end-Developer-Interview-Questions

  • More comprehensive coverage of topics, including general questions and fun/tricky ones
  • Community-driven with contributions from many developers
  • Available in multiple languages, making it accessible to a wider audience

Cons of Front-end-Developer-Interview-Questions

  • Lacks detailed answers or explanations for the questions
  • Less structured organization compared to front-end-interview-handbook
  • May contain outdated questions due to its long-standing nature

Code Comparison

Front-end-Developer-Interview-Questions:

// No specific code examples provided

front-end-interview-handbook:

// Example: Explain event delegation
document.getElementById("parent-list").addEventListener("click", function(e) {
  if(e.target && e.target.nodeName == "LI") {
    console.log("List item ", e.target.id.replace("post-", ""), " was clicked!");
  }
});

The front-end-interview-handbook provides code examples and explanations, while Front-end-Developer-Interview-Questions focuses on presenting questions without sample code.

Both repositories serve as valuable resources for front-end interview preparation, with Front-end-Developer-Interview-Questions offering a broader range of questions and front-end-interview-handbook providing more in-depth explanations and practical examples.

List of 1000 JavaScript Interview Questions

Pros of javascript-interview-questions

  • More comprehensive coverage of JavaScript-specific topics
  • Includes code snippets and examples for most questions
  • Regularly updated with new questions and answers

Cons of javascript-interview-questions

  • Less focus on broader front-end concepts (HTML, CSS, etc.)
  • May lack some depth in explanations compared to front-end-interview-handbook
  • Organization can be overwhelming for beginners

Code Comparison

front-end-interview-handbook:

const flatten = (arr) =>
  arr.reduce((flat, toFlatten) =>
    flat.concat(Array.isArray(toFlatten) ? flatten(toFlatten) : toFlatten), []);

javascript-interview-questions:

function flatten(arr) {
  return arr.reduce((acc, val) => Array.isArray(val) ? acc.concat(flatten(val)) : acc.concat(val), []);
}

Both repositories provide similar implementations for flattening arrays, showcasing recursive approaches using reduce. The front-end-interview-handbook uses an arrow function and ternary operator, while javascript-interview-questions uses a traditional function declaration and if-else logic within the reduce callback.

A long list of (advanced) JavaScript questions, and their explanations :sparkles:

Pros of javascript-questions

  • Focuses specifically on JavaScript, providing in-depth coverage of language concepts
  • Includes explanations for each answer, helping users understand the reasoning
  • Regularly updated with new questions and community contributions

Cons of javascript-questions

  • Limited scope, covering only JavaScript and not other front-end technologies
  • May not cover practical, real-world scenarios as comprehensively as front-end-interview-handbook

Code Comparison

javascript-questions:

function sayHi() {
  console.log(name);
  console.log(age);
  var name = 'Lydia';
  let age = 21;
}
sayHi();

front-end-interview-handbook:

const promise1 = Promise.resolve('First')
const promise2 = Promise.resolve('Second')
const promise3 = Promise.reject('Third')
const promise4 = Promise.resolve('Fourth')

const runPromises = async () => {
  const res1 = await Promise.all([promise1, promise2])
  const res2 = await Promise.all([promise3, promise4])
  return [res1, res2]
}

runPromises()
  .then(res => console.log(res))
  .catch(err => console.log(err))

The javascript-questions example focuses on variable hoisting and scoping, while the front-end-interview-handbook example demonstrates more complex asynchronous operations with Promises.

📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

Pros of javascript-algorithms

  • Focuses specifically on algorithms and data structures, providing a deeper dive into these fundamental concepts
  • Includes implementations in multiple programming languages, not just JavaScript
  • Offers a more comprehensive collection of algorithms, covering a wider range of topics

Cons of javascript-algorithms

  • Less focused on front-end specific topics and interview preparation
  • May be overwhelming for beginners or those specifically preparing for front-end interviews
  • Lacks explanations of how these algorithms relate to real-world front-end development scenarios

Code Comparison

javascript-algorithms (Binary Search implementation):

function binarySearch(sortedArray, seekElement) {
  let startIndex = 0;
  let endIndex = sortedArray.length - 1;
  while (startIndex <= endIndex) {
    const middleIndex = startIndex + Math.floor((endIndex - startIndex) / 2);
    // ... (implementation continues)
  }
}

front-end-interview-handbook (Example question and answer):

// Question: What is the output of the following code?
console.log(typeof typeof 1);

// Answer: "string"
// Explanation: typeof 1 returns "number", and typeof "number" returns "string"

The javascript-algorithms repository provides in-depth implementations of various algorithms, while front-end-interview-handbook focuses on concise explanations and examples relevant to front-end interviews.

:bathtub: Clean Code concepts adapted for JavaScript

Pros of clean-code-javascript

  • Focuses on writing clean, maintainable JavaScript code
  • Provides practical examples and explanations for each principle
  • Covers a wide range of topics, from variable naming to error handling

Cons of clean-code-javascript

  • Less comprehensive for interview preparation
  • Doesn't cover specific front-end technologies or frameworks
  • May not be as up-to-date with the latest JavaScript features

Code Comparison

clean-code-javascript example (Function Arguments):

function createMenu(title, body, buttonText, cancellable) {
  // ...
}

front-end-interview-handbook example (JavaScript):

const element = document.getElementById('myElement');
element.addEventListener('click', function(event) {
  console.log('Element clicked!');
});

The clean-code-javascript example demonstrates a principle of clean code by showing a function with too many arguments, suggesting the use of an object parameter instead. The front-end-interview-handbook example shows a practical JavaScript snippet for adding an event listener, which is more relevant to front-end interview questions.

Both repositories offer valuable information for JavaScript developers, but they serve different purposes. clean-code-javascript is ideal for improving code quality and maintainability, while front-end-interview-handbook is better suited for interview preparation and covering a broader range of front-end topics.

A book series on JavaScript. @YDKJS on twitter.

Pros of You-Dont-Know-JS

  • Provides in-depth explanations of JavaScript concepts
  • Covers advanced topics and language intricacies
  • Suitable for both beginners and experienced developers

Cons of You-Dont-Know-JS

  • Less focused on interview preparation
  • May be overwhelming for those seeking quick reference
  • Doesn't cover front-end specific topics like HTML and CSS

Code Comparison

You-Dont-Know-JS example (explaining closures):

function outer() {
  var x = 10;
  function inner() {
    console.log(x);
  }
  return inner;
}

Front-end-interview-handbook example (interview question):

// What is the output of the following code?
console.log(typeof null);
console.log(typeof undefined);
console.log(typeof {});

Summary

You-Dont-Know-JS is a comprehensive resource for understanding JavaScript deeply, while Front-end-interview-handbook is more focused on preparing for front-end interviews. The former offers detailed explanations and covers advanced topics, while the latter provides concise answers to common interview questions and covers a broader range of front-end technologies.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Front End Interview Handbook

By GreatFrontEnd


Start Reading Front End Interview Handbook

Start Practicing Front End Questions on GreatFrontEnd

What is this?

Unlike typical software engineer job interviews, front end job interviews have less emphasis on algorithms and have more questions on intricate knowledge and expertise about the domain — HTML, CSS, JavaScript, just to name a few areas. This repository covers all you need to know for front end interviews:

Where to get hands on practice?

After getting a good understanding about front end interview preparation, try out GreatFrontEnd, a platform built by me! Not only are there 200+ practice questions, each with multiple solutions from Senior Front End Engineers, there are also automated test case suites to help you identify what's wrong with your code. Thus, check out the following resources:

  • Study plans help you prepare for your upcoming technical interviews, whether it is in a week or 3 months later.
  • Focus areas allow you to focus on your weak areas and also further improve your strengths depending on your preferences.
  • Preparation by stage prepares you for each phase of your interview process, from quiz to coding interviews.
  • Individual framework questions offer training based on specific frameworks that may be tested during your technical interviews.

Need to practice front end interview questions? GreatFrontEnd is holding a limited time promotion for 20% off their lifetime plan of high quality practice questions and reference solutions written by ex-FAANG interviewers 🚀


Looking for Generic Interview Preparation?

You might be interested in the Tech Interview Handbook which has helpful content on general coding interviews such as algorithms, behavioral questions and an interview cheatsheet!

Web Technologies illustration

Credits: Illustration by unDraw

Read on the website

Translations

Related

If you are interested in how data structures are implemented, check out Lago, a Data Structures and Algorithms library for JavaScript. It's meant for reference and studying purposes, not for production use.

Contributing

Contributing Guide

Read our contributing guide to learn about how you can contribute, how to propose improvements or if you are interested in translating the content.

Supporting

Many hours of hard work have gone into this project. Your support will be very appreciated!

Buy Me A Coffee

License

All projects and packages in this repository are MIT licensed.

NPM DownloadsLast 30 Days