# Frequently asked MERN Interview questions As a MERN stack developer you must have a clear understanding of underlying language - JavaScript that is powering the technologies like Node, Express and React. Most interviewers will ask questions related to core JavaScript concepts first and then a few questions from frameworks or libraries like Express or React. You must have a firm grasp on Javascript Fundamental concepts like - ### Core JavaScript - Why Javascript ? - What are different data types in javascript ? - Explain hoisting in javascript. - Explain implicit and explicit coercion. - What is NaN in javascript ? - What are higher order functions? - What are IIFEs? - Difference between var, let and const. - Explain this keyword - Explain scope and closure with examples - What are promises in javascript? - Explain rest parameter and spread operator - What is an AJAX request? MERN stack questions will check your understanding about different technologies used to create a full stack application. They will ask you some web fundamental questions too, for example - ### Web Fundamentals - What is client side, server side architecture? - What is a request-response cycle? - What is DOM? - What is the role of HTML vs CSS? - What is a stateless protocol? - What is REST? Define REST principles. - What is CSRF? Here are few interview questions related to underlying technologies used in MERN stack listed technology wise:- ### Node/Express - What is Node.js? - Explain few features of Node.js? - What is event loop & how it manages tasks in Node.js? - What is blocking code? Give examples of blocking and non-blocking code. - List few libraries used underneath by node platform - Javascript is single threaded then how node handles concurrency? - What is callback hell & how to avoid this? - What are streams in node and how is it different from normal read operation? - What are EventEmitters in Node? Give example of an EventEmitter. - What is REPL in Node? - What are globals in Node? Give 2 examples - What is CORS issue and how to handle it? - How would you define API? - What are middlewares in expresss? Explain different types of middlewares - What is `next` function in express middlewares ? - What are templating engines ? How is it different from rendering HTML ? - What are JWT token ? Explain different parts of it - Explain JWT authentication - Difference between Session and Token based authentication ### MongoDB - Explain important features of MongoDB ? - How to insert multiple documents in mongoDB at once ? - What are indexes in mongoDB and how are they helpful ? - What is aggregation framework in mongoDB ? - What are associations in mongoDB ? - Explain different types of association with example. - What is the difference between associating and referencing ? - Explain text based index in mongoDB ? - What is replication in mongoDB ? - How to update array field in mongoDB ? - How to find multiple documents using an array of unique Ids ? - How to update integer values in mongoDB ? - What are the parameters passed to `update` method ? - Differentiate between relational and non-relational database. ### React - Why React ? - What is props in React? - What are pure components? - What are higher order components in React? - What is virtualDOM ? How is it helpful in React? - Explain lifecycle method and their sequence of execution? - What is prop drilling and how to avoid it? - What is key and benefit of using it in the lists? - Difference between smart ad dumb components - Dfference between functional and class component - What is the purpose of super(props)? - Why we bind event handlers to this? - Explain Context API in React? - Explain advanced hooks in React? The above questions should get you a pretty good idea on what you might be asked in a [MERN stack]('./ultimate-guide-to-MERN.md'), fullstack developer interview.