i
CGI Group
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Naukri.com and was interviewed in Jan 2024. There were 3 interview rounds.
Top trending discussions
Normal js,react question
Hoisting is the JavaScript mechanism where variable and function declarations are moved to the top of their containing scope. HOC stands for Higher Order Component, a pattern used in React for code reusability. Debouncing is a technique used to limit the rate at which a function is executed.
Hoisting moves variable and function declarations to the top of their scope during the compilation phase.
HOC is a function that ta...
I applied via Naukri.com and was interviewed in Mar 2021. There was 1 interview round.
Error handling in React can be done using try-catch blocks, error boundaries, and handling asynchronous errors.
Use try-catch blocks to handle synchronous errors
Use error boundaries to catch errors in child components
Handle asynchronous errors using promises or async/await
Use third-party libraries like Sentry or Bugsnag for better error tracking
Display user-friendly error messages to improve user experience
Refs are a way to access DOM nodes or React components directly. They can be used to get input values.
Refs provide a way to access DOM nodes or React components directly.
They are commonly used to get input values or trigger imperative animations.
Refs can be created using the `createRef()` method or by using a callback function.
To get the value of an input using refs, you can assign a ref to the input element and access
useState and useEffect are React Hooks used for managing state and side effects respectively.
useState is used to manage state in functional components
It returns an array with two elements - the current state value and a function to update the state
useEffect is used to manage side effects like fetching data or updating the DOM
It takes a function as its argument and runs it after every render
useEffect can also take a sec...
Lazy Loading and Suspense are techniques used to improve performance by loading components and data only when needed.
Lazy Loading delays the loading of non-critical resources until they are needed, reducing initial load time.
Suspense allows components to wait for data to load before rendering, improving user experience.
Lazy Loading and Suspense can be used together to optimize performance and user experience.
Example: A...
componentWillUnmount is a lifecycle method in React that is called right before a component is unmounted and destroyed.
componentWillUnmount is used to perform any necessary cleanup tasks before a component is removed from the DOM.
It is commonly used to cancel any pending network requests, remove event listeners, or clear timers or intervals.
The method is called automatically by React when a component is about to be unm...
To avoid re-rendering, use shouldComponentUpdate or React.memo
Use shouldComponentUpdate to compare current and next props/state
Use React.memo to memoize functional components
Use useMemo to memoize expensive computations
Use useCallback to memoize event handlers
Use PureComponent for class components
I applied via Recruitment Consulltant and was interviewed in Sep 2024. There was 1 interview round.
Hosting is the process of storing a website or application on a server, while closure is a function that retains access to variables from its parent scope.
Hosting involves storing a website or application on a server to make it accessible on the internet.
Closure is a function that retains access to variables from its parent scope, even after the parent function has finished executing.
var, let, and const are used to declare variables in JavaScript. var has function scope, let has block scope, and const is a constant with block scope.
var has function scope, meaning it is accessible throughout the function it is declared in.
let has block scope, meaning it is only accessible within the block it is declared in.
const is similar to let in terms of block scope, but the value cannot be reassigned.
Asynchronous programming allows tasks to run independently of the main program flow, improving performance and responsiveness.
Asynchronous code does not block the main thread, allowing other tasks to continue while waiting for a response.
Callbacks, promises, and async/await are common ways to handle asynchronous operations in JavaScript.
Example: fetching data from an API while the rest of the application continues to r
The output for the given code snippets will be: 1) 20 2) ReferenceError: Cannot access 'b' before initialization 3) ReferenceError: b is not defined
In the first snippet, variable 'a' is declared using 'var' after it is assigned a value, so it logs 20 without any issues.
In the second snippet, variable 'b' is declared using 'let' after it is assigned a value, so it throws a ReferenceError as 'b' is accessed before initia...
Centered div with text and animation using HTML and CSS
Create a div element with text inside
Apply CSS styles to center the div on the page
Use CSS animations to add animation effects
Semantic tags are HTML tags that provide meaning to the content they enclose, helping search engines and screen readers understand the structure of a webpage.
Semantic tags help improve SEO by providing context to search engines.
They also improve accessibility for screen readers by clearly defining the structure of a webpage.
Examples of semantic tags include
Use media queries, flexible grids, and relative units to create a responsive web page.
Use media queries to apply different styles based on screen size
Create flexible grids using CSS Grid or Flexbox
Use relative units like percentages or ems for sizing elements
Consider using frameworks like Bootstrap or Material-UI for responsive design
Test your design on different devices and screen sizes
SASS is a preprocessor scripting language that is interpreted into CSS, offering more features and flexibility.
SASS is a preprocessor for CSS, allowing for variables, nesting, and mixins to be used in stylesheets.
SASS code needs to be compiled into CSS before being used in a web project.
SASS helps in writing cleaner and more organized CSS code, making it easier to maintain and update styles.
CSS is the styling language ...
Form validation can be done using HTML attributes like required, pattern, and maxlength. Phone number validation with country code can be achieved using regex.
Use the 'required' attribute to make fields mandatory
Use the 'pattern' attribute with regex to validate input format
Use the 'maxlength' attribute to limit the number of characters in a field
For phone number validation with country code, use regex to match the des...
I use Jest for testing React applications due to its simplicity and integration with React ecosystem.
Jest is the most popular test library for React applications
It comes pre-configured with Create React App and has great support for snapshot testing
Jest also has built-in mocking capabilities which make it easy to test components with dependencies
Mounting is the process of rendering a component into the DOM, while shallow rendering allows testing a component without rendering its children.
Mounting is the initial phase of the component lifecycle where the component is rendered into the DOM.
Shallow rendering in testing library renders only the component itself, not its children.
Shallow rendering is useful for isolating the component being tested and avoiding rend...
Redux Toolkit is the official, recommended way to write Redux logic. It simplifies the process of managing state in React applications.
Redux Toolkit provides a set of tools and best practices to streamline Redux development.
It includes utilities like createSlice, createReducer, and configureStore to simplify the code and reduce boilerplate.
Redux Toolkit also includes built-in Immer integration for writing immutable upd...
API calls in Redux are typically handled using middleware like Redux Thunk. User name can be retrieved from Redux state and displayed in components.
Use Redux Thunk middleware to make API calls in Redux
Dispatch actions to update Redux state with API response data
Access user name from Redux state in components to display it
Thunk middleware in Redux allows for asynchronous logic to be handled in Redux actions.
Thunk middleware allows for dispatching functions instead of just plain objects in Redux actions.
It enables handling asynchronous API calls within Redux actions.
Thunk middleware helps in simplifying the code by moving complex logic outside of components.
Example: Thunk middleware can be used to dispatch an action after a delay or to f...
I applied via Naukri.com and was interviewed in Oct 2024. There were 2 interview rounds.
Group discussion related in company
I applied via LinkedIn and was interviewed in Sep 2024. There was 1 interview round.
CVS stands for Concurrent Versions System, a version control system. It can be installed in IIB using the command line or GUI.
CVS is a version control system used to track changes in files and manage multiple versions of the same project.
To install CVS in IIB, you can use the command line by running 'sudo apt-get install cvs' or use a GUI tool like TortoiseCVS.
Once installed, you can configure CVS in IIB by setting up ...
SSL in ACE is configured using SSL profiles which define the SSL settings for a virtual server.
SSL profiles in ACE define the SSL version, cipher suite, key exchange algorithm, etc.
SSL profiles can be attached to a virtual server to enable SSL encryption for client connections.
ACE supports SSL termination where SSL connections from clients are decrypted at the ACE and forwarded to backend servers in clear text.
IIB is the previous version of IBM Integration Bus, while ACE is the newer version with added features and capabilities.
IIB stands for IBM Integration Bus, while ACE stands for App Connect Enterprise.
ACE includes all the features of IIB along with additional capabilities such as support for RESTful APIs and enhanced security.
ACE also provides a more user-friendly interface for developers compared to IIB.
Migration from ...
posted on 26 Sep 2024
Coding test was around 2 hrs
Kubernetes is an open-source container orchestration platform for automating deployment, scaling, and management of containerized applications.
Kubernetes helps in automating the deployment, scaling, and management of containerized applications.
It allows for easy scaling of applications by adding or removing containers based on demand.
Kubernetes provides features like load balancing, self-healing, and rolling updates fo...
Docker container runtime is the engine that executes containers, managing their lifecycle and resources.
Docker container runtime is responsible for running and managing Docker containers.
It provides an isolated environment for applications to run without affecting the host system.
Popular container runtimes include Docker Engine, containerd, and CRI-O.
Software Engineer
8k
salaries
| ₹3.8 L/yr - ₹13.8 L/yr |
Senior Software Engineer
7.1k
salaries
| ₹6 L/yr - ₹21.6 L/yr |
Lead Analyst
3.1k
salaries
| ₹9.9 L/yr - ₹29.5 L/yr |
Associate Software Engineer
1.8k
salaries
| ₹2.5 L/yr - ₹6.7 L/yr |
Senior Test Engineer
1.2k
salaries
| ₹6 L/yr - ₹20.2 L/yr |
TCS
Infosys
Wipro
HCLTech