Skip to content

Commit 876d8a9

Browse files
committed
Split questions into separate files
1 parent 4366366 commit 876d8a9

10 files changed

+254
-265
lines changed

README.md

+10-265
Original file line numberDiff line numberDiff line change
@@ -6,278 +6,23 @@ This file contains a number of front-end interview questions that can be used wh
66

77
## Table of Contents
88

9-
1. [General Questions](#general-questions)
10-
1. [HTML Questions](#html-questions)
11-
1. [CSS Questions](#css-questions)
12-
1. [JS Questions](#js-questions)
13-
1. [Testing Questions](#testing-questions)
14-
1. [Performance Questions](#performance-questions)
15-
1. [Network Questions](#network-questions)
16-
1. [Coding Questions](#coding-questions)
17-
1. [Fun Questions](#fun-questions)
9+
1. [General Questions](questions/general-questions.md)
10+
1. [HTML Questions](questions/html-questions.md)
11+
1. [CSS Questions](questions/css-questions.md)
12+
1. [JS Questions](questions/javascript-questions.md)
13+
1. [Testing Questions](questions/testing-questions.md)
14+
1. [Performance Questions](questions/performance-questions.md)
15+
1. [Network Questions](questions/network-questions.md)
16+
1. [Coding Questions](questions/coding-questions.md)
17+
1. [Fun Questions](questions/fun-questions.md)
1818

1919
## Getting Involved
2020

2121
1. [Contributors](#contributors)
2222
1. [How to Contribute](https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/CONTRIBUTING.md)
2323
1. [License](https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/master/LICENSE.md)
2424

25-
#### General Questions:
26-
27-
* What did you learn yesterday/this week?
28-
* What excites or interests you about coding?
29-
* What is a recent technical challenge you experienced and how did you solve it?
30-
* When building a new web site or maintaining one, can you explain some techniques you have used to increase performance?
31-
* Can you describe some SEO best practices or techniques you have used lately?
32-
* Can you explain any common techniques or recent issues solved in regards to front-end security?
33-
* What actions have you personally taken on recent projects to increase maintainability of your code?
34-
* Talk about your preferred development environment.
35-
* Which version control systems are you familiar with?
36-
* Can you describe your workflow when you create a web page?
37-
* If you have 5 different stylesheets, how would you best integrate them into the site?
38-
* Can you describe the difference between progressive enhancement and graceful degradation?
39-
* How would you optimize a website's assets/resources?
40-
* How many resources will a browser download from a given domain at a time?
41-
* What are the exceptions?
42-
* Name 3 ways to decrease page load (perceived or actual load time).
43-
* If you jumped on a project and they used tabs and you used spaces, what would you do?
44-
* Describe how you would create a simple slideshow page.
45-
* If you could master one technology this year, what would it be?
46-
* Explain the importance of standards and standards bodies.
47-
* What is Flash of Unstyled Content? How do you avoid FOUC?
48-
* Explain what ARIA and screenreaders are, and how to make a website accessible.
49-
* Explain some of the pros and cons for CSS animations versus JavaScript animations.
50-
* What does CORS stand for and what issue does it address?
51-
52-
#### HTML Questions:
53-
54-
* What does a `doctype` do?
55-
* How do you serve a page with content in multiple languages?
56-
* What kind of things must you be wary of when design or developing for multilingual sites?
57-
* What are `data-` attributes good for?
58-
* Consider HTML5 as an open web platform. What are the building blocks of HTML5?
59-
* Describe the difference between a `cookie`, `sessionStorage` and `localStorage`.
60-
* Describe the difference between `<script>`, `<script async>` and `<script defer>`.
61-
* Why is it generally a good idea to position CSS `<link>`s between `<head></head>` and JS `<script>`s just before `</body>`? Do you know any exceptions?
62-
* What is progressive rendering?
63-
* Why you would use a `srcset` attribute in an image tag? Explain the process the browser uses when evaluating the content of this attribute.
64-
* Have you used different HTML templating languages before?
65-
66-
#### CSS Questions:
67-
68-
* What is CSS selector specificity and how does it work?
69-
* What's the difference between "resetting" and "normalizing" CSS? Which would you choose, and why?
70-
* Describe Floats and how they work.
71-
* Describe z-index and how stacking context is formed.
72-
* Describe BFC(Block Formatting Context) and how it works.
73-
* What are the various clearing techniques and which is appropriate for what context?
74-
* How would you approach fixing browser-specific styling issues?
75-
* How do you serve your pages for feature-constrained browsers?
76-
* What techniques/processes do you use?
77-
* What are the different ways to visually hide content (and make it available only for screen readers)?
78-
* Have you ever used a grid system, and if so, what do you prefer?
79-
* Have you used or implemented media queries or mobile specific layouts/CSS?
80-
* Are you familiar with styling SVG?
81-
* Can you give an example of an `@media` property other than `screen`?
82-
* What are some of the "gotchas" for writing efficient CSS?
83-
* What are the advantages/disadvantages of using CSS preprocessors?
84-
* Describe what you like and dislike about the CSS preprocessors you have used.
85-
* How would you implement a web design comp that uses non-standard fonts?
86-
* Explain how a browser determines what elements match a CSS selector.
87-
* Describe pseudo-elements and discuss what they are used for.
88-
* Explain your understanding of the box model and how you would tell the browser in CSS to render your layout in different box models.
89-
* What does ```* { box-sizing: border-box; }``` do? What are its advantages?
90-
* What is the CSS `display` property and can you give a few examples of its use?
91-
* What's the difference between inline and inline-block?
92-
* What's the difference between a relative, fixed, absolute and statically positioned element?
93-
* What existing CSS frameworks have you used locally, or in production? How would you change/improve them?
94-
* Have you played around with the new CSS Flexbox or Grid specs?
95-
* Can you explain the difference between coding a web site to be responsive versus using a mobile-first strategy?
96-
* Have you ever worked with retina graphics? If so, when and what techniques did you use?
97-
* Is there any reason you'd want to use `translate()` instead of *absolute positioning*, or vice-versa? And why?
98-
99-
#### JS Questions:
100-
101-
* Explain event delegation
102-
* Explain how `this` works in JavaScript
103-
* Explain how prototypal inheritance works
104-
* What do you think of AMD vs CommonJS?
105-
* Explain why the following doesn't work as an IIFE: `function foo(){ }();`.
106-
* What needs to be changed to properly make it an IIFE?
107-
* What's the difference between a variable that is: `null`, `undefined` or undeclared?
108-
* How would you go about checking for any of these states?
109-
* What is a closure, and how/why would you use one?
110-
* Can you describe the main difference between a `forEach` loop and a `.map()` loop and why you would pick one versus the other?
111-
* What's a typical use case for anonymous functions?
112-
* How do you organize your code? (module pattern, classical inheritance?)
113-
* What's the difference between host objects and native objects?
114-
* Difference between: `function Person(){}`, `var person = Person()`, and `var person = new Person()`?
115-
* What's the difference between `.call` and `.apply`?
116-
* Explain `Function.prototype.bind`.
117-
* When would you use `document.write()`?
118-
* What's the difference between feature detection, feature inference, and using the UA string?
119-
* Explain Ajax in as much detail as possible.
120-
* What are the advantages and disadvantages of using Ajax?
121-
* Explain how JSONP works (and how it's not really Ajax).
122-
* Have you ever used JavaScript templating?
123-
* If so, what libraries have you used?
124-
* Explain "hoisting".
125-
* Describe event bubbling.
126-
* What's the difference between an "attribute" and a "property"?
127-
* Why is extending built-in JavaScript objects not a good idea?
128-
* Difference between document load event and document DOMContentLoaded event?
129-
* What is the difference between `==` and `===`?
130-
* Explain the same-origin policy with regards to JavaScript.
131-
* Make this work:
132-
```javascript
133-
duplicate([1,2,3,4,5]); // [1,2,3,4,5,1,2,3,4,5]
134-
```
135-
* Why is it called a Ternary operator, what does the word "Ternary" indicate?
136-
* What is `"use strict";`? what are the advantages and disadvantages to using it?
137-
* Create a for loop that iterates up to `100` while outputting **"fizz"** at multiples of `3`, **"buzz"** at multiples of `5` and **"fizzbuzz"** at multiples of `3` and `5`
138-
* Why is it, in general, a good idea to leave the global scope of a website as-is and never touch it?
139-
* 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?
140-
* Explain what a single page app is and how to make one SEO-friendly.
141-
* What is the extent of your experience with Promises and/or their polyfills?
142-
* What are the pros and cons of using Promises instead of callbacks?
143-
* What are some of the advantages/disadvantages of writing JavaScript code in a language that compiles to JavaScript?
144-
* What tools and techniques do you use debugging JavaScript code?
145-
* What language constructions do you use for iterating over object properties and array items?
146-
* Explain the difference between mutable and immutable objects.
147-
* What is an example of an immutable object in JavaScript?
148-
* What are the pros and cons of immutability?
149-
* How can you achieve immutability in your own code?
150-
* Explain the difference between synchronous and asynchronous functions.
151-
* What is event loop?
152-
* What is the difference between call stack and task queue?
153-
* Explain the differences on the usage of `foo` between `function foo() {}` and `var foo = function() {}`
154-
* What are the differences between variables created using `let`, `var` or `const`?
155-
* What are the differences between ES6 class and ES5 function constructors?
156-
* Can you offer a use case for the new arrow `=>` function syntax? How does this new syntax differ from other functions?
157-
* What advantage is there for using the arrow syntax for a method in a constructor?
158-
* What is the definition of a higher-order function?
159-
* Can you give an example for destructuring an object or an array?
160-
* ES6 Template Literals offer a lot of flexibility in generating strings, can you give an example?
161-
* Can you give an example of a curry function and why this syntax offers an advantage?
162-
* What are the benefits of using `spread syntax` and how is it different from `rest syntax`?
163-
* How can you share code between files?
164-
* Why you might want to create static class members?
165-
166-
#### Testing Questions:
167-
168-
* What are some advantages/disadvantages to testing your code?
169-
* What tools would you use to test your code's functionality?
170-
* What is the difference between a unit test and a functional/integration test?
171-
* What is the purpose of a code style linting tool?
172-
173-
#### Performance Questions:
174-
175-
* What tools would you use to find a performance bug in your code?
176-
* What are some ways you may improve your website's scrolling performance?
177-
* Explain the difference between layout, painting and compositing.
178-
179-
#### Network Questions:
180-
181-
* Traditionally, why has it been better to serve site assets from multiple domains?
182-
* Do your best to describe the process from the time you type in a website's URL to it finishing loading on your screen.
183-
* What are the differences between Long-Polling, Websockets and Server-Sent Events?
184-
* Explain the following request and response headers:
185-
* Diff. between Expires, Date, Age and If-Modified-...
186-
* Do Not Track
187-
* Cache-Control
188-
* Transfer-Encoding
189-
* ETag
190-
* X-Frame-Options
191-
* What are HTTP methods? List all HTTP methods that you know, and explain them.
192-
193-
#### Coding Questions:
194-
195-
*Question: What is the value of `foo`?*
196-
```javascript
197-
var foo = 10 + '20';
198-
```
199-
200-
*Question: What will be the output of the code below?*
201-
```javascript
202-
console.log(0.1 + 0.2 == 0.3);
203-
```
204-
205-
*Question: How would you make this work?*
206-
```javascript
207-
add(2, 5); // 7
208-
add(2)(5); // 7
209-
```
210-
211-
*Question: What value is returned from the following statement?*
212-
```javascript
213-
"i'm a lasagna hog".split("").reverse().join("");
214-
```
215-
216-
*Question: What is the value of `window.foo`?*
217-
```javascript
218-
( window.foo || ( window.foo = "bar" ) );
219-
```
220-
221-
*Question: What is the outcome of the two alerts below?*
222-
```javascript
223-
var foo = "Hello";
224-
(function() {
225-
var bar = " World";
226-
alert(foo + bar);
227-
})();
228-
alert(foo + bar);
229-
```
230-
231-
*Question: What is the value of `foo.length`?*
232-
```javascript
233-
var foo = [];
234-
foo.push(1);
235-
foo.push(2);
236-
```
237-
238-
*Question: What is the value of `foo.x`?*
239-
```javascript
240-
var foo = {n: 1};
241-
var bar = foo;
242-
foo.x = foo = {n: 2};
243-
```
244-
245-
*Question: What does the following code print?*
246-
```javascript
247-
console.log('one');
248-
setTimeout(function() {
249-
console.log('two');
250-
}, 0);
251-
console.log('three');
252-
```
253-
254-
*Question: What is the difference between these four promises?*
255-
```javascript
256-
doSomething().then(function () {
257-
return doSomethingElse();
258-
});
259-
260-
doSomething().then(function () {
261-
doSomethingElse();
262-
});
263-
264-
doSomething().then(doSomethingElse());
265-
266-
doSomething().then(doSomethingElse);
267-
```
268-
269-
270-
#### Fun Questions:
271-
272-
* What's a cool project that you've recently worked on?
273-
* What are some things you like about the developer tools you use?
274-
* Who inspires you in the front-end community?
275-
* Do you have any pet projects? What kind?
276-
* What's your favorite feature of Internet Explorer?
277-
* How do you like your coffee?
278-
279-
280-
#### Contributors:
25+
## Contributors:
28126

28227
This document started in 2009 as a collaboration of [@paul_irish](https://twitter.com/paul_irish) [@bentruyman](https://twitter.com/bentruyman) [@cowboy](https://twitter.com/cowboy) [@ajpiano](https://twitter.com/ajpiano) [@SlexAxton](https://twitter.com/slexaxton) [@boazsender](https://twitter.com/boazsender) [@miketaylr](https://twitter.com/miketaylr) [@vladikoff](https://twitter.com/vladikoff) [@gf3](https://twitter.com/gf3) [@jon_neal](https://twitter.com/jon_neal) [@sambreed](https://twitter.com/sambreed) and [@iansym](https://twitter.com/iansym).
28328

questions/coding-questions.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Coding Questions:
2+
3+
*Question: What is the value of `foo`?*
4+
```javascript
5+
var foo = 10 + '20';
6+
```
7+
8+
*Question: What will be the output of the code below?*
9+
```javascript
10+
console.log(0.1 + 0.2 == 0.3);
11+
```
12+
13+
*Question: How would you make this work?*
14+
```javascript
15+
add(2, 5); // 7
16+
add(2)(5); // 7
17+
```
18+
19+
*Question: What value is returned from the following statement?*
20+
```javascript
21+
"i'm a lasagna hog".split("").reverse().join("");
22+
```
23+
24+
*Question: What is the value of `window.foo`?*
25+
```javascript
26+
( window.foo || ( window.foo = "bar" ) );
27+
```
28+
29+
*Question: What is the outcome of the two alerts below?*
30+
```javascript
31+
var foo = "Hello";
32+
(function() {
33+
var bar = " World";
34+
alert(foo + bar);
35+
})();
36+
alert(foo + bar);
37+
```
38+
39+
*Question: What is the value of `foo.length`?*
40+
```javascript
41+
var foo = [];
42+
foo.push(1);
43+
foo.push(2);
44+
```
45+
46+
*Question: What is the value of `foo.x`?*
47+
```javascript
48+
var foo = {n: 1};
49+
var bar = foo;
50+
foo.x = foo = {n: 2};
51+
```
52+
53+
*Question: What does the following code print?*
54+
```javascript
55+
console.log('one');
56+
setTimeout(function() {
57+
console.log('two');
58+
}, 0);
59+
console.log('three');
60+
```
61+
62+
*Question: What is the difference between these four promises?*
63+
```javascript
64+
doSomething().then(function () {
65+
return doSomethingElse();
66+
});
67+
68+
doSomething().then(function () {
69+
doSomethingElse();
70+
});
71+
72+
doSomething().then(doSomethingElse());
73+
74+
doSomething().then(doSomethingElse);
75+
```

questions/css-questions.md

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# CSS Questions:
2+
3+
* What is CSS selector specificity and how does it work?
4+
* What's the difference between "resetting" and "normalizing" CSS? Which would you choose, and why?
5+
* Describe Floats and how they work.
6+
* Describe z-index and how stacking context is formed.
7+
* Describe BFC(Block Formatting Context) and how it works.
8+
* What are the various clearing techniques and which is appropriate for what context?
9+
* How would you approach fixing browser-specific styling issues?
10+
* How do you serve your pages for feature-constrained browsers?
11+
* What techniques/processes do you use?
12+
* What are the different ways to visually hide content (and make it available only for screen readers)?
13+
* Have you ever used a grid system, and if so, what do you prefer?
14+
* Have you used or implemented media queries or mobile specific layouts/CSS?
15+
* Are you familiar with styling SVG?
16+
* Can you give an example of an `@media` property other than `screen`?
17+
* What are some of the "gotchas" for writing efficient CSS?
18+
* What are the advantages/disadvantages of using CSS preprocessors?
19+
* Describe what you like and dislike about the CSS preprocessors you have used.
20+
* How would you implement a web design comp that uses non-standard fonts?
21+
* Explain how a browser determines what elements match a CSS selector.
22+
* Describe pseudo-elements and discuss what they are used for.
23+
* Explain your understanding of the box model and how you would tell the browser in CSS to render your layout in different box models.
24+
* What does ```* { box-sizing: border-box; }``` do? What are its advantages?
25+
* What is the CSS `display` property and can you give a few examples of its use?
26+
* What's the difference between inline and inline-block?
27+
* What's the difference between a relative, fixed, absolute and statically positioned element?
28+
* What existing CSS frameworks have you used locally, or in production? How would you change/improve them?
29+
* Have you played around with the new CSS Flexbox or Grid specs?
30+
* Can you explain the difference between coding a web site to be responsive versus using a mobile-first strategy?
31+
* Have you ever worked with retina graphics? If so, when and what techniques did you use?
32+
* Is there any reason you'd want to use `translate()` instead of *absolute positioning*, or vice-versa? And why?

0 commit comments

Comments
 (0)