Top 5 resources to prepare for a FAANG interview as a Frontend Engineer
Tags: faang, career, javascript, beginners
Published: 2023-01-24 21:37:52

I want to share the most useful tips for a frontend interview at FAANG that helped me to get the job. I will focus specifically on my experience at Meta, but these tips can be applied to other FAANG companies as well. My goal is not to create a comprehensive guide on how to crack the interview, rather I want to provide actionable information that was most helpful for me in the process.

## Top 5 Resources

There are a lot of materials available online to help you prepare for the frontend interview. I found the following resources to be the most useful:

1. [BFE](https://bigfrontend.dev/) (leetcode alternative for JavaScript)
2. [Glassdoor](https://www.glassdoor.co.uk/metacareers) (feedback about an interview process in different companies)
3. [Pramp](https://www.pramp.com/) (interview mocks)
4. [Behavioral: Dan Croitor youtube](https://www.youtube.com/@DanCroitor/videos) (best behavioral interview videos)
5. **Cracking the coding interview** (book about interviews)

## Random tips

- **Tip #1:** forget about leetcode, use BFE
- **Tip #2:** deep dive into JavaScript stack
- **Tip #3:** solve as many tasks as you can
- **Tip #4:** follow HR guidance and ask questions


## Understand the structure of FAANG interview

It's really important to understand the structure of the interview. The frontend interview process typically follows the same structure as a usual software engineering interview:

###HR Call
The HR call is usually a simple phone conversation without video. During this call, the HR representative may ask you simple questions like,

>What is the difference between == and ===?

This call is an opportunity for HR to get to know you a bit better and to determine if you are a good fit for the company.

### Screening (1 session, 45 min)

The screening session is usually a 45-minute session where you will be given 1-2 easy or medium JS coding tasks to complete. This is an opportunity for the interviewer to assess your coding skills and to see how you approach a problem.

### Prep call
If you successfully complete the screening session, you will have a prep call with HR where you can ask any questions you have before the next interviews.

### Coding (2+ sessions, 45 min each)
The coding sessions are similar in format to the initial screening session, but the questions may be more challenging (medium or hard). During these sessions, the interviewer will assess your ability to write efficient and clean code. It's worth mentioning that in general software engineering interviews, you can choose your preferred language, but in frontend interviews, the tasks are usually JavaScript specific and require knowledge of JS APIs.

### System Design Interview (1-2 sessions, 45 min each)

The system design interview is an opportunity for the interviewer to assess your ability to design and implement scalable and performant frontend systems. You may be asked to design an application, component, or widget. However, you should focus on the frontend side of the implementation. For example, if you are asked to implement a search widget, you should explain how you will implement autocomplete for the search bar rather than focusing on choosing the right database and server.


### Behavioral Interview (1 session, 45 min)

The behavioral interview is not different from a usual software engineering interview. This is an opportunity for the interviewer to assess your communication skills and to see how you handle different situations.

## Conclusion

In conclusion, a frontend interview at a FAANG company follows a similar structure as a typical software engineering interview, but with a focus on JavaScript specific tasks. It's important to have a deep understanding of the JS stack and to be familiar with different frontend implementation techniques. In addition, it's also important to take the time to prepare and practice as many tasks as possible and follow the guidance of HR and ask questions during the interview process.