Senior Front End Engineer Interview Questions

2,000 senior front end engineer interview questions shared by candidates

//Give me the output console for the following piece of code : var foo = 'foo'; function bar() { setTimeout(() => { console.log(foo); }, 0); console.log(foo); // undefined console.log(bar()); // undefined console.log(foo); // bartwo var foo = 'bar'; function bar() { foo = 'bartwo'; } console.log(foo); // bar } bar(); console.log(foo);
avatar

Senior Front End Developer

Interviewed at Apple

4.1
Nov 10, 2017

//Give me the output console for the following piece of code : var foo = 'foo'; function bar() { setTimeout(() => { console.log(foo); }, 0); console.log(foo); // undefined console.log(bar()); // undefined console.log(foo); // bartwo var foo = 'bar'; function bar() { foo = 'bartwo'; } console.log(foo); // bar } bar(); console.log(foo);

Outer join two arrays const a = [ { id: 3, name: 'Matt' }, { id: 4, name: 'Greg' }, { id: 1, name: 'David' }, { id: 2, name: 'John' } ] const b = [ { id: 7, position: 'Outlier' }, { id: 2, position: 'Leader' }, { id: 3, position: 'Captain' }, { id: 6, position: 'Rogue' }, { id: 4, position: 'VP' }, { id: 5, position: 'Pawn'} ] Should create the following joined array:
 [ { id: 1, name: 'David', position: null}, { id: 2, name: 'John', position: 'Leader' },
 { id: 3, name: 'Matt', position: 'Captain' },
 { id: 4, name: 'Greg', position: 'VP' },
 { id: 5, position: 'Pawn', name: null }
 { id: 6, position: 'Rogue', name: null },
 { id: 7, position: 'Outlier', name: null } ]  Should create the following joined array:
 [ { id: 1, name: 'David', position: null },
 { id: 2, name: 'John', position: 'Leader' },
 { id: 3, name: 'Matt', position: 'Captain' },
 { id: 4, name: 'Greg', position: 'VP' },
 { id: 5, position: 'Pawn', name: null }
 { id: 6, position: 'Rogue', name: null },
 { id: 7, position: 'Outlier', name: null } ]
avatar

Senior Front End Developer

Interviewed at Apple

4.1
Nov 10, 2017

Outer join two arrays const a = [ { id: 3, name: 'Matt' }, { id: 4, name: 'Greg' }, { id: 1, name: 'David' }, { id: 2, name: 'John' } ] const b = [ { id: 7, position: 'Outlier' }, { id: 2, position: 'Leader' }, { id: 3, position: 'Captain' }, { id: 6, position: 'Rogue' }, { id: 4, position: 'VP' }, { id: 5, position: 'Pawn'} ] Should create the following joined array:
 [ { id: 1, name: 'David', position: null}, { id: 2, name: 'John', position: 'Leader' },
 { id: 3, name: 'Matt', position: 'Captain' },
 { id: 4, name: 'Greg', position: 'VP' },
 { id: 5, position: 'Pawn', name: null }
 { id: 6, position: 'Rogue', name: null },
 { id: 7, position: 'Outlier', name: null } ]  Should create the following joined array:
 [ { id: 1, name: 'David', position: null },
 { id: 2, name: 'John', position: 'Leader' },
 { id: 3, name: 'Matt', position: 'Captain' },
 { id: 4, name: 'Greg', position: 'VP' },
 { id: 5, position: 'Pawn', name: null }
 { id: 6, position: 'Rogue', name: null },
 { id: 7, position: 'Outlier', name: null } ]

1. General questions about JS and Async JS. 2. Some simple object manipulation and use of promises (with a fake backend emulated with the use of setTimeout). 3. A text based snake 4. Some basic CSS 5. A timer with a reset button
avatar

Senior Front End Developer

Interviewed at Canva

3.9
Jan 3, 2021

1. General questions about JS and Async JS. 2. Some simple object manipulation and use of promises (with a fake backend emulated with the use of setTimeout). 3. A text based snake 4. Some basic CSS 5. A timer with a reset button

You will be given link to a public repo (Not hard to find online if you are curious) which is a React project with some boilerplate codes. The project also includes mock service API which you are expected to call in order to fetch data and push into a data table.
avatar

Senior Front-End Engineer

Interviewed at iwoca

4.3
Jan 26, 2026

You will be given link to a public repo (Not hard to find online if you are curious) which is a React project with some boilerplate codes. The project also includes mock service API which you are expected to call in order to fetch data and push into a data table.

Viewing 321 - 330 interview questions

See Interview Questions for Similar Jobs

Glassdoor has 2,000 interview questions and reports from Senior front end engineer interviews. Prepare for your interview. Get hired. Love your job.