DEV Community

Ajay Kumar Jha
Ajay Kumar Jha

Posted on

FE interview

web fundamentals

  • List a few optimization techniques with which we can improve the load time of a website. Image Optimization(WebP instead of JPEG or PNG), Minification and Concatenation(Minify CSS, JavaScript, and HTML files to reduce file sizes by removing unnecessary characters), Browser Caching, Reduce Server Response Time, Reduce HTTP Requests, Optimize Web Fonts
  • What is Server Side Rendering?
  • difference between ssr and csr and when to preferred ssr vs csr
  • what is websocket
  • What are content delivery networks? A Content Delivery Network (CDN) is a system of distributed servers that work together to deliver web content, such as images, videos, scripts, and stylesheets, to users more efficiently. The primary goal of a CDN is to improve the performance, reliability, and speed of delivering content to users across different geographic locations.
  • What is the difference between authentication and authorization? Authentication verifies the identity of a person or device, at the same time as authorization determines their access rights and permissions.
  • What is a minification of code and why should we use it? Minification of code is the process of removing all unnecessary characters (spaces, line breaks, comments) from the source code of web applications without changing its functionality, why should we use it - Reduced File Size, Improved Performance and SEO Benefits.
  • difference between local storage and session storage
  • what is cookies and What are cookies used for Cookies are small pieces of text sent to browser by a web app. They contain data that can be used by the web app to remember information about your visit, such as your preferences or login status
  • difference between flex and grid
  • difference between display none and visibility hidden display none completely removes the element from the webpage layout
  • what is box model in css
  • what is SPA
  • what are semantic tags A semantic element clearly describes its meaning to both the browser and the developer
  • difference between inline and block elements
  • difference between position fixed and sticky
  • what is box sizing
  • what is z index in css
  • what is Frontend Build Tools webpack

Js

  • what are the data types in javascript Primitive Data Types and Non-Primitive (Reference) Data Types
  • why javascript is dynamically typed language JavaScript is a dynamic language and not static, cause variables can hold values of different types during runtime.
  • what is microtask Microtask Queue is like the Callback Queue, but Microtask Queue has higher priority. All the callback functions coming through Promises and Mutation Observer will go inside the Microtask Queue. For example, in the case of .fetch(), the callback function gets to the Microtask Queue.
  • memoization debouncing and throttling Memoization is the technique storing the result so we can use it next time instead of calculating the same thing again and again. Debouncing ensures that a function is not called too frequently we can delay its execution time Use Case: Search Input (300 milliseconds) Throttling makes sure that a function is only run once during a set period of time (interval), no matter how many times an event happens Use Case: Scrolling (200 milliseconds)
  • what is closure and lexical scope , explain via writing code closure is the combination of lexical scope and local scope of inner function. Lexical Scope defines that inner functions can access the scope of parent functions even if they has returned.
  • what is currying in javascript Currying is a functional programming technique where a function with multiple arguments is transformed into a single argument like a series.
  • event loop
  • what is difference between normal function and arrow function Arrow functions use the "fat arrow" syntax (=>) to create a concise way to write functions. Arrow functions do not create their own this binding Arrow functions cannot be used as constructors Hoisting canโ€™t be achieved by using arrow function
  • what is Higher-order function
  • what is hoisting
  • what is tdz in javascript
  • diff bt var and let
  • what is event delegation and bubbling
  • diff bt sync and Async
  • what is callback hell
  • what is promise
  • what are the states of promises
  • what is promise chaining
  • what is async and await in JavaScript
  • ๐€๐ฌ๐ฒ๐ง๐œ/๐ƒ๐ž๐Ÿ๐ž๐ซ
  • ๐๐จ๐ฅ๐ฒ๐Ÿ๐ข๐ฅ๐ฅ
  • ๐‚๐Ž๐‘๐’
  • what is event delegation and event bubbling
  • https://gist.github.com/ajayjhaDev/eef4d139120acb6c69c64fa4a9be1ceb

React

go to oops class methods and all
chaining
diff prototype proto
typescript questions
position all properties explain
box sizing
css selector preference CSS Specificity hierarchy
what is pseudo selector in css
this keyword in javascript
this keyword refers to different objects depending upon context of the code
bind call apply
call(): Invokes the function immediately with arguments passed individually.
apply(): Invokes the function immediately with arguments passed as an array.
bind(): Returns a new function with bound this context and arguments, but doesn't invoke it immediately.
useRef createRef
fiber
webworkers
controlled and uncontrolled
useMemo usecallback
diff b/w shallow dom and virtual dom
heapMemory
How do you handle memory leaks in JavaScript applications?
diff b/w deep copy and shallow copy
Shallow Copy stores the references of objects or array values to the original memory address.
whereas Deep copy stores copies of the objectโ€™s or array values.
currying
What is CORS error
Doctype in html meta tags and their attributes
How to optimize react build

calculator.add(3).substract(5).multiply(6).getResult()

  1. Javascript
  2. Machine Coding / React
  3. DSA
  4. System design
  5. Managerial Round

๐ŸŒฒ Javascript (around 45-60 min)

๐Ÿ„ Design patterns like singleton, factory patterns etc
๐Ÿ„ Implement the publisher-subscriber pattern in javascript
๐Ÿ„ Implement the map, filter, reduce, and for Each polyfill
๐Ÿ„ Implement the Function.bind, call, apply method on the Function Prototype
๐Ÿ„ Implement Async. parallel, Async.series which executes a set of async tasks parallel and in series
๐Ÿ„ Implement Retry API with n number of
๐Ÿ„ Prototype and prototype inheritance
๐Ÿ„ How rendering work in the browser
๐Ÿ„ Event delegation and event propagation in js
๐Ÿ„ Implement Memoization
๐Ÿ„ Progressive Web application
๐Ÿ„ Clone an Object
๐Ÿ„ Debouncing and Throttling
๐Ÿ„ Implement clearAllTimeout()
๐Ÿ„ Build a Promise from Scratch
๐Ÿ„ Event Target โ€” addEventListener, removeEventListener, dispatchEvent
๐Ÿ„ Intersection Observe

๐ŸŒด Implement a function to flatten a nested array (recursive and iterative)

๐ŸŒด Promises ( polyfill of Promise all, race, allSettle )

๐ŸŒด Implement the publisher-subscriber pattern

๐ŸŒด Implement Async. parallel, Async.series which executes a set of async tasks parallel and in series

๐ŸŒด Currying with examples and deep clone an Object

๐ŸŒด Debouncing, Throttling and Implementing โ€œthatโ€ Retry API

๐ŸŒด Memorization and how rendering works in a browser

๐ŸŒฒ React/Machine coding (around 60-120min)

๐Ÿ‘‰ Introduction JSX
๐Ÿ‘‰ React Component
๐Ÿ‘‰ Component State and Props
๐Ÿ‘‰ Adding Style (CSS)
๐Ÿ‘‰ Functional and Class components
๐Ÿ‘‰ React Lifecycle Methods
๐Ÿ‘‰ Virtual DOM
๐Ÿ‘‰ React Hooks
๐Ÿ‘‰ Custom Hooks
๐Ÿ‘‰ Context API
๐Ÿ‘‰ Synthetic Events
๐Ÿ‘‰ Routing
๐Ÿ‘‰ Data Flow (Redux/Flux)
๐Ÿ‘‰ Server-Side Rendering
๐Ÿ‘‰ Unit Testing
๐Ÿ‘‰ Jest & React Testing library
๐Ÿ‘‰ Mocking Data
๐Ÿ‘‰ Understanding Webpack (Bundler)
๐Ÿ‘‰ Babel, env, prettier, linter

๐ŸŒฒ Machine Coding

๐Ÿ’โ€โ™‚๏ธ Star Rating
๐Ÿ’โ€โ™‚๏ธ Design Pop Over
๐Ÿ’โ€โ™‚๏ธ Design Accordion
๐Ÿ’โ€โ™‚๏ธ Design Carousel
๐Ÿ’โ€โ™‚๏ธ Design grid using HTML/CSS and Javascript with search and sort, event bubbling (Amazon onsite)
๐Ÿ’โ€โ™‚๏ธ Design NavBar
๐Ÿ’โ€โ™‚๏ธ Infinite Scroll
๐Ÿ’โ€โ™‚๏ธ Typeahead / autocomplete using trie
๐Ÿ’โ€โ™‚๏ธ Implement Debounce function
๐Ÿ’โ€โ™‚๏ธ Implement tic tac toe
๐Ÿ’โ€โ™‚๏ธ Make snake ladder board
๐Ÿ’โ€โ™‚๏ธ Make calendar of any Month like Date Picker
๐Ÿ’โ€โ™‚๏ธ Implement throttle function ect

๐ŸŒฒ System design (around 45-60 min)

๐ŸŒณ Component-Based Architecture
๐ŸŒณ State Management
๐ŸŒณ Performance Optimization
๐ŸŒณ Scalability and Maintainability
๐ŸŒณ PWA
๐ŸŒณ CDN
๐ŸŒณ Security

๐ŸŒฒ Managerial Round (around 45-60 min)

๐Ÿ‘‰ Previous Experience
๐Ÿ‘‰ Problem Solving
๐Ÿ‘‰ Principle

๐‰๐š๐ฏ๐š๐’๐œ๐ซ๐ข๐ฉ๐ญ

  1. Variables and Data Types
  2. Control Flow (if statements, loops)
  3. Functions and Scope
  4. Arrays and Objects
  5. Promises and Asynchronous Programming
  6. Closures
  7. Event Handling
  8. AJAX and Fetch API
  9. Error Handling
  10. ES6+ Features (e.g., arrow functions, destructuring)
  11. Prototypes and Inheritance
  12. Modules and Module Bundlers (e.g., CommonJS, ES modules)

๐‘๐ž๐š๐œ๐ญ

  1. JSX (JavaScript XML)
  2. Components and Props
  3. State and Lifecycle
  4. Handling Events in React
  5. Conditional Rendering
  6. Lists and Keys
  7. Forms in React
  8. React Hooks
  9. Context API
  10. Lifecycle Methods
  11. React Router
  12. Redux (State Management)
  13. Higher-Order Components (HOCs)
  14. Testing in React (e.g., Jest and React Testing Library)
  15. React Performance Optimization

๐๐ž๐ญ๐ฐ๐จ๐ซ๐ค๐ข๐ง๐ 

  1. Content Delivery Networks (CDNs)
  2. Domain Sharding
  3. HTTP/2 and HTTP/3 Protocols
  4. Latency and Bandwidth Optimization

๐๐ž๐ซ๐Ÿ๐จ๐ซ๐ฆ๐š๐ง๐œ๐ž ๐š๐ง๐ ๐จ๐ฉ๐ญ๐ข๐ฆ๐ข๐ณ๐š๐ญ๐ข๐จ๐ง

  1. Critical Rendering Path
  2. Minification and Compression
  3. Image Optimization Techniques
  4. Asynchronous Loading Strategies (e.g., defer, async)

๐’๐ฒ๐ฌ๐ญ๐ž๐ฆ ๐ƒ๐ž๐ฌ๐ข๐ ๐ง

  1. Scalability considerations
  2. Modular and component-based architecture
  3. Efficient data fetching and caching strategies
  4. Responsive and mobile-friendly design
  5. Load balancing and CDN integration

๐ŸŒดJavaScript fundamentals

โ†’ How does the โ€˜thisโ€™ work in different scenarios?
โ†’ Closure and Hoisting
โ†’ How rendering works in the browser and networking concepts?

๐ŸŒด Asynchronous Programming

โ†’ Implement the โ€˜Function.bind,โ€™ โ€˜call,โ€™ and โ€˜applyโ€™ methods on the Function Prototype
โ†’ Implement โ€˜Async.parallelโ€™ and โ€˜Async.seriesโ€™ to execute a set of asynchronous tasks in parallel and in series

๐ŸŒด DOM Manipulation

โ†’ How would you approach handling a large number of DOM updates efficiently?
โ†’ What is an event delegation and why is it useful?

๐ŸŒด Performance Optimization

โ†’ How do you handle memory leaks in JavaScript applications?
โ†’ What are some ways to improve the performance of a web application?

๐ŸŒด Advanced Topics

โ†’ Design patterns (singleton, pubsub, factory method), progressive web application and security patterns

๐Ÿ„ Promises ( polyfill of Promise all, race, allSettle )
๐Ÿ„ Currying with example
๐Ÿ„ String.prototype.repeat
๐Ÿ„ Implement the compose() and pipe() polyfill .
๐Ÿ„ Design patterns like singleton, factory patterns etc
๐Ÿ„ Implement the publisher-subscriber pattern in javascript
๐Ÿ„ Implement the map, filter, reduce, and for Each polyfill
๐Ÿ„ Implement the Function.bind, call, and apply method on the Function Prototype
๐Ÿ„ Implement Async. parallel, Async.series which executes a set of async tasks parallel and in series
๐Ÿ„ Implement thet Retry API
๐Ÿ„ Prototype and prototype inheritance
๐Ÿ„ How rendering work in the browser
๐Ÿ„ Event delegation and event propagation in js
๐Ÿ„ Implement Memoization
๐Ÿ„ Progressive Web application
๐Ÿ„ Clone an Object
๐Ÿ„ Debouncing and Throttling
๐Ÿ„ Implement clearAllTimeout()
๐Ÿ„ Build a Promise from Scratch
๐Ÿ„ How does JS "this" works in different scenarios?
๐Ÿ„ Implement a function to flatten a nested array
๐Ÿ„ Implement an LRU Cache

Here's my Amazon Frontend Engineer II interview experience to help you!

๐ŸŒด Assessment Round:
I got the assignment via e-mail and completed it on the same day. It was primarily a machine coding round.

๐ŸŒด Managerial Round:
This round was around past projects and leadership principles.

๐ŸŒด Coding Round 1:
It was focused on vanilla JS and CRUD operations on searching and sorting. It also included core concepts of js.

๐ŸŒด Coding round 2:
Here I was asked DSA recursion and backtracking based questions similar to file management system in linux.

๐ŸŒด System Design Round:
I had to design a web application focusing on scalability optimization, DOM manipulation and accessibility.

๐‘๐ž๐š๐œ๐ญ๐‰๐’ has been extremely in demand for some years and feels like it will continue to be in demand. ๐Ÿ’ฒ๐Ÿ’ฒ

Here is step by step roadmap ๐Ÿ‘‡๐Ÿป

๐Ÿ.๐‚๐จ๐ฆ๐ฉ๐จ๐ง๐ž๐ง๐ญ๐ฌ
โ€ข Functional Components
โ€ข Class Components
โ€ข JSX (JavaScript XML) Syntax

๐Ÿ.๐๐ซ๐จ๐ฉ๐ฌ (๐๐ซ๐จ๐ฉ๐ž๐ซ๐ญ๐ข๐ž๐ฌ)
โ€ข Passing Props
โ€ข Default Props
โ€ข Prop Types

๐Ÿ‘.๐’๐ญ๐š๐ญ๐ž
โ€ข useState Hook
โ€ข Class Component State
โ€ข Immutable State

๐Ÿ’.๐‹๐ข๐Ÿ๐ž๐œ๐ฒ๐œ๐ฅ๐ž ๐Œ๐ž๐ญ๐ก๐จ๐๐ฌ (๐‚๐ฅ๐š๐ฌ๐ฌ ๐‚๐จ๐ฆ๐ฉ๐จ๐ง๐ž๐ง๐ญ๐ฌ)
โ€ข componentDidMount
โ€ข componentDidUpdate
โ€ข componentWillUnmount

๐Ÿ“.๐‡๐จ๐จ๐ค๐ฌ (๐…๐ฎ๐ง๐œ๐ญ๐ข๐จ๐ง๐š๐ฅ ๐‚๐จ๐ฆ๐ฉ๐จ๐ง๐ž๐ง๐ญ๐ฌ)
โ€ข useState
โ€ข useEffect
โ€ข useContext
โ€ข useReducer
โ€ข useCallback
โ€ข useMemo
โ€ข useRef
โ€ข useImperativeHandle
โ€ข useLayoutEffect

๐Ÿ”.๐„๐ฏ๐ž๐ง๐ญ ๐‡๐š๐ง๐๐ฅ๐ข๐ง๐ 
โ€ข Handling Events in Functional Components
โ€ข Handling Events in Class Components

๐Ÿ•.๐‚๐จ๐ง๐๐ข๐ญ๐ข๐จ๐ง๐š๐ฅ ๐‘๐ž๐ง๐๐ž๐ซ๐ข๐ง๐ 
โ€ข if Statements
โ€ข Ternary Operators
โ€ข Logical && Operator

๐Ÿ–.๐‹๐ข๐ฌ๐ญ๐ฌ ๐š๐ง๐ ๐Š๐ž๐ฒ๐ฌ
โ€ข Rendering Lists
โ€ข Keys in React Lists

๐Ÿ—.๐‚๐จ๐ฆ๐ฉ๐จ๐ง๐ž๐ง๐ญ ๐‚๐จ๐ฆ๐ฉ๐จ๐ฌ๐ข๐ญ๐ข๐จ๐ง
โ€ข Reusing Components
โ€ข Children Props
โ€ข Composition vs Inheritance

๐Ÿ๐ŸŽ.๐‡๐ข๐ ๐ก๐ž๐ซ-๐Ž๐ซ๐๐ž๐ซ ๐‚๐จ๐ฆ๐ฉ๐จ๐ง๐ž๐ง๐ญ๐ฌ (๐‡๐Ž๐‚)
โ€ข Creating HOCs
โ€ข Using HOCs for Reusability

๐Ÿ๐Ÿ.๐‘๐ž๐ง๐๐ž๐ซ ๐๐ซ๐จ๐ฉ๐ฌ
โ€ข Using Render Props Pattern

๐Ÿ๐Ÿ.๐‘๐ž๐š๐œ๐ญ ๐‘๐จ๐ฎ๐ญ๐ž๐ซ
โ€ข
โ€ข
โ€ข
โ€ข
โ€ข Route Parameters

๐Ÿ๐Ÿ‘.๐๐š๐ฏ๐ข๐ ๐š๐ญ๐ข๐จ๐ง
โ€ข useHistory Hook
โ€ข useLocation Hook

๐’๐ญ๐š๐ญ๐ž ๐Œ๐š๐ง๐š๐ ๐ž๐ฆ๐ž๐ง๐ญ

๐Ÿ๐Ÿ’.๐‚๐จ๐ง๐ญ๐ž๐ฑ๐ญ ๐€๐๐ˆ
โ€ข Creating Context
โ€ข useContext Hook

๐Ÿ๐Ÿ“.๐‘๐ž๐๐ฎ๐ฑ
โ€ข Actions
โ€ข Reducers
โ€ข Store
โ€ข connect Function (React-Redux)

๐Ÿ๐Ÿ”.๐…๐จ๐ซ๐ฆ๐ฌ
โ€ข Handling Form Data
โ€ข Controlled Components
โ€ข Uncontrolled Components

๐Ÿ๐Ÿ•.๐’๐ข๐๐ž ๐„๐Ÿ๐Ÿ๐ž๐œ๐ญ๐ฌ
โ€ข useEffect for Data Fetching
โ€ข useEffect Cleanup

๐Ÿ๐Ÿ–.๐€๐‰๐€๐— ๐‘๐ž๐ช๐ฎ๐ž๐ฌ๐ญ๐ฌ
โ€ข Fetch API
โ€ข Axios Library

๐„๐ซ๐ซ๐จ๐ซ ๐‡๐š๐ง๐๐ฅ๐ข๐ง๐ 

๐Ÿ๐Ÿ—.๐„๐ซ๐ซ๐จ๐ซ ๐๐จ๐ฎ๐ง๐๐š๐ซ๐ข๐ž๐ฌ
โ€ข componentDidCatch (Class Components)
โ€ข ErrorBoundary Component (Functional
Components)

๐Ÿ๐ŸŽ.๐“๐ž๐ฌ๐ญ๐ข๐ง๐ 
โ€ข Jest Testing Framework
โ€ข React Testing Library

๐Ÿ๐Ÿ.๐Ž๐ฉ๐ญ๐ข๐ฆ๐ข๐ณ๐š๐ญ๐ข๐จ๐ง
โ€ข Memoization
โ€ข Profiling and Performance Monitoring

๐Ÿ๐Ÿ. ๐๐ฎ๐ข๐ฅ๐ ๐š๐ง๐ ๐ƒ๐ž๐ฉ๐ฅ๐จ๐ฒ๐ฆ๐ž๐ง๐ญ
โ€ข Create React App (CRA)
โ€ข Production Builds
โ€ข Deployment Strategies

๐…๐ซ๐š๐ฆ๐ž๐ฐ๐จ๐ซ๐ค๐ฌ ๐š๐ง๐ ๐‹๐ข๐›๐ซ๐š๐ซ๐ข๐ž๐ฌ

๐Ÿ๐Ÿ‘.๐’๐ญ๐ฒ๐ฅ๐ข๐ง๐  ๐‹๐ข๐›๐ซ๐š๐ซ๐ข๐ž๐ฌ
โ€ข Styled-components
โ€ข CSS Modules

๐Ÿ๐Ÿ’.๐’๐ญ๐š๐ญ๐ž ๐Œ๐š๐ง๐š๐ ๐ž๐ฆ๐ž๐ง๐ญ ๐‹๐ข๐›๐ซ๐š๐ซ๐ข๐ž๐ฌ
โ€ข Redux
โ€ข MobX

๐Ÿ๐Ÿ”.๐‘๐จ๐ฎ๐ญ๐ข๐ง๐  ๐‹๐ข๐›๐ซ๐š๐ซ๐ข๐ž๐ฌ
โ€ข React Router
โ€ข Reach Router

  1. Program to find longest word in a given sentence ?
  2. How to check whether a string is palindrome or not ?
  3. Write a program to remove duplicates from an array ?
  4. Program to find Reverse of a string without using built-in method ?
  5. Find the max count of consecutive 1โ€™s in an array ?
  6. Find the factorial of given number ?
  7. Given 2 arrays that are sorted [0,3,4,31] and [4,6,30]. Merge them and sort [0,3,4,4,6,30,31] ?
  8. Create a function which will accepts two arrays arr1 and arr2. The function should return true if every value in arr1 has its corresponding value squared in array2. The frequency of values must be same.
  9. Given two strings. Find if one string can be formed by rearranging the letters of other string.
  10. Write logic to get unique objects from below array ? I/P: [{name: "sai"},{name:"Nang"},{name: "sai"},{name:"Nang"},{name: "111111"}]; O/P: [{name: "sai"},{name:"Nang"}{name: "111111"}
  11. Write a JavaScript program to find the maximum number in an array.
  12. Write a JavaScript function that takes an array of numbers and returns a new array with only the even numbers.
  13. Write a JavaScript function to check if a given number is prime.
  14. Write a JavaScript program to find the largest element in a nested array. [[3, 4, 58], [709, 8, 9, [10, 11]], [111, 2]]
  15. Write a JavaScript function that returns the Fibonacci sequence up to a given number of terms.
  16. Given a string, write a javascript function to count the occurrences of each character in the string.
  17. Write a javascript function that sorts an array of numbers in ascending order.
  18. Write a javascript function that sorts an array of numbers in descending order.
  19. Write a javascript function that reverses the order of words in a sentence without using the built-in reverse() method.
  20. Implement a javascript function that flattens a nested array into a single-dimensional array.

<!--------------------------------------------------------------->

  1. Fundamentals: Start with the basics - variables, data types, and operators.
  2. Functions: Dive deep into functions, understanding scope, closures, and the 'this' keyword.
  3. ES6 Features: Get comfortable with arrow functions, destructuring, spread/rest operators, and template literals.
  4. Async JavaScriptโ€‹: Promises and async/await for handling asynchronous operations.
  5. DOM Manipulation: Know how to interact with the Document Object Model (DOM) effectively.
  6. Event Handling: Learn about event listeners, event delegation, and the event object.
  7. Prototypes and Classes: Understand JavaScript's prototypal inheritance and ES6 classes.
  8. Closures: Master this concept, as it's often tested in interviews.
  9. Module Systems: Explore CommonJS, AMD, and ES6 modules.
  10. AJAX and Fetch API: Learn how to make asynchronous HTTP requests.
  11. Design Patterns: Know the most common patterns like Singleton, Observer, and Module.
  12. JSON: Understand JSON parsing and stringify.
  13. Error Handling: Learn how to handle errors gracefully with try...catch.
  14. Data Structures: Arrays, objects, maps, and sets are essential.
  15. Functional Programming: Concepts like map, filter, and reduce are valuable.
  16. Build Tools: Grasp Webpack and Babel for bundling and transpiling.
  17. Testing: Explore testing frameworks like Jest and Mocha.
  18. Debugging: Proficiency with browser developer tools is a must.
  19. ESLint and Code Style: Adhere to clean code practices.
  20. Security: Understand common web security vulnerabilities (e.g., XSS, CSRF).
  21. Promises and Async/Await: Master asynchronous programming.
  22. Modern JavaScript Frameworks: Learn a popular framework like React, Angular, or Vue.js.
  23. Working with APIs: Know how to integrate external APIs into your applications.
  24. Documentation: Keep your code well-documented for clarity.
  25. Automation: Grasp task runners like Grunt and Gulp.
  26. Progressive Web Apps (PWAs): Understand PWA concepts and service workers.
  27. Web Performance: Optimize your code for speed and efficiency.
  1. ๐—๐—ฎ๐˜ƒ๐—ฎ๐—ฆ๐—ฐ๐—ฟ๐—ถ๐—ฝ๐˜ ๐—˜๐—ป๐—ด๐—ถ๐—ป๐—ฒ โ†ณ Understand the engine behind the code how it all works under the hood.
  2. ๐—–๐—ฎ๐—น๐—น ๐—ฆ๐˜๐—ฎ๐—ฐ๐—ธ & ๐— ๐—ฒ๐—บ๐—ผ๐—ฟ๐˜† ๐—›๐—ฒ๐—ฎ๐—ฝ โ†ณ Know where JavaScript stores data critical for memory management.
  3. ๐—˜๐˜…๐—ฒ๐—ฐ๐˜‚๐˜๐—ถ๐—ผ๐—ป ๐—–๐—ผ๐—ป๐˜๐—ฒ๐˜…๐˜ โ†ณ Grasp how JavaScript runs your code step-by-step.
  4. ๐—›๐—ผ๐—ถ๐˜€๐˜๐—ถ๐—ป๐—ด โ†ณ A must-know for working with variable and function declarations.
  5. ๐—–๐—น๐—ผ๐˜€๐˜‚๐—ฟ๐—ฒ๐˜€ & ๐—ฃ๐—ฟ๐—ผ๐˜๐—ผ๐˜๐˜†๐—ฝ๐—ฒ๐˜€ โ†ณ Understand scope, encapsulation, and how objects inherit methods.
  6. ๐—ข๐—ฏ๐—ท๐—ฒ๐—ฐ๐˜-๐—ข๐—ฟ๐—ถ๐—ฒ๐—ป๐˜๐—ฒ๐—ฑ ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ด (๐—ข๐—ข๐—ฃ) โ†ณ Build applications that scale and remain maintainable.
  7. ๐—™๐˜‚๐—ป๐—ฐ๐˜๐—ถ๐—ผ๐—ป๐—ฎ๐—น ๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ด (๐—™๐—ฃ) โ†ณ Embrace immutability, pure functions.
  8. ๐— ๐—ผ๐—ฑ๐˜‚๐—น๐—ฒ๐˜€ ๐—ถ๐—ป ๐—๐—ฎ๐˜ƒ๐—ฎ๐—ฆ๐—ฐ๐—ฟ๐—ถ๐—ฝ๐˜ โ†ณ Organise and reuse code like a pro.
  9. ๐—˜๐—ฟ๐—ฟ๐—ผ๐—ฟ ๐—›๐—ฎ๐—ป๐—ฑ๐—น๐—ถ๐—ป๐—ด โ†ณ Develop robust solutions with proper error management.
  10. ๐——๐—ฎ๐˜๐—ฎ ๐—ฆ๐˜๐—ฟ๐˜‚๐—ฐ๐˜๐˜‚๐—ฟ๐—ฒ๐˜€ & ๐—”๐—น๐—ด๐—ผ๐—ฟ๐—ถ๐˜๐—ต๐—บ๐˜€ โ†ณ Solidify your fundamentals to tackle technical interviews with confidence.
  1. What is React?
  2. What is useMemo ?
  3. What are the features of React ?
  4. What is JSX ?
  5. What is DOM ?
  6. What is Virtual Dom ?
  7. What is component life cycle of React class component ?
  8. What are fragments in react ?
  9. What are props in react ?
  10. What are synthetic events in react ?
  11. What are the difference between Package.json and Package.lock.json ?
  12. What are the differences between client side and server side rendering ?
  13. What is state in Reactjs?
  14. What are props ?
  15. What are the differences between State and Props in react ?
  16. What is props drilling ?
  17. What are the disadvantages of props drilling and How we can avoid props drilling ?
  18. What are Pure components in React ?
  19. Whatare Refโ€™s in React?
  20. What is meant by forward ref ?
  21. What are Error boundaries ?
  22. What are Higher order components in react ?
  23. What are the differences between controlled and uncontrolled components ?
  24. What is useCallback ?
  25. What are the differences between useMemo and useCallback ?
  26. What are keys in React ?
  27. What is Lazy loading in React ?
  28. What is suspense in React ?
  29. What are custom hooks ?
  30. What is useReducer hook ?
  31. What are Portals in react ?
  32. What is context in react ?
  33. Practical question: Give an example of context api usage ?
  34. What is the purpose of callback function as an argument of setState()?
  35. Practical question: create a custom hook for increment/decrement counter ?
  36. Which lifecycle hooks in class component are replaced with useEffect in functional components ?
  37. What is Strict mode in react ?
  38. What are the different ways to pass data from child component to parent component in react ?
  39. Practical question: How to send data from child to parent using callback functions ?
  40. Practical question: How to send the data from child component to parent using useRef ?

<!---------------------------------->

  1. What is the difference between 'Pass by Value' and 'Pass by Reference'?
  2. What is the difference between map and filter ?
  3. What is the difference between map() and forEach()
  4. What are the differences between call(), apply() and bind() ?
  5. List out some key features of ES6 ?
  6. Whatโ€™s the spread operator in javascript ?
  7. What is rest operator in javascript ?
  8. What is temporal dead zone ?
  9. What is a polyfill in javascript ?
  10. What is prototype in javascript ?
  11. What is IIFE ?
  12. What are the different datatypes in javascript ?
  13. What is authentication vs authorization ?
  14. Difference between null and undefined ?
  15. What is the output of 3+2+โ€7โ€ ?
  16. Slice vs Splice in javascript ?
  17. What is destructuring ?
  18. What is setTimeOut in javascript ?
  19. What is setInterval in javascript ?
  20. What are Promises in javascript ?
  21. What is a closure ?
  22. What are callbacks in javascript ?
  23. What are Higher Order Functions in javascript ?
  24. What is the difference between == and === in javascript ?
  25. What is Hoisting ?
  26. What are the differences let, var and const ?
  27. What are limitations of arrow functions?
  28. What is the difference between Shallow copy and deep copy ?
  29. What is event bubbling
  30. What is event capturing ?
  31. What is this in javascript and How it behaves in various scenarios ?
  32. How do you optimize the performance of application
  33. What is meant by debouncing and throttling?

Here are 32 questions most asked DSA questions that you should visit
If you are preparing to switch jobs.

  1. Reverse a linked list
  2. Find the middle element of a linked list
  3. Detect a cycle in a linked list
  4. Find the intersection point of two linked lists
  5. Check if a binary tree is a binary search tree (BST)
  6. Find the largest/smallest element in an array
  7. Implement depth-first search (DFS) on a graph
  8. Implement breadth-first search (BFS) on a graph
  9. Implement binary search in an array
  10. Find the kth smallest/largest element in an array
  11. Find the longest common subsequence of two strings
  12. Implement merge sort
  13. Implement quick sort
  14. Implement Dijkstra's algorithm for the shortest path
  15. Find the longest palindrome substring in a string
  16. Find the median of two sorted arrays
  17. Check if two strings are anagrams of each other
  18. Implement a trie (prefix tree)
  19. Implement an LRU (Least Recently Used) Cache
  20. Find all permutations of a string
  21. Implement a stack using arrays/linked list
  22. Implement a queue using arrays/linked list
  23. Implement a priority queue
  24. Implement Kruskal's algorithm for minimum spanning tree
  25. Implement Prim's algorithm for minimum spanning tree
  26. Count the number of inversions in an array
  27. Find the shortest path in a maze
  28. Find all subsets of a set
  29. Find the longest substring without repeating characters
  30. Implement the Knuthโ€“Morrisโ€“Pratt (KMP) algorithm for string matching
  31. Implement the Rabin-Karp algorithm for string matching
  32. Implement the Josephus Problem

Top comments (0)