Frontend Guide Material by Arun M
Frontend Guide Material by Arun M
Frontend Guide Material by Arun M
Most FrontEnd Interviews are categorized in these 3 buckets - JavaScript Round, Machine
Coding Round, UI Tech Round
A. JavaScript Round
There would be Conceptual Based, Output Based, Implementation Based (like Polyfills)
Questions.
For Conceptual Based, oral discussion of core concepts. Important concepts to learn are,
- Execution Context
- Lexical Scoping
- Hoisting
- Closures
- Asynchronous - Promises, Callbacks (used in Web APIs like setTimeout & setInterval),
Async/Await
- Event Loop, Callback Queue vs Microtask Queue
- ‘this’ keyword
- Prototypes, __proto__, Prototypal Chaining (Advanced, but good to know)
For conceptual questions, the way you answer matters a lot. For example, you need to know
the subtle differences between Lexical Scope & Closures which also involves how better you
understand Execution Context since these concepts behave with respect to it.
Simple things inES6 syntax, like the difference between let vs var or the arrow functions with
‘this’ keyword can also confuse. You need to be aware of how hoisting works, understanding of
scopes, Temporal Dead Zone, ‘this’ works.
For Output Based, Questions will be shared for which you’ve to think & dry-run & answer with
the proper conceptual reasoning (this is expected by default).
If you’re strong with the above concepts, you might not need to practice 100s of questions, you
can just apply the concept & answer (It’s that simple). Most Output Questions are subset of
above concepts, although something to focus are,
- Closures
- Asynchronous based on SetTimeout SetInterval, Promises, Async/Await
- ’this’ keyword
For Output questions, many concepts can overlap together in a single question. You need to
have a sound understanding of concepts so that you can decode what’s happening at each line
of code execution.
For Implementation Based, Interviewer will ask you to implement a certain polyfill or a
functionality or any JS task like Array, String, Object Manipulation. Some of the common
implementation based questions could be,
- Polyfills of Promise.all, Promise.any, Promise.race, Promise.finally, Bind, setInterval,..
- Debouncing/Throttling
- Flatten Array/Flatten Object
- ‘N’ Async Tasks in Series, Parallel
- Traversing Nested Array/Objects
I call this a typical problem solving round in Frontend Interviews. Since those implementation
utilities are no less than a problem. Here, the interviewer judges your javascript capabilities,
how better you are with implementing in Javascript, how better you understand the language &
its behavior.
There’s no one solution to implementation based questions, it’s all about whether your solution
sticks to the expected output. WHen you’re stuck try to keep discussing the approach with your
Interviewer in each step. Mostly they would help you out guiding in the right direction or
suggesting other approaches or point out where you would go wrong.
Again, this won't be a typical Leetcode style problem, so relax!! It’s going to be purely Javascript
oriented where you write some code to implement that working functionality. Neither would it be
that complex in terms of thinking, you just need to give time on how to approach & implement
using the concepts.
Most of the time the questions would involve asynchronous (Promises, callbacks, async/await),
setTimeout, setInterval, closures, concepts heavily. Make sure you’ve good understanding of
those concepts on how it works & implement it.
If you’re still worried about DSA, and want to play safe. Then in the Frontend domain,
Recursion & Trees are some important concepts you can focus on. Since the classical
DFS/BFS would be common in object .
- Resource 4 is paid but you can find great courses with amazing JavaScript Knowledge, yet
you can access it completely FREE for 6 months, refer this video or this Page.
Resources for Engineering Manager Round (Technical Preparation) - MDN Docs, React
Docs,
- Focus on applying the concepts you learned like Closures, Promises, Flexbox in your
projects.
👉
- Consider building projects of these categories,
👉
JS Based Projects like Web Scraping, Web Automation, Web Files management.
Vanilla JS Based Projects like Algorithm Visualizer, Tree Visualizer, Snake Game,
👉
Sheets Clone.
React Based Projects like Medium Clone, YouTube Clone. Build your own small
features on top of these Clone Projects.
👉
Resources for Projects
👉
Ultimate CSS Skills - Resource 1, Resource 2
👉
Vanilla JS Projects - Resource, One Stop Frontend Projects
React Projects - Resource 1, Resource 2, Resource 3
- If you’re looking for the projects, then my One Stop Frontend Projects 🔥 is the
only course you’ll need to stand out from the crowd. Build 3 Frontend intensive capstone
projects with me. The content you’ll never see in any Youtube channel, or EdTech
courses charging even lakhs of rupees. (I can bet on this 😄). Checkout from the above
link.
👉 React Performance
- Github Code Link
👉 React Suspense
- Github Code Link
- Github Code Link
👉 JS Design Patterns, React Rendering Patterns, Performance Patterns for FREE - Patterns.dev
👉 Learn Frontend Tech in structures tutorial format, any new Frontend Tech, build mini projects
for hands on - Dave Gray, Jack Herrington
anything onFrontEnd 🔥🚀
Finally, attaching a link for all FrontEnd Resources so that you can access & learn
Resume Preparation
5. Avoid two column resume templates. Difficult for reading or parsing by ATS .
Example
6. Upload resume in Google drive, and share link. Shows a nice little preview
wherever you share - LinkedIn, Email.
9. Ordering of Sections for Students - Internship (If any), Projects, Technical Skills,
Achievements, Education (Mention CGPA if good)
10. Try to fill your resume, but don’t fill it with unwanted details like
Extra-Curricular, hobbies,.. Try to stick with Technical details.
11. Make it easier for Recruiter, ATS to read on with Keywords as in Job Description,
Tech Stack, Bold highlights, Data Points (If any, a bit of fake also works because
no one really checks, but keep it practical).
12. Make your resume sound Technically Heavy. Most HRs don’t understand
Technical things but the Technical words you use have a positive impact (even
for Referrals). Resume is a game of word play.
1. Connect with at least 50+ people from a company. Example, If you want a
referral for Swiggy, Flipkart then connect with 40+ people who work as Software
Engineers at those Companies so you can ask for Referrals & 10+ Tech
Recruiters of those companies to be aware of opportunities.
2. Not everyone will accept Connection Requests. You need a strategy to increase
your conversion rate for acceptance of Connection Requests. Basically have a
common Personalized Note which works for everyone.
6. Make sure your Referral message Headline describes what you’re up to. Since
the headline decides whether the Referrer would be interested to open & read
your message. The Initial 4-5 words of your message are so critical to get
you referred.
7. Also, if there is no reply don’t just leave. Instead make a follow up to the Referrer
again in 2 days with a soft note of your referral process. They’re working
professionals, they might forget, and have some personal work. So, don’t forget
to make up a follow up process.
8. You also need to update your profile professionally, to give the Referrers the
confidence to refer you. Remember, on LinkedIn, your LinkedIn Profile is the
first resume. You can refer to mine or some others of your field as well whom
you admire.
9. Build credibility, make yourself visible on LinkedIn. Basically post short content
on LinkedIn of what you know, you learn. Don’t fear posting, good or bad just
start, because people refer to your LinkedIn Profile first. Likes don't matter, but
what matters is people will recognize your activity. Engage with some valuable
😝
comments on other’s posts. Posting content should not be that difficult in this era
ChatGPT