HSBC Group
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Campus Placement and was interviewed in Jan 2023. There were 4 interview rounds.
It was just a typical logical reasoning and aptitude MCQ test
There were 2 coding questions and you can select any language for solving it. The test was online
C is a procedural programming language while C++ is an object-oriented programming language.
C is a procedural programming language, while C++ supports both procedural and object-oriented programming.
C does not have classes and objects, while C++ does.
C does not support function overloading, while C++ does.
C does not have exception handling, while C++ does.
C does not have namespaces, while C++ does.
Object oriented programming is a programming paradigm based on the concept of objects, which can contain data and code.
Objects are instances of classes, which define the structure and behavior of the objects.
Encapsulation, inheritance, and polymorphism are key principles of object oriented programming.
Example: Inheritance allows a class to inherit properties and methods from another class.
Example: Encapsulation hides t...
Encapsulation, Inheritance, Polymorphism, Abstraction
Encapsulation: Bundling data and methods that operate on the data into a single unit
Inheritance: Ability of a class to inherit properties and behavior from another class
Polymorphism: Ability to present the same interface for different data types
Abstraction: Hiding the complex implementation details and showing only the necessary features
Code implementing all 4 pillars of OOPs
Encapsulation: Encapsulate data within classes and provide public methods to access and modify the data.
Inheritance: Create a hierarchy of classes where child classes inherit attributes and methods from parent classes.
Polymorphism: Allow objects of different classes to be treated as objects of a common superclass through method overriding and overloading.
Abstraction: Hide complex ...
Stacks are Last In First Out (LIFO) data structures, while Queues are First In First Out (FIFO) data structures.
Stacks: Elements are added and removed from the same end, like a stack of plates. Example: Undo feature in text editors.
Queues: Elements are added at the rear and removed from the front, like a line of people waiting. Example: Print queue in a printer.
Code to find the 2nd largest element in an array
Sort the array in descending order and return the element at index 1
Iterate through the array and keep track of the two largest elements
Handle edge cases like arrays with less than 2 elements
Merge sort is a divide and conquer algorithm that divides the input array into two halves, sorts them recursively, and then merges them.
Divide the input array into two halves
Recursively sort each half
Merge the sorted halves back together
DBMS stands for Database Management System, while RDBMS stands for Relational Database Management System. RDBMS is a type of DBMS.
DBMS is a software system that allows users to define, create, maintain and control access to the database.
RDBMS is a type of DBMS that stores data in a structured format using tables with rows and columns.
RDBMS enforces a set of rules called ACID properties to ensure data integrity, while D...
SQL is a standard language for managing databases, while MySQL is a specific open-source relational database management system.
SQL stands for Structured Query Language and is used to communicate with databases.
SQL is a standard language that can be used with various database management systems.
MySQL is a specific open-source relational database management system that uses SQL.
MySQL is one of the most popular database m...
Delete removes specific rows from a table, Truncate removes all rows from a table, and Drop removes the table itself.
Delete is a DML command that removes specific rows from a table based on a condition.
Truncate is a DDL command that removes all rows from a table but keeps the table structure.
Drop is a DDL command that removes the entire table along with its structure.
Different types of joins in DBMS include inner join, outer join, left join, right join, and full join.
Inner join: Returns rows when there is a match in both tables.
Outer join: Returns all rows from one table and only matching rows from the other table.
Left join: Returns all rows from the left table and the matched rows from the right table.
Right join: Returns all rows from the right table and the matched rows from the ...
I applied via Campus Placement
Basic Aptitude and Technical Question
2 coding Questions asked from array and strings
I appeared for an interview before Sep 2020.
Round duration - 90 minutes
Round difficulty - Medium
It was a cumulative test
You are given an array ARR
of long type, which represents an elevation map where ARR[i]
denotes the elevation of the ith
bar. Calculate the total amount of rainwater t...
Calculate the total amount of rainwater that can be trapped within given elevation map.
Iterate through the array to find the maximum height on the left and right of each bar.
Calculate the amount of water that can be trapped above each bar by taking the minimum of the maximum heights on the left and right.
Sum up the trapped water above each bar to get the total trapped water for the elevation map.
Round duration - 90 minutes
Round difficulty - Medium
It was sophisticated in nature and a good brain buster.
Prateek is a kindergarten teacher with a mission to distribute candies to students based on their performance. Each student must get at least one candy, and if two s...
Determine the minimum number of candies needed to distribute to students based on their performance and ratings.
Iterate through the array of student ratings and assign 1 candy to each student initially.
Then iterate from left to right and check if the current student's rating is higher than the previous student, if so, assign candies accordingly.
Similarly, iterate from right to left to handle cases where the current stu...
Round duration - 1 hour
Round difficulty - Medium
It revolved around basic concepts
DBMS is a software system that manages databases and allows users to interact with data stored in them.
DBMS stands for Database Management System
It helps in creating, updating, and managing databases
Examples of DBMS include MySQL, Oracle, SQL Server
It ensures data integrity, security, and efficient retrieval
Round duration - 70 minutes
Round difficulty - Hard
It was a great experience
Tip 1 : Stay consistent with your efforts
Tip 2 : Work hard with honesty
Tip 3 : Try to set goal of +1 level from the goal you want to achieve
Tip 1 : Present yourself with honesty
Tip 2 : Mention about the Workshops, hackathons, achievements, and the projects.
posted on 20 May 2017
I appeared for an interview in May 2017.
Yes, the string class can be extended in most programming languages.
Inheritance can be used to extend the functionality of the string class.
By creating a new class that inherits from the string class, additional methods and properties can be added.
Extending the string class allows for customization and adding specific functionality to strings.
Example: In Python, the string class can be extended by creating a new class
Implicit objects in JSP are predefined objects that are available for use without any declaration or initialization.
Implicit objects in JSP include request, response, session, application, out, config, pageContext, page, exception, and others.
These objects provide access to various aspects of the JSP environment and can be used to perform common tasks.
For example, the request object allows access to HTTP request parame...
A hash map is a data structure that uses a hash function to map keys to values.
Hash map stores key-value pairs
It uses a hash function to compute an index for each key
Collisions can occur when two keys hash to the same index
Hash maps provide fast access to values based on their keys
StringBuffer and StringBuilder are both used to manipulate strings, but StringBuffer is thread-safe while StringBuilder is not.
StringBuffer is synchronized, making it safe for use in multi-threaded environments.
StringBuilder is not synchronized, making it faster but not thread-safe.
StringBuffer is preferred when multiple threads are involved, while StringBuilder is preferred for single-threaded scenarios.
Both classes p...
MVC is a software architectural pattern that separates an application into three main components: Model, View, and Controller.
Model represents the data and business logic of the application.
View is responsible for displaying the user interface.
Controller handles user input, updates the model, and interacts with the view.
MVC promotes separation of concerns and modularity in software development.
Example: In a web applica...
Annotations used in RESTful web services
1. @Path - Specifies the URI path for the resource
2. @GET - Specifies that the method handles HTTP GET requests
3. @POST - Specifies that the method handles HTTP POST requests
4. @PUT - Specifies that the method handles HTTP PUT requests
5. @DELETE - Specifies that the method handles HTTP DELETE requests
6. @PathParam - Binds the value of a URI template parameter to a method paramete...
I appeared for an interview before Mar 2021.
Round duration - 90 minutes
Round difficulty - Medium
There were 33 questions in total. The objective questions were simple.
Mary is an enthusiastic party-goer who struggles with remembering event dates. Help Mary by sorting a given list of event dates in an ascending order.
Sort a list of event dates in ascending order based on year, month, and day.
Sort the list of dates based on year, then month, and finally day.
Use a sorting algorithm to rearrange the dates in ascending order.
Ensure the constraints are met for each date in the list.
You are given an integer array 'ARR' of size 'N' and an integer 'S'. Your task is to find and return a list of all pairs of elements where each sum of a pair equals 'S'.
Given an array and a target sum, find all pairs of elements that add up to the target sum.
Iterate through the array and for each element, check if the complement (target sum - current element) exists in a hash set.
If the complement exists, add the pair to the result list.
Sort the pairs based on the first element and then the second element.
Handle edge cases like duplicate elements and pairs with the same values.
Example...
Given an integer N
, your task is to recursively break it into three integer parts: N / 2
, N / 3
, and N / 4
. You need to compute the maximum sum possible by dividing the numbe...
Given an integer N, recursively break it into three parts and find the maximum sum possible.
Recursively divide N into N/2, N/3, and N/4 to find the maximum sum
Compare the sum obtained by dividing N with the sum of N itself
Return the maximum sum for each test case
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more
I appeared for an interview before Mar 2021.
Round duration - 60 minutes
Round difficulty - Medium
Technical Interview round with questions based on DSA.
Given an array ARR
of size N
, containing each number between 1 and N-1
at least once, identify the single integer that appears twice.
The first line contains an integer...
Identify the duplicate integer in an array containing numbers between 1 and N-1.
Iterate through the array and keep track of the frequency of each element using a hashmap.
Return the element with a frequency greater than 1 as the duplicate integer.
Ensure the constraints are met and a duplicate number is guaranteed to be present.
You are given an arbitrary binary tree consisting of N nodes, each associated with an integer value from 1 to 9. Each root-to-leaf path can be considered a number formed by concat...
Calculate the total sum of all root to leaf paths in a binary tree formed by concatenating node values.
Traverse the binary tree from root to leaf nodes, keeping track of the current path sum
Add the current node value to the path sum and multiply by 10 for each level
When reaching a leaf node, add the final path sum to the total sum
Return the total sum modulo (10^9 + 7)
You are given a directed acyclic graph (DAG). Your task is to perform topological sorting of the graph and return any valid ordering.
A directed acyclic g...
Implement a function to perform topological sorting on a directed acyclic graph (DAG) and return any valid ordering.
Create a graph data structure to represent the DAG
Use depth-first search (DFS) to perform topological sorting
Maintain a visited array to keep track of visited nodes
Return the ordering of nodes after DFS traversal
Round duration - 60 minutes
Round difficulty - Easy
Technical interview round with questions based on DSA.
You are given a binary tree consisting of distinct integers and two nodes, X
and Y
. Your task is to find and return the Lowest Common Ancestor (LCA) of these two nodes...
Find the Lowest Common Ancestor (LCA) of two nodes in a binary tree.
Traverse the binary tree to find the paths from the root to nodes X and Y.
Compare the paths to find the last common node, which is the LCA.
Handle cases where one node is an ancestor of the other.
Consider edge cases like when X or Y is the root node.
Implement a recursive or iterative solution to find the LCA efficiently.
You are provided with a sorted array that has undergone 'K' rotations (the exact value of 'K' is unknown). A rotation involves shifting each element of the array to the right,...
Implement a function to find the minimum number in a rotated sorted array efficiently.
Use binary search to find the minimum element in the rotated array.
Compare the mid element with the start and end elements to determine which half of the array to search next.
Continue the binary search until the minimum element is found.
Given an array TREE
of 'N' unique integers, construct a maximum binary tree using the following rules:
TREE
.Construct a maximum binary tree from an array of unique integers following specific rules.
Find the maximum number in the array to set as the root of the tree.
Recursively construct the left subtree with elements before the maximum number.
Recursively construct the right subtree with elements after the maximum number.
Tip 1 : Must do Previously asked Interview as well as Online Test Questions.
Tip 2 : Go through all the previous interview experiences from Codestudio and Leetcode.
Tip 3 : Do at-least 2 good projects and you must know every bit of them.
Tip 1 : Have at-least 2 good projects explained in short with all important points covered.
Tip 2 : Every skill must be mentioned.
Tip 3 : Focus on skills, projects and experiences more.
I applied via Campus Placement
A chemical engineer can help Citi by providing expertise in process optimization, risk management, and sustainability.
Optimizing Citi's manufacturing processes to reduce costs and increase efficiency
Developing risk management strategies to ensure compliance with environmental regulations
Implementing sustainable practices to reduce Citi's environmental impact
Providing technical expertise in chemical reactions and materi...
based on 2 interviews
Interview experience
based on 26 reviews
Rating in categories
Assistant Manager
2.6k
salaries
| ₹4.5 L/yr - ₹15 L/yr |
Manager
2.1k
salaries
| ₹8.1 L/yr - ₹28.1 L/yr |
Senior Software Engineer
1.6k
salaries
| ₹7.8 L/yr - ₹26 L/yr |
Assistant Vice President
1.5k
salaries
| ₹13.8 L/yr - ₹45 L/yr |
Software Engineer
1.4k
salaries
| ₹4.9 L/yr - ₹14.5 L/yr |
Wells Fargo
JPMorgan Chase & Co.
Cholamandalam Investment & Finance
Citicorp