Frontend Interview Preparation
Tags: faang, frontend, javascript, interview
Published: 2024-05-18 10:12:51

Just started my interview preparation for MAANG companies. I am going through lots of blogs and articles to list down topics which are important for interview preparation. 

Although this is my first post, I have never thought of writing any articles/blogs. But this will be a journey, where I can express my learnings. I have enrolled to some of Udemy courses to brush up my skills.

Udemy Courses -
1. [Master the Coding Interview: Big Tech (FAANG) Interviews
](https://www.udemy.com/share/103J3E3@lGhe63tthzCjlbb_qrv4o1bpyduzGIj2QQvz6y5dj_RKPjcxkqhXfwkuq9R-kptP/)
2. [Master the Coding Interview: Data Structures + Algorithms
](https://www.udemy.com/share/101qSq3@qs7_Kw29fppho2ZPqqqPPUZPhldtfQIcc97j5Nkgf54PcJY3SWNXwdBurXDTCcUg/)
3. [
JavaScript Data Structures & Algorithms + LEETCODE Exercises
](https://www.udemy.com/share/104pm23@vqJrOf7cOYPvBDRPTCb42_KIGgvCE9B88RcqiVQdQLOmHeSeV631FIBXb3ab9mLa/)

Don't go for all courses at once, go for one or two, please checkout the sample video before enrolling to courses. These courses are not expensive as I have waited for price drop and single course cost me INR 500 only. 

_Please don't be impulsive, buy only if you have interest in it._

![Finding image](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6lj4r65lkbag8jjuo7b8.jpg)
Here are some of my findings - 

**WEB Concepts**

1. CRP (critical rendering path).
2. Debouncing/Throttling
3. Event Delegation/Bubbling.
4. Bundle Splitting
5. Preload, Pre connect, Prefetch, Prerender.
6. Web Workers
7. HTTP2
8. Etag/Cache-Control Response Header
9. Document Fragment.
10. Reflow.
11. Image compression.
12. Memory Leak.

**WEB Security**

1. Transfer-encoding
2. Same origin policy
3. Access-Control-Allow-Origin
4. CORS
5. Content Security Policy.
6. CSRF
7. Referrer-Policy
8. Inner HTML
9. X-XSS Protection
10. X-Frame Options

**COMPONENTS**

1. Image Carousel
2. Star Component (REVIEW 5 STAR)
3. Comment Section
4. Pagination
5. Search Bar.
6. Accordion.
7. Navbar.

**Other Topics**
1. Web Components
2. PWA (Progressive Web Apps)
3. Micro frontend.
4. Typescript.

## Interview Preparation

- [Frontend Interviews](https://www.greatfrontend.com/)
- [Front-end-Developer-Interview-Questions](https://github.com/h5bp/Front-end-Developer-Interview-Questions/blob/main/src/questions/javascript-questions.md)

## Important Links 

- [Web development](https://web.dev/learn)
- [JavaScript](javascript.info)
- [Web Security etc.](https://developer.mozilla.org/en-US/docs/Web/Security)
- [You-Dont-Know-JS](https://github.com/getify/You-Dont-Know-JS)
- [Funny & Tricky JS questions](https://github.com/denysdovhan/wtfjs)
- [10-javascript-design-patterns](https://blog.bitsrc.io/10-javascript-design-patterns-3087d1dda5b4)
- [clean-code-javascript](https://github.com/ryanmcdermott/clean-code-javascript)
- [system-design](https://www.greatfrontend.com/system-design)

One book which is recommended by one of my friend from Google for System Design is:
[Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems](https://amzn.in/d/073PjfwU)


Apart from this DSA is very important to brush up your coding skill I will suggest start coding on Leet code. Adding some questions to start with - 

**Coding Websites**
[Leetcode](https://leetcode.com/)
[Frontend](https://www.greatfrontend.com/prepare)

**DSA Questions**

## Array

1. [Majority Element](https://leetcode.com/problems/majority-element/description/)
2. [Contains Duplicate](https://leetcode.com/problems/contains-duplicate/description/)
3. [Contains Duplicate II](https://leetcode.com/problems/contains-duplicate-ii/description/)
4. [Summary Ranges](https://leetcode.com/problems/summary-ranges/description/)

## Linked List
1. [linked-list-cycle](https://leetcode.com/problems/linked-list-cycle/description/)
2. [Merge Two Sorted Lists](https://leetcode.com/problems/merge-two-sorted-lists/description/)
3. [Remove Duplicates from Sorted List](https://leetcode.com/problems/remove-duplicates-from-sorted-list/description/)
4. [Intersection of Two Linked Lists](https://leetcode.com/problems/intersection-of-two-linked-lists/description/)

All the above leet code questions are solved from my end, I hope you will also try the same. If you can't solve it no problem. Learn it and try again. Never give up.

These are my findings, but I know this is not enough for interview preparation for tier 1 companies. But it's just the beginning, I will continue to update the topics and also share the interview process. Feel free to comment if anything goes missed from my end. 

> Always remember, your career is a marathon, not a sprint.