i
CGI Group
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Recruitment Consulltant and was interviewed in Jul 2024. There was 1 interview round.
I applied via Naukri.com and was interviewed in Aug 2024. There were 2 interview rounds.
Online Hackathon test was taken.
I am a passionate React Js Frontend Developer with experience in building user-friendly and responsive web applications.
Experienced in developing web applications using React Js
Proficient in HTML, CSS, and JavaScript
Familiar with state management libraries like Redux
Strong understanding of responsive design principles
Ability to work collaboratively in a team environment
I am responsible for developing and maintaining the frontend of the project using React Js.
Developing user-friendly interfaces using React Js
Implementing responsive design and ensuring cross-browser compatibility
Collaborating with backend developers to integrate frontend with backend services
Optimizing application performance and troubleshooting issues
Participating in code reviews and providing feedback to team members
SSR in React is implemented using server-side rendering to pre-render React components on the server before sending them to the client.
Use libraries like Next.js or Gatsby to implement SSR in React.
Configure server to render React components on the server side.
Optimize server-side rendering for performance by caching rendered components.
To change a React project from development mode to production mode, you need to build the project using the 'npm run build' command.
Run 'npm run build' command in the terminal to create a production build of the project.
This command will generate a 'build' folder with optimized and minified files for production.
You can then deploy the contents of the 'build' folder to a web server for production use.
Lazy loading is a technique used to defer loading non-essential resources until they are needed.
Lazy loading helps improve performance by only loading resources when they are required.
In React, lazy loading can be implemented using React.lazy() and Suspense components.
Example: const MyComponent = React.lazy(() => import('./MyComponent'));
Example:
React routing is a way to handle navigation in a React application by defining routes and rendering components based on the URL.
React routing allows for declarative routing, where routes are defined using JSX elements.
It enables dynamic routing based on the URL, allowing for different components to be rendered based on the route.
React Router is a popular library for handling routing in React applications.
Unlike convent...
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
Prop drilling is the process of passing props down multiple levels of nested components in React.
Prop drilling occurs when a prop needs to be passed through multiple levels of components that do not need the prop themselves.
It can lead to unnecessary passing of props through intermediate components, making the code harder to maintain.
To avoid prop drilling, you can use Context API, Redux, or React's useContext and useR...
Hoisting is a JavaScript mechanism where variable and function declarations are moved to the top of their containing scope during the compilation phase.
Variable declarations are hoisted to the top of their scope, but not their assignments.
Function declarations are fully hoisted, meaning they can be called before they are declared.
Hoisting can lead to unexpected behavior if not understood properly.
useContext hook allows components to access data from a context without passing props down manually
useContext hook is used to consume a context created by React.createContext
It takes the context object as an argument and returns the current context value for that context
It allows components to subscribe to context changes and re-render when the context value changes
I applied via Naukri.com and was interviewed in Jul 2024. There were 2 interview rounds.
Find the max values, promises, async await
I applied via Naukri.com and was interviewed before Oct 2023. There were 4 interview rounds.
Online coding round which included question from React and js
posted on 4 Apr 2024
I applied via Walk-in and was interviewed in Mar 2024. There were 2 interview rounds.
What is react , feature, axios, API
Redux Redux toolkit Redux thunk
I was interviewed in May 2024.
Redux is a predictable state container for JavaScript apps.
Redux is a state management library for JavaScript applications.
It helps in managing the state of the application in a predictable way.
Redux stores the entire state of the application in a single immutable object.
Actions are dispatched to update the state, and reducers specify how the state changes in response to actions.
Redux is commonly used with React to man...
Virtual DOM is a lightweight copy of the actual DOM in memory, used by React to improve performance by minimizing actual DOM manipulations.
Virtual DOM is a concept where a lightweight copy of the actual DOM is kept in memory.
React uses Virtual DOM to improve performance by minimizing actual DOM manipulations.
When state changes in a React component, a new Virtual DOM representation is created and compared with the previ...
useMemo is used for memoizing expensive calculations, while React.memo is used for memoizing functional components.
useMemo is a hook used to memoize expensive calculations and only recompute the value when the dependencies change.
React.memo is a higher order component used to memoize functional components and prevent unnecessary re-renders.
useMemo is typically used for optimizing performance by caching values, while Re...
map returns a new array with modified elements, forEach does not return anything and just iterates over the array.
map returns a new array with the results of calling a provided function on every element in the array.
forEach executes a provided function once for each array element without returning anything.
Example: const numbers = [1, 2, 3]; const doubled = numbers.map(num => num * 2); // doubled will be [2, 4, 6]; num...
Find duplicates in an array of strings
Iterate through the array and use a hash map to keep track of the frequency of each element
If an element is already in the hash map, it is a duplicate
Currying is a technique in functional programming where a function with multiple arguments is transformed into a sequence of functions, each taking a single argument.
Currying helps in creating reusable functions and improving code readability.
It allows partial application of functions, where some arguments are fixed and others are left to be provided later.
Example: const add = (a) => (b) => a + b; add(2)(3) will return
posted on 16 Oct 2024
I applied via Naukri.com and was interviewed in Sep 2024. There was 1 interview round.
Actual DOM represents the real structure of the web page, while Virtual DOM is a lightweight copy used for efficient updates.
Actual DOM is the real structure of the web page that is directly manipulated by the browser.
Virtual DOM is a lightweight copy of the Actual DOM that React uses for efficient updates.
Changes made to the Virtual DOM are compared with the Actual DOM, and only the differences are updated in the Actu...
based on 1 review
Rating in categories
Software Engineer
8.1k
salaries
| ₹2.7 L/yr - ₹12 L/yr |
Senior Software Engineer
7.2k
salaries
| ₹6.1 L/yr - ₹22.2 L/yr |
Lead Analyst
3.1k
salaries
| ₹10 L/yr - ₹29.5 L/yr |
Associate Software Engineer
1.8k
salaries
| ₹2.5 L/yr - ₹6.6 L/yr |
Senior Test Engineer
1.2k
salaries
| ₹6 L/yr - ₹20.2 L/yr |
TCS
Infosys
Wipro
HCLTech