i
Bonami Software
Filter interviews by
I applied via Walk-in and was interviewed in Mar 2024. There were 3 interview rounds.
First round was coding test. 4 coding questions were asked. Very basic string based questions were asked related to second most occurring character and sum and average of digits in given string. Functional composition based 2 questions.
Top trending discussions
I applied via Naukri.com and was interviewed in Jun 2024. There were 3 interview rounds.
I was interviewed in Sep 2023.
Context API or Redux can be used as alternative ways for prop drilling in React.
Use Context API to pass data down the component tree without having to manually pass props at every level.
Implement Redux to manage global state and access data from any component without prop drilling.
Consider using React's useContext hook with Context API for a simpler way to consume context in functional 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...
Use HTML and CSS to center a div with text and apply animation
Create a div element with text inside
Apply CSS to center the div on the page using flexbox or margin auto
Use CSS animations like keyframes 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 using HTML and validating phone number with country code
Use HTML5 form validation attributes like 'required', 'pattern', 'minlength', etc.
For phone number validation, use 'pattern' attribute with regex for specific country code format
Example: <input type='tel' pattern='[0-9]{3}-[0-9]{3}-[0-9]{4}' required>
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...
posted on 15 Oct 2024
Inline elements flow in the same line, while block elements take up the full width available.
Inline elements do not start on a new line and only take up as much width as necessary.
Block elements start on a new line and take up the full width available.
Examples of inline elements include <span>, <a>, and <strong>.
Examples of block elements include <div>, <p>, and <h1>.
I applied via Recruitment Consulltant and was interviewed in Oct 2022. There were 3 interview rounds.
I applied via Company Website and was interviewed in Oct 2023. There were 3 interview rounds.
React offers a component-based architecture, virtual DOM for performance optimization, and a strong community support.
Component-based architecture allows for reusability and easier maintenance of code.
Virtual DOM helps in improving performance by only updating the necessary parts of the actual DOM.
React has a strong community support with a vast ecosystem of libraries and tools available.
React allows for server-side re...
State is mutable and managed within the component, while props are immutable and passed from parent component.
State is managed within the component and can be changed using setState() method
Props are passed from parent component to child component and cannot be changed by the child component
State is used for internal component data management, while props are used for passing data from parent to child components
useReducer is a React hook that manages state changes through a specified reducer function. useContext is a hook that allows access to a context object.
useReducer is used for managing complex state logic in React applications.
It takes in a reducer function and an initial state, and returns the current state and a dispatch function.
Example: const [state, dispatch] = useReducer(reducer, initialState);
useContext is used f...
One way data binding is a unidirectional flow of data from the model to the view in React applications.
Data flows from the model (or source of truth) to the view, but not vice versa.
Changes in the model automatically update the view, but changes in the view do not affect the model.
Helps in maintaining a clear and predictable data flow in React components.
I have used useState, useEffect, useContext, useReducer, and useRef hooks in my projects.
useState - for managing state in functional components
useEffect - for handling side effects in functional components
useContext - for accessing context in functional components
useReducer - for managing complex state logic in functional components
useRef - for accessing DOM elements or storing mutable values
Redux middleware is a function that intercepts actions before they reach the reducer.
Middleware can be used for logging, crash reporting, asynchronous API calls, etc.
It sits between the action dispatch and the reducer.
Examples of popular middleware include redux-thunk and redux-saga.
Git commands for committing, merging code, and resolving merge conflicts
To commit code: git commit -m 'Commit message'
To merge code from a branch: git merge branch_name
To resolve merge conflicts: manually edit the conflicting files, add changes, and then commit the merge
It's 10 multiple-choice question with low,medium, and difficult range levels.
Some of the top questions asked at the Bonami Software Reactjs Developer interview for experienced candidates -
based on 1 interview
Interview experience
based on 1 review
Rating in categories
Software Engineer
39
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Developer
17
salaries
| ₹0 L/yr - ₹0 L/yr |
HR Executive
8
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Development Engineer
5
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
5
salaries
| ₹0 L/yr - ₹0 L/yr |
TCS
Infosys
Wipro
HCLTech