Filter interviews by
I applied via Approached by Company and was interviewed in Nov 2024. There were 2 interview rounds.
I am a passionate frontend developer with experience in HTML, CSS, and JavaScript.
Experienced in building responsive websites using HTML and CSS
Proficient in JavaScript for interactive web applications
Familiar with frontend frameworks like React and Angular
I have implemented various features in React such as state management, routing, API integration, and component lifecycle methods.
State management using useState and useReducer hooks
Routing with React Router
API integration with fetch or axios
Component lifecycle methods like componentDidMount and componentDidUpdate
I have used React versions 16 and 17 in my projects.
Used React 16 for a project that required class components and lifecycle methods
Currently using React 17 for a project that focuses on functional components and hooks
I have used libraries like React, Redux, Axios, and Moment.js for frontend development.
React
Redux
Axios
Moment.js
Yes, Redux does not have built-in persistence for state.
Redux itself does not have built-in persistence for state
Persisting state in Redux typically involves using middleware like redux-persist or saving state to local storage
Examples of persisting state in Redux include using redux-persist to save state to local storage or using cookies to store state
The output will be false because arrays are reference types and the comparison is based on reference, not values.
Arrays are reference types in JavaScript, so when comparing two arrays using ===, it checks if they refer to the same object in memory.
Since the two empty arrays [] are separate instances in memory, the comparison will result in false.
The code will output 'undefined' and then '10' in the console.
The variable 'a' is declared after the first console.log statement, so it will be undefined at that point.
The value of 'a' is assigned as 10 before the second console.log statement, so it will output 10.
States in React are passed down from parent components to child components using props.
States are passed down as props from parent components to child components
Parent components can pass states to child components using props
States can be updated in parent components and passed down to child components for re-rendering
useContext is a React hook for managing global state within a component tree, while Redux is a standalone state management library for React applications.
useContext is built into React and is used for managing local state within a component or passing data down through the component tree.
Redux is a separate library that allows for managing global state across the entire application, with actions and reducers to update ...
useSelector and useDispatch hooks are used in React Redux for accessing state and dispatching actions respectively.
useSelector hook is used to extract data from the Redux store state in a functional component.
useDispatch hook is used to dispatch actions to the Redux store in a functional component.
Example: const data = useSelector(state => state.data); dispatch(action());
Using useContext to implement increment and decrement feature in React
Create a context using createContext()
Define a provider component to wrap the components that need access to the context
Use useContext() hook in the components to access the context and update the state
Implement functions for increment and decrement within the context provider
We are currently using React version 17.0.2.
React version 17.0.2 is the latest stable version at the time of this interview.
It was released on March 22, 2021, and includes improvements like React Hooks, Concurrent Mode, and more.
We regularly update our dependencies to stay up-to-date with the latest features and improvements.
Debouncing and throttling are techniques used in web development to limit the number of times a function is called.
Debouncing delays the execution of a function until after a specified time has elapsed without any further calls. It is typically used for events like scroll or resize that can fire multiple times in a short period.
Throttling limits the rate at which a function is called. It ensures that the function is no...
TypeScript is used to add static typing to JavaScript, catching errors at compile time and improving code quality.
Provides static typing, catching errors at compile time
Improves code quality and maintainability
Supports modern JavaScript features like ES6+
Enhances code editor tooling and IntelliSense
Facilitates easier refactoring and code navigation
Redux passes states to components through the connect function provided by react-redux library.
Redux passes states to components by connecting the component to the Redux store using the connect function.
The connect function takes mapStateToProps as an argument, which maps the state from the Redux store to props of the component.
The connected component can then access the state from the Redux store as props.
Browsers use various storage options like cookies, local storage, session storage, and IndexedDB.
Cookies are small pieces of data stored in the browser that can be accessed by both the server and the client.
Local storage allows storing data without expiration date, and it remains even after the browser is closed.
Session storage is similar to local storage but data is cleared when the session ends.
IndexedDB is a low-lev...
Redux is a predictable state container for JavaScript apps.
Single source of truth: The state of your whole application is stored in an object tree within a single store.
State is read-only: The only way to change the state is to emit an action, an object describing what happened.
Changes are made with pure functions: To specify how the state tree is transformed by actions, you write pure reducers.
State changes are made w...
Yes, multiple stores can be created in Redux for managing different parts of the application state.
Redux allows creating multiple stores, each with its own reducers and actions
This can be useful for managing different parts of the application state separately
Example: creating one store for user authentication and another for managing shopping cart
Redux uses the browser's localStorage as its default storage mechanism.
Redux uses the browser's localStorage API to persist state across sessions.
The data stored in localStorage is serialized to a string before being saved.
Developers can also implement custom storage solutions by creating middleware in Redux.
The CSS DOM (Document Object Model) is a representation of the structure of a webpage created by CSS styles.
CSS DOM is a tree-like structure that represents the HTML elements of a webpage along with their CSS styles.
It allows developers to access and manipulate the styles of HTML elements using CSS properties and selectors.
Changes made to the CSS DOM dynamically update the visual appearance of the webpage.
Example: Sele...
Browsers use various storage options for state management, including cookies, local storage, session storage, and IndexedDB.
Cookies: small pieces of data stored in the browser that can be accessed by both the server and client
Local Storage: stores data with no expiration date, and remains after the browser is closed
Session Storage: stores data for one session only, and is cleared when the browser is closed
IndexedDB: a ...
useContext is used for accessing context values in functional components, while useReducer is used for managing state in a more complex way.
useContext is used for accessing context values without prop drilling
useReducer is used for managing state in a more complex way by using a reducer function
useContext is simpler and more straightforward, while useReducer provides more control and flexibility
Example: useContext can ...
Specificity in CSS determines which style rule is applied to an element when multiple rules have conflicting selectors.
Specificity is calculated based on the type of selector used in a CSS rule.
Inline styles have the highest specificity, followed by IDs, classes, and elements.
Specificity is represented by a four-part value, with each part corresponding to a different type of selector.
For example, the selector 'div p' h
Virtualization is the process of creating a virtual version of a device or resource, such as a server, storage device, network or operating system.
Virtualization allows multiple virtual instances to run on a single physical machine, maximizing resource utilization.
Examples of virtualization technologies include VMware, VirtualBox, and Docker.
Virtualization can improve scalability, flexibility, and efficiency in IT envi
The critical rendering path is the sequence of steps browsers take to convert HTML, CSS, and JavaScript into pixels on the screen.
Includes steps like parsing HTML, constructing the DOM tree, rendering the CSSOM, combining them into a render tree, layout, and painting.
Optimizing the critical rendering path involves minimizing render-blocking resources, reducing the number of critical resources, and optimizing the order ...
Infinite scrolling is a design pattern that continuously loads content as the user scrolls down a webpage.
Infinite scrolling helps to provide a seamless user experience by eliminating the need for pagination.
It is commonly used in social media feeds, image galleries, and news websites.
Infinite scrolling can be implemented using JavaScript to fetch and append new content dynamically.
Top trending discussions
posted on 25 Sep 2022
I applied via AmbitionBox and was interviewed in Aug 2022. There were 3 interview rounds.
Give two assignments to do. Assignment should be related with web designing.
I applied via Approached by Company and was interviewed in Dec 2024. There was 1 interview round.
Data binding is the automatic synchronization of data between the model and view components in an application.
Data binding allows for the seamless updating of data in the model to be reflected in the view and vice versa.
There are two-way data binding and one-way data binding.
Two-way data binding updates the model and view simultaneously, while one-way data binding updates in one direction only.
Example: In Angular, usin...
Lazy loading is a technique used to defer loading of non-essential resources until they are actually needed.
Lazy loading helps improve performance by only loading resources when they are required.
In Angular, lazy loading is commonly used for loading modules on demand rather than loading everything upfront.
Lazy loading can be implemented using Angular's RouterModule and loadChildren feature.
posted on 10 Dec 2024
I applied via Approached by Company and was interviewed in Nov 2024. There were 2 interview rounds.
Virtual DOM is a lightweight copy of the actual DOM, React key features include component-based architecture, declarative syntax, and virtual DOM, React Hooks are functions that let you use state and other React features without writing a class.
Virtual DOM is a lightweight copy of the actual DOM that React uses to improve performance by updating only the necessary parts of the DOM.
Key features of React include componen...
posted on 14 Sep 2024
I applied via Naukri.com and was interviewed in Aug 2024. There was 1 interview round.
A closure is a function that has access to its own scope, as well as the scope in which it was defined.
A closure allows a function to access variables from its outer function even after the outer function has finished executing.
Closures are created whenever a function is defined within another function.
Example: function outerFunction() { let outerVar = 'I am outer'; return function innerFunction() { console.log(outerVa
Async/await is a feature in JavaScript that allows for asynchronous code to be written in a synchronous manner.
Async/await is built on top of promises and provides a more readable and concise way to work with asynchronous code.
The 'async' keyword is used to define a function as asynchronous, allowing it to use the 'await' keyword inside it.
When 'await' is used, it pauses the execution of the function until the promise ...
Use Set to remove duplicates from array of strings.
Create a Set from the array to automatically remove duplicates
Convert the Set back to an array if needed
Example: const arr = ['apple', 'banana', 'apple', 'orange']; const uniqueArr = [...new Set(arr)];
React DOM updates by comparing the virtual DOM with the actual DOM and only updating the necessary components.
React creates a virtual DOM to represent the UI components.
When a state or prop changes, React re-renders the virtual DOM.
React then compares the virtual DOM with the actual DOM to identify the differences.
Only the necessary components are updated in the actual DOM, minimizing performance impact.
React Hooks are functions that let you use state and other React features without writing a class.
React Hooks were introduced in React 16.8.
They allow you to use state and other React features in functional components.
Some commonly used hooks are useState, useEffect, useContext, and useRef.
Hooks make it easier to reuse logic across components.
Hooks can be used to manage component state, perform side effects, and more.
Call, bind, and apply are methods used to manipulate the value of 'this' in JavaScript functions.
Call - invokes a function with a specified 'this' value and arguments provided individually.
Bind - creates a new function that, when called, has its 'this' keyword set to the provided value.
Apply - invokes a function with a specified 'this' value and arguments provided as an array.
Redux Toolkit is a set of tools and best practices to simplify Redux development, while Redux is a predictable state container for JavaScript apps.
Redux Toolkit provides a set of tools like createSlice, createAsyncThunk, and configureStore to simplify Redux setup and reduce boilerplate code.
Redux Toolkit includes immer library for writing immutable update logic in a more convenient way.
Redux Toolkit also includes a def...
Writing a RTL test to check a button in React
Use the render and fireEvent functions from @testing-library/react
Find the button element using getByRole('button')
Simulate a click event using fireEvent.click
Assert that the button is visible and clickable
Inline and block level elements in HTML/CSS
Inline elements flow in the document in a line, without starting a new line. Examples include , , .
Block level elements start on a new line and take up the full width available. Examples include
,
Microtasks in JavaScript are tasks that are executed asynchronously and have higher priority than regular tasks.
Microtasks are scheduled to run after the current script has finished but before the browser has a chance to render.
They are often used with promises, as promise callbacks are executed as microtasks.
Microtasks are executed in the same event loop iteration as regular tasks, but before the next rendering.
Exampl...
Custom hooks are reusable functions that allow you to extract component logic into separate functions.
Custom hooks are prefixed with 'use' and can call other hooks if needed.
They can be used to share logic between components without duplicating code.
Custom hooks can be created for any kind of logic, such as fetching data, managing state, or handling side effects.
Redux is a predictable state container for JavaScript apps. It helps manage the state of an application in a centralized store.
Create a Redux store to hold the state of the application
Define actions to describe state changes
Write reducers to specify how the state changes in response to actions
Dispatch actions to update the state in the store
Connect components to the Redux store using the connect function from react-red
Redux is a predictable state container for JavaScript apps.
Actions are dispatched to the store
Reducers specify how the state changes in response to actions
Store holds the state of the application
Components can subscribe to the store to access state
Dependency Injection is a design pattern in which a class receives its dependencies from external sources rather than creating them itself.
Allows for easier testing by injecting mock dependencies
Promotes reusability and modularity by decoupling components
Reduces code duplication by centralizing dependency creation
Example: Angular uses Dependency Injection to provide services to components
Routing is the process of navigating between different pages or views in a web application.
Routing allows users to move between different parts of a web application without reloading the entire page
It is implemented using a router module in Angular, which maps URLs to components
Routes can have parameters that can be passed to components for dynamic content
Routing can be used to create single-page applications (SPAs) wh
I applied via Naukri.com and was interviewed in Oct 2024. There were 2 interview rounds.
Position absolute removes element from normal flow, relative keeps element in flow but can be positioned.
Position absolute removes element from normal flow, allowing it to be positioned relative to its closest positioned ancestor.
Position relative keeps element in normal flow but allows it to be positioned relative to its normal position.
Position absolute elements are not affected by other elements and can overlap, whi...
I applied via Approached by Company and was interviewed in Oct 2024. There was 1 interview round.
Debugger in JavaScript is used for pausing the execution of code to inspect variables, check the flow of the program, and debug errors.
Debugger helps in identifying and fixing bugs in the code.
It allows developers to step through code line by line to understand the flow of execution.
Developers can inspect variables and their values at different points in the code.
By setting breakpoints, developers can pause the code at...
Interview experience
Technical Recruiter
3
salaries
| ₹6 L/yr - ₹6.2 L/yr |
QA Lead
3
salaries
| ₹24 L/yr - ₹32 L/yr |
Product Designer
3
salaries
| ₹18.5 L/yr - ₹23.5 L/yr |
Innovaccer
Artivatic
SigTuple
TCS