i
NICE
Filter interviews by
Map and flatMap are methods in Java 8 Stream API used for transforming elements in a stream.
Map applies a function to each element in the stream and returns a new stream with the transformed elements.
FlatMap applies a function that returns a stream for each element in the original stream, then flattens the result into a single stream.
Example: List
Singleton
Default scope of a bean in Spring is singleton
Singleton scope means that only one instance of the bean will be created for each Spring container
This is the default scope in Spring, meaning if no scope is specified, the bean will be treated as a singleton
I applied via Naukri.com and was interviewed in Apr 2024. There was 1 interview round.
BDD stands for Behavior Driven Development and TDD stands for Test Driven Development.
BDD focuses on the behavior of the system from the user's perspective.
TDD focuses on writing tests before writing the actual code.
BDD uses natural language to describe the behavior of the system.
TDD helps in ensuring that the code meets the requirements and is well-tested.
Both BDD and TDD help in improving the quality of the software
JUnit is a unit testing framework for Java, while Mockito is a mocking framework used for creating mock objects in unit tests.
JUnit is used for writing and running repeatable automated tests to ensure code behaves as expected.
Mockito is used to create mock objects to simulate the behavior of real objects in unit tests.
Both JUnit and Mockito are commonly used in test-driven development (TDD) to ensure code quality and r
Microservices architecture is an architectural style that structures an application as a collection of loosely coupled services.
Each service is self-contained and can be developed, deployed, and scaled independently.
Services communicate with each other over lightweight protocols like HTTP or messaging queues.
Microservices allow for flexibility, scalability, and easier maintenance compared to monolithic architectures.
Ex...
HashSet default size 16 for performance balance between memory usage and lookup time.
Default size 16 provides a good balance between memory usage and lookup time.
Choosing a power of 2 size helps in distributing elements evenly across buckets.
Resizing the HashSet is expensive, so starting with a larger size reduces the need for resizing.
Example: If the default size was too small, it would lead to more collisions and deg
ActiveMQ is Java-based messaging broker while RabbitMQ is a message broker that implements the Advanced Message Queuing Protocol (AMQP).
ActiveMQ is written in Java and supports multiple messaging protocols like OpenWire, STOMP, MQTT, and AMQP.
RabbitMQ is written in Erlang and specifically implements the AMQP protocol.
ActiveMQ is more feature-rich and has a larger user base, while RabbitMQ is known for its reliability a...
Azure DB offers various databases including SQL Database, Cosmos DB, MySQL, PostgreSQL, and MariaDB.
SQL Database
Cosmos DB
MySQL
PostgreSQL
MariaDB
HashSet is a collection of unique elements, while HashMap is a key-value pair collection.
HashSet does not allow duplicate elements, HashMap allows duplicate keys but not duplicate values.
HashSet uses Set interface, HashMap uses Map interface.
Example: HashSet
HashMap is a data structure that stores key-value pairs and uses hashing to quickly retrieve values based on keys.
HashMap internally uses an array of linked lists to store key-value pairs.
When a key-value pair is added, the key is hashed to determine the index in the array where it will be stored.
If multiple keys hash to the same index, a linked list is used to handle collisions.
HashMap allows null keys and values, and...
I applied via LinkedIn and was interviewed in Feb 2024. There was 1 interview round.
Designing a machine involves creating a detailed plan for its structure, functionality, and operation.
Consider the purpose of the machine and its intended use
Identify the key components and their interactions
Create a schematic or blueprint detailing the layout and connections
Select appropriate materials and technologies for construction
Test the machine for functionality and efficiency
What people are saying about NICE
I applied via Company Website and was interviewed in Sep 2023. There was 1 interview round.
NICE interview questions for designations
I applied via LinkedIn and was interviewed in Mar 2023. There were 5 interview rounds.
Get interview-ready with Top NICE Interview Questions
I applied via Referral and was interviewed in Sep 2024. There were 2 interview rounds.
Use dynamic programming to find the longest palindromic substring in a given string.
Iterate through the string and expand around each character to find palindromes.
Store the length of the longest palindrome found so far.
Return the substring based on the start and end indices of the longest palindrome.
To serialize and deserialize a tree, use a recursive approach to traverse the tree and store the data in a suitable format.
Use pre-order traversal to serialize the tree by storing the node values in a list or string.
For deserialization, reconstruct the tree by recursively building nodes from the serialized data.
Consider using JSON or XML format for serialization to easily store and retrieve tree structure.
Use regex library to match given regex with string.
Use a regex library like re in Python to match the given regex with the string.
Check if the regex matches the string using the library functions.
Handle cases where the regex contains special characters like . and * appropriately.
Throttling is a technique used to control the rate of requests sent to a server.
Throttling helps prevent server overload by limiting the number of requests processed at a time.
Implementing a throttle function involves setting a maximum request rate and delaying excess requests.
Example: Implementing a throttle function in a web application to limit the number of API calls made to a third-party service.
Example: Throttlin...
Sort the squares of elements in a sorted array and return the sorted response.
Iterate through the array and square each element.
Store the squared values in a new array.
Sort the new array and return it.
A promise is a commitment to do something in the future, typically used for asynchronous operations in JavaScript.
Promises are used to handle asynchronous operations in JavaScript.
They represent a value that may be available now, in the future, or never.
Promises have three states: pending, fulfilled, or rejected.
Example: new Promise((resolve, reject) => { setTimeout(() => resolve('Done!'), 1000); });
Event loop is a mechanism that allows for asynchronous execution of code by managing the order of events in a single thread.
Event loop continuously checks the call stack for any functions that need to be executed, and processes them in a non-blocking manner.
Different types of queues in event loop include microtask queue (Promise callbacks), macrotask queue (setTimeout, setInterval callbacks), and animation frame queue
Virtual DOM is a lightweight copy of the actual DOM, used to improve performance by minimizing direct manipulation of the real DOM.
Virtual DOM is a concept used in frameworks like React to optimize rendering performance.
Changes are first made to the virtual DOM, which is then compared to the real DOM to identify the minimal updates needed.
This approach reduces the number of actual DOM manipulations, resulting in faster...
posted on 15 Jan 2025
CAN TP is a protocol used for transferring large data packets over Controller Area Network.
CAN TP breaks large data packets into smaller segments for transmission
It uses flow control mechanisms to ensure all segments are received and retransmits if necessary
CAN TP is commonly used in automotive and industrial applications
AUTOSAR (Automotive Open System Architecture) is a standardized software architecture for automotive systems.
AUTOSAR is a layered architecture consisting of four layers: Application Layer, Runtime Environment (RTE) Layer, Basic Software Layer, and Microcontroller Abstraction Layer (MCAL).
Each layer in AUTOSAR has specific responsibilities and interfaces with other layers to ensure modularity and reusability of software...
posted on 11 Aug 2024
I applied via LinkedIn and was interviewed in Jul 2024. There were 3 interview rounds.
SOLID principles help in creating maintainable, scalable, and flexible software.
SOLID principles help in creating software that is easier to maintain and extend.
Single Responsibility Principle (SRP) ensures that a class has only one reason to change, leading to more modular and cohesive code.
Open/Closed Principle (OCP) states that a class should be open for extension but closed for modification, allowing for easy chang...
Singleton design pattern ensures a class has only one instance and provides a global point of access to it.
Create a private static instance of the class within the class itself.
Provide a public static method to access the instance.
Ensure the constructor of the class is private to prevent instantiation from outside the class.
Example: Singleton pattern is commonly used in database connections to ensure only one connectio
Dependency injection is a design pattern where components are provided with their dependencies rather than creating them internally.
Dependency injection helps in achieving loose coupling between components.
It makes components easier to test by allowing for easier mocking of dependencies.
Use cases include injecting database connections, logging services, and external API clients into components.
Debugging a published dll involves using tools like Visual Studio debugger and logging mechanisms.
Use Visual Studio debugger to attach to the process using the published dll
Set breakpoints in the code to pause execution and inspect variables
Use logging mechanisms to track the flow of execution and identify issues
Check for any exceptions or errors thrown by the dll
Data seeding in Entity Framework involves pre-populating database tables with initial data. Mapping tables with entities involves defining relationships between database tables and entity classes.
Data seeding in Entity Framework can be done using the 'Seed' method in the 'Configuration' class of the DbContext.
To map tables with entities, use data annotations or Fluent API to define relationships between entities and da...
I applied via Approached by Company and was interviewed in Aug 2024. There was 1 interview round.
1 Interview rounds
based on 19 reviews
Rating in categories
Software Engineer
245
salaries
| ₹7 L/yr - ₹18.5 L/yr |
Senior Software Engineer
150
salaries
| ₹11.5 L/yr - ₹30 L/yr |
Software Engineering Specialist
145
salaries
| ₹17.8 L/yr - ₹44 L/yr |
Software Engineer and Technical Lead
127
salaries
| ₹9 L/yr - ₹27.1 L/yr |
Technical Lead
121
salaries
| ₹8.4 L/yr - ₹35 L/yr |
Infosys
TCS
Wipro
HCLTech