Skip to content

This contains an interview preparation guide for front-end web developers.

Notifications You must be signed in to change notification settings

nitin-jotwani/frontend-interview-preparation

Repository files navigation

Interview Preparation Guidelines & Sources

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. :)

How to start?

Part 1: Javascript + Data Structures + Alogorithm

  1. Javascript
    • Start from the basics. Brush up your JS well just to get started for a now
  2. Data Structures
    • Sorting
    • Searching
    • Binary tree
    • Dynamic Programming
    • Stack/Array/LinkedList
  3. Coding Practice
    • Now we know JS and DS well. Time to apply these now. Start solving coding questions. Choose any of the online coding platform. One which I like is Leetcode
    1. Solve problems from easy then increase your level
    2. While solving problems, also look at solutions submitted by other users. You'll observe how optimised code others have written
    3. Keep doing this and increase your level
  4. Javascript Advance
    • Cover up JS in depth various topics. Refer my JS doc from Learning Links
  5. Time Complexity
    • Understand how to calculate time, space complexity
  6. Polyfills
    • Try to create Polyfills on your own. Pick any function from lodash or ramda and try creating your's
  7. Recursion
    • Understand how Recursion works. Try writing code in recursion as well as using loops whereever possible. This will give you better understanding

Part 2: System Design + Fundamentals

  1. System Design
    • Prepare for system design round. Refer my doc from Learning Links
  2. Fundamentals
    • Design Principles, Design Patterns
    • Critical Rendering Path
    • Event Loop. How it really works

Part 3: React / Angular

  • Cover up any library in which you are working already.

Learning Links

Tips

  • 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 -

Some good YouTube links

Interview Questions

Coding Preparation

Before you start coding! Think hard, ask yourself -

  • Follow PEDAC - understand the Problem Example Datastructure Algorithm Code.
  • Problem - Divide into parts
    • Process the problem [PEDA]
    • Code [C]
  • PEDAC Guide
    1. Understand Problem
      • Expected i/p and o/p
      • discuss requirements clearly. Leave no room for confusion
    2. Example
      • Understand problem with example, validate it once again
    3. 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
    4. Algorithm
      • English level understandable algo
    5. Code with Intent
      • Implementation of algorithm

Naming Conventions

  • FLAG_problemDesc_algoUsed/TrickDesc

Flag

  • TR Tricky way of solving
  • DP Dynamic Programming

Topics & Links

  • 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)

About

This contains an interview preparation guide for front-end web developers.

Topics

Resources

Stars

Watchers

Forks