Quest Global
10+ ICICI Bank Interview Questions and Answers
Q1. Why this package? Is it negotiable
This package was chosen for its comprehensive features and compatibility with our existing systems.
The package offers a wide range of functionalities that meet our requirements.
It integrates seamlessly with our current software infrastructure.
We have evaluated other options, but this package stood out as the best fit for our needs.
Q2. if exception is thrown , whether final block will get executed.
Yes, the final block will get executed even if an exception is thrown.
The final block will always get executed, regardless of whether an exception is thrown or not.
This is useful for releasing resources like closing files or database connections.
Example: try { // code that may throw exception } catch (Exception e) { // handle exception } finally { // final block always gets executed }
Q3. DB Query to find duplicates in a table, keeping first duplicate in answer.
DB query to find duplicates in a table, keeping first duplicate in answer.
Use GROUP BY clause to group the records by the column(s) that may have duplicates
Use HAVING clause to filter out groups with only one record
Use MIN or MAX function to select the first record in each group
Example: SELECT MIN(id), name, COUNT(*) FROM table GROUP BY name HAVING COUNT(*) > 1
Q4. Code to map Employee Object from List to Hashmap using Stream API functions.
Code to map Employee Object from List to Hashmap using Stream API functions.
Create a List of Employee objects
Use stream() method to convert List to Stream
Use collect() method to convert Stream to HashMap
Use Collectors.toMap() method to create HashMap
Pass key and value mapping functions to toMap() method
Q5. What is difference between ArrayList and HashMap.
ArrayList is a dynamic array to store elements, while HashMap is a key-value pair collection.
ArrayList is ordered and allows duplicate elements, while HashMap is unordered and does not allow duplicate keys.
ArrayList uses indexes to access elements, while HashMap uses keys to access values.
Example: ArrayList
list = new ArrayList<>(); HashMap map = new HashMap<>();
Q6. MCDC and how did you debug an error
MCDC is a testing technique to ensure all possible combinations of conditions are tested. Debugging involves identifying and fixing errors in the code.
MCDC stands for Modified Condition/Decision Coverage
It is a testing technique used to ensure all possible combinations of conditions are tested
Debugging involves identifying and fixing errors in the code
To debug an error, I first reproduce the error and then use debugging tools like breakpoints, watches, and logging to identify...read more
Q7. What is an interface in programming?
An interface in programming defines a contract for classes to implement, specifying methods and properties that must be included.
Interfaces in programming are used to define a set of methods and properties that a class must implement.
Interfaces provide a way to achieve polymorphism in programming languages.
Interfaces are similar to abstract classes but cannot contain any implementation code.
Classes can implement multiple interfaces in programming languages that support multip...read more
Q8. Explain the architecture of node.js
Node.js is an open-source, cross-platform JavaScript runtime environment that executes JavaScript code outside of a web browser.
Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.
It uses the V8 JavaScript engine from Google to execute code.
Node.js has a single-threaded event loop that allows handling multiple connections simultaneously.
It has a rich library of various JavaScript modules that simplifies web development.
Node.js can be u...read more
Q9. Explain singleton design pattern
Singleton design pattern ensures a class has only one instance and provides a global point of access to it.
Ensures a class has only one instance
Provides a global point of access to that instance
Commonly used for logging, caching, database connections, etc.
Q10. Explain adaptive design pattern
Adaptive design pattern is a software design pattern that allows objects to change their behavior dynamically.
Adaptive design pattern involves creating objects that can change their behavior at runtime.
It allows for flexibility and adaptability in software systems.
Examples include Strategy pattern, State pattern, and Decorator pattern.
Q11. Types of design patterns?
Design patterns are reusable solutions to common problems in software design.
Creational patterns: Singleton, Factory, Builder
Structural patterns: Adapter, Decorator, Facade
Behavioral patterns: Observer, Strategy, Template Method
Q12. SOLID Principles in unity
SOLID principles can be applied in Unity development to improve code quality and maintainability.
Single Responsibility Principle: Each script should have a single responsibility.
Open/Closed Principle: Classes should be open for extension but closed for modification.
Liskov Substitution Principle: Subclasses should be substitutable for their base classes.
Interface Segregation Principle: Use interfaces to segregate methods based on functionality.
Dependency Inversion Principle: D...read more
Top HR Questions asked in ICICI Bank
Interview Process at ICICI Bank
Top Senior Software Engineer Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month