This is my journey - how I started preparing for an Interviews. Initially, it seems confusing how and what to start actually. So, thought to make this guide. :)
Javascript
- Start from the basics. Brush up your
JS
well just to get started for a now
- Start from the basics. Brush up your
Data Structures
- Sorting
- Searching
- Binary tree
- Dynamic Programming
- Stack/Array/LinkedList
Coding Practice
- Now we know
JS
andDS
well. Time to apply these now. Start solving coding questions. Choose any of the online coding platform. One which I like is Leetcode
- Solve problems from easy then increase your level
- While solving problems, also look at solutions submitted by other users. You'll observe how optimised code others have written
- Keep doing this and increase your level
- Now we know
Javascript Advance
- Cover up
JS
in depth various topics. Refer my JS doc from Learning Links
- Cover up
Time Complexity
- Understand how to calculate time, space complexity
Polyfills
Recursion
- Understand how
Recursion
works. Try writing code in recursion as well as using loops whereever possible. This will give you better understanding
- Understand how
System Design
- Prepare for system design round. Refer my doc from Learning Links
Fundamentals
- Design Principles, Design Patterns
- Critical Rendering Path
- Event Loop. How it really works
- Cover up any library in which you are working already.
- Javascript
- Data Structures
- Time Complexity video1 video2
- Critical Rendering Path
- ReactJs
- System Design
- Design Principles, Patterns
- Dynamic Programming
- Concepts, Algos, Techniques
- Good to know
- Read blogs, watch youtube videos as much as you can. More you explore more you will get idea
- If you feel, that you are unable to prepare data structures on your own and going hard then go for a purchased courses online you will find like -
- Questions - Javascript
- Questions - Javascript
- Questions - ReactJs
- Questions - Everything!
- Questions - Javascript
- Category wise
- Tricky Code Snippets
- Cracking The Coding Interview Book
- Cracking The Code Process
- Coding Interview Preparation - Rohit Vaswani
- Follow
PEDAC
- understand theP
roblemE
xampleD
atastructureA
lgorithmC
ode. - Problem - Divide into parts
- Process the problem [PEDA]
- Code [C]
- PEDAC Guide
- Understand Problem
- Expected i/p and o/p
- discuss requirements clearly. Leave no room for confusion
- Example
- Understand problem with example, validate it once again
- Data Structure
- Which DS you will use - Array, Tree, List, Stack
- Which concept you can use to solve - Binary search, merge sort, DP, recursion, etc, read more here
- Algorithm
- English level understandable algo
- Code with Intent
- Implementation of algorithm
- Understand Problem
FLAG_problemDesc_algoUsed/TrickDesc
TR
Tricky way of solvingDP
Dynamic Programming
- Critical rendering path MyDoc
- Browser Rendering Optimizations
- React diffing
- create your own virtual dom
- closure
- polyfills
- hoisting clearly
- inner functions
- HOF
- trees problem and traversal
- design book reader
- polyfill for setState
- https://developers.google.com/web/fundamentals/primers/async-functions
- HTTP2
- Tree shaking
- Execution context stack
- RequestionAnimationframe / cancel
- RequestIdleCallback / cancel
- MVC / MVP / MVVM / ELM (high level)
- Function.prototype
- .valueOf
- A bit of test cases
- Heuristic approach of react diffing
- Your project understanding
- The most challenging task
- Functional programming adv.
- How costly is the dom painting (Google docs)