
Interviewing for Front-End Engineers
Learning Paths:
Topics:
Table of Contents
Introduction
Introduction
Jem Young introduces the course, discusses what it will provide for frontend interviews, and talks about solving a variety of ambiguous challenges around interviewing. The differences between different types of engineers and engineering needs within organizations is also discussed.Challenges Interviewing for Front-End Engineering
Jem further explores the challenges of interviewing for a front-end engineering position, including how broad the term ‘front-end’ can be, how broad the technologies are in the field, and even how difficult it can be to just get consensus on anything from building solutions to defining concepts.
Application
Interviewer & Candidate Perspectives
Jem explores the perspective of the candidate and of the interviewer, and makes the case that it is important to be aware of both perspectives and to contribute to the bettering of the interviewing process once hired.Goal Setting & The Interview Process
Jem reframes what failure and success are when interviewing, sets basic goals to enforce this thinking, outlines the interview process and the importance of each step instead of just worrying about the on-site interview.Before You Apply
Jem suggests setting a direction, intention and purpose for a job search, and explains that this process will help gain control over building a career and identifying the types of cultures and challenges that lead to job satisfaction.About Your Resume
Jem gives advice on how a resume should look like to be effective. Specifical emphasis should be put on skills, experience, technology known, education, and accomplishments.What to Do with No Experience
Jem addresses the problem many people face when starting out in their career: not having experience in the field one is trying to get hired into, and emphasizes the importance of starting wherever you can, getting experience building towards the coveted role, and pairing that with networking.Evaluating Applicants
Jem explores the the role of the interviewer and points out some common pitfalls encountered when coming up criteria for a role. Some examples include: are they looking for realistic experience given the job, is there bias in the selection process, or does the experience they require match the requirements to actually perform the job?
Initial Call
Initial Call Overview
Jem talks about the initial call part of the hiring process, and the common questions every hiring manager will ask. Jem goes over the importance of having solid, concise quick answers to these questions, what they are really getting at and how to prepare for them.Preparing Interview Questions
Jem again takes the perspective of the interviewer and discusses questions an interviewer should be familiar with. These questions show familiarity with the team, culture, competition, work life, demonstrate an understanding of what it’s like to work in the role being interviewed for so that candidates get a clear understanding if they are a fit for it.Prescreen Javascript Questions
Jem reviews and has discussions around common questioned used by larger companies to screen for baseline knowledge on JavaScript.
Code Test
Code Test Overview
Jem explains that large companies use code tests, explains what they are looking to uncover with them, and demonstrates how to approach these tests to come across as a desirable developer that communicates and works well with others and thinks holistically about where code fits into a larger context.Giving & Evaluating a Code Test
Jem talks through best practices and requirements for an effective code test, how to prepare to help remove bias, and get better reviews on interviewee solutions.Big-O
Jem covers the ‘Big-O’ concept, its lesser known notations ‘Big Omega’ and ‘Big Theta’, and introduces a shorthand way to think through Big-O in algorithms.
Phone Screen
Phone Screen Overview
Jem goes over the phone screen phase of the interviewing process from both the perspective of the interviewee and the interviewer, describes best practices, and gives a list of requirements that lead to a better screening process.Phone Screen Coding Exercise
Students are instructed to work on an example phone screen coding challenge.Phone Screen Coding Solution
Jem talks through his solution to the exercise, and what the solution was looking for in terms of understanding the participants knowledge - from pitfalls with performance, to understanding document fragments, rendering and not being dependent on any particular framework.On-Site Preparation
Jem talks through important preparation tips for both the interviewer and interviewee. For the interviewee, Jem covers practicing without a computer, and the importance of focusing on process versus individual solutions. For the interviewer Jem drives home the importance of empathy and what helps identify the best candidates for the job being hired for.
On-site Interview & Concept Review
On-Site Interview Overview
From both the perspectives of interviewer and interviewee, Jem sets up the on-site interview and the types of questions that are likely involved.What is a String
Jem dives into covering useful information that comes up in on-site interviews, and starts with strings. Jem covers some useful methods, and brings up immutability and how turning a string into an array to manipulate it can help performance.Reversing a String
As a warm up question, Jem introduces the challenge of reversing a string using a function while highlighting the importance of talking through the problem as you solve it and general expectations around what you can use to solve problems in interviews.Built-in Methods
Jem covers ways to convert objects into arrays, and commonly used methods to work with arrays and what their expected outputs look like.
On-site Interview Example Questions
Removing Duplicate Strings Exercise
Students are instructed to create a function that removes duplicate values from a string. Jem answers some questions that clarify what the solution should look like.Removing Duplicate Strings Solution
Jem live codes the solution to the removing duplicate strings exercise while walking through some other possible avenues.Flattening an Array Exercise
Students are instructed to flatten an array without using ‘.flat’. Jem offers more information in answering a question and pointing to recursion as a possible means of solving.Flattening an Array Solution
Jem live codes the solution to the array exercise while talking about what knowledge this interview question is meant to uncover.JavaScript Scope: bind Exercise
Students are instructed to work on the bind exercise. Jem also talks about scope being the context in which we operate in, and briefly covers 3 common elements used to change scope.JavaScript Scope: bind Solution
Jem live codes the solution to the bind exercise while highlighting the understanding needed to solve this type of problem.Timing: Debounce Exercise
Students are instructed to work on the Debounce exercise. Jem also gives an overview of timing in javaScript and common elements used to control it.Timing: Debounce Solution
Jem live codes the solution to the Debounce exercise. Jem also brings up how you could also use throttle() to solve similar problems.Trees Exercise
Students are instructed to work on the Trees exercise. Jem also talks about trees, domTree how understanding roots, nodes, children and parents can help navigate and iterate through trees.Trees Solution
Jem live codes the solution to the Trees exercise.Rendering Exercise
Students are instructed to work on the rendering exercise. Jem also reviews the element RequestAnimationFrame().Rendering Solution
Jem live codes the solution to the rendering exercise and also talks through the math needed to figure out timing, distance and the rate of the moving element.Promises Exercise
Students are instructed to work on the promises exercise. Jem also talks about promises, and why it is important to understand them over simply relying on async await.Promises Solution
Jem live codes the solution to the Promises exercise while also setting up and solving a bonus question.