American Express
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I was interviewed in Aug 2021.
Round duration - 90 minutes
Round difficulty - Medium
The test happened at 9 PM, and the duration was of 90 mins. The test was held on Codility platform.
You are given a source point (sx, sy) and a destination point (dx, dy). Determine if it is possible to reach the destination point using only the following valid mo...
Determine if it is possible to reach the destination point from the source point using specified moves.
Use depth-first search (DFS) to explore all possible paths from source to destination.
Keep track of visited points to avoid infinite loops.
Check if the destination point is reachable by following the valid moves.
Return true if destination is reachable, false otherwise.
You have a robot currently positioned at the origin (0, 0) on a two-dimensional grid, facing the north direction. You are given a sequence of moves in the form of a string ...
Determine if a robot's movement path is circular on a 2D grid based on a given sequence of moves.
Iterate through the sequence of moves and keep track of the robot's position and direction.
Check if the robot returns to the starting position after completing the moves.
Use a counter-clockwise rotation (L) and clockwise rotation (R) to update the direction of the robot.
Use 'G' to move the robot one unit in the current dire
Imagine you are Harshad Mehta's friend, and you have been given the stock prices of a particular company for the next 'N' days. You can perform up to two buy-and-sell ...
The task is to determine the maximum profit that can be achieved by performing up to two buy-and-sell transactions on a given set of stock prices.
Iterate through the array of stock prices to find the maximum profit that can be achieved by buying and selling stocks at different points.
Keep track of the maximum profit that can be achieved by considering all possible combinations of buy and sell transactions.
Ensure that y...
Round duration - 45 minutes
Round difficulty - Easy
The timing for this round was around 10 AM. How to optimize website assets loading? Explain Hoisting in javascript.
Given an integer array/list arr
and an integer 'Sum', determine the total number of unique pairs in the array whose elements sum up to the given 'Sum'.
The first line c...
Count the total number of unique pairs in an array whose elements sum up to a given value.
Use a hashmap to store the frequency of each element in the array.
Iterate through the array and for each element, check if (Sum - current element) exists in the hashmap.
Increment the count of pairs if the complement exists in the hashmap.
Divide the count by 2 to avoid counting duplicates like (arr[i], arr[j]) and (arr[j], arr[i])
Round duration - 30 minutes
Round difficulty - Easy
This was a problem solving round and consisted of puzzles and mathematical problems.
Tip 1 : Be good at problem solving, accuracy and speed matters.
Tip 2 : Also prepare core CS subjects, OS, OOPS, DBMS.
Tip 3 : Be thorough with your resumé.
Tip 1 : Keep at least 2 great projects on resume.
Tip 2 : Try to include only tech-related information in resumé( for SDE roles).
I was interviewed before Jan 2021.
Round duration - 90 minutes
Round difficulty - Medium
It was conducted in Hacker rank which consisted of 10 aptitude questions that included C, C++, Java MCQ. 2 programming questions were also given.
Given an N x M
matrix filled with integers, determine the minimum sum obtainable from a path that starts at a specified cell (x, y)
and ends at the top left corner of t...
The problem involves finding the minimum sum path from a specified cell to the top left corner of a matrix.
Start from the specified cell and calculate the minimum sum path to reach the top left corner using dynamic programming.
Consider the three possible moves: down, right, and down-right diagonal.
Keep track of the minimum sum at each cell and update it based on the minimum of the three possible moves.
Finally, the mini...
Given an integer N
representing the number of pairs of parentheses, find all the possible combinations of balanced parentheses using the given number of pairs.
Generate all possible combinations of balanced parentheses for a given number of pairs.
Use backtracking to generate all possible combinations of balanced parentheses.
Keep track of the number of open and close parentheses used in each combination.
Recursively generate combinations by adding open parentheses if there are remaining, and closing parentheses if the number of open parentheses is greater than the number of clo...
Round duration - 60 minutes
Round difficulty - Medium
Technical round with questions based on data structures, oops and networking.
Create a program that counts and prints the total number of specific character types from user input. Specifically, you need to count lowercase English alphabets, numeric digi...
Create a program to count lowercase alphabets, digits, and white spaces from user input until '$' is encountered.
Read characters from input stream until '$' is encountered
Count lowercase alphabets, digits, and white spaces separately
Print the counts of each character type as three integers separated by spaces
Given an unsorted array containing 'N' integers, you are required to find 'K' largest elements from the array and return them in non-decreasing order.
The fir...
Find K largest elements in an unsorted array and return them in non-decreasing order.
Sort the array in non-decreasing order.
Return the last K elements of the sorted array.
To check internet connection on a system, you can use various methods like pinging a website or checking network status.
Use ping command to check connectivity to a website (e.g. ping www.google.com)
Check network status using network settings or command line tools
Try accessing a website or online service to verify internet connection
When you type a URL in a web browser, the browser sends a request to the server hosting the website, which then responds with the necessary files to display the webpage.
Browser checks cache for DNS resolution
If not found, browser sends a DNS query to resolve the domain name to an IP address
Browser establishes a TCP connection with the server
Browser sends an HTTP request to the server for the webpage
Server processes the...
Round duration - 60 minutes
Round difficulty - Medium
Technical round with questions based on data structures, oops and networking.
Ninja is learning about sorting algorithms, specifically those that do not rely on comparisons. Can you help Ninja implement the counting sort algorithm?
Implement counting sort algorithm to sort an array of integers without comparisons.
Count the frequency of each element in the input array.
Calculate the prefix sum of frequencies to determine the position of each element in the sorted array.
Place each element in its correct position based on the prefix sum.
Time complexity of counting sort is O(n+k), where n is the number of elements and k is the range of input.
Example: ...
The Fibonacci series has applications in various fields such as mathematics, computer science, art, and nature.
Used in algorithms for optimization problems and dynamic programming.
Found in nature, such as the arrangement of leaves on a stem, the branching of trees, and the spiral shapes of shells.
Applied in financial markets for predicting stock prices and analyzing market trends.
Utilized in art and design for creating
Round duration - 30 minutes
Round difficulty - Easy
HR round where the interviewer asked questions to know more about me.
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 was interviewed before Jan 2021.
Round duration - 60 minutes
Round difficulty - Easy
Technical Interview Round with questions based on Data structures, OOPS and SQL.
You are provided with a linked list of integers. Your task is to implement a function that deletes a node located at a specified position 'POS'.
The first line co...
Implement a function to delete a node from a linked list at a specified position.
Traverse the linked list to find the node at the specified position.
Update the pointers of the previous and next nodes to skip the node to be deleted.
Handle edge cases such as deleting the head or tail of the linked list.
Ensure to free the memory of the deleted node to avoid memory leaks.
SQL query to find the nth highest salary
Use the ORDER BY clause to sort salaries in descending order
Use the LIMIT and OFFSET clauses to skip the first n-1 highest salaries
Combine the above steps in a single query to find the nth highest salary
OOP is a programming paradigm based on the concept of objects, which can contain data in the form of fields and code in the form of procedures.
OOP focuses on creating objects that interact with each other to solve problems.
Key concepts include encapsulation, inheritance, and polymorphism.
Encapsulation involves bundling data and methods that operate on the data into a single unit.
Inheritance allows classes to inherit at...
Round duration - 60 minutes
Round difficulty - Easy
Was asked me about my favorite technologies, What i liked about Facebook. And asked me to design a cinema ticket reservation web site like the one satyam has.
Given an array containing N
distinct positive integers and a number K
, determine the Kth largest element in the array.
N = 6, K = 3, array = [2, 1, 5, 6, 3, ...
Find the Kth largest element in an array of distinct positive integers.
Sort the array in non-increasing order and return the Kth element.
Handle multiple test cases efficiently.
Ensure all elements in the array are distinct.
Virtual functions are functions in a base class that are overridden in derived classes to achieve runtime polymorphism.
Virtual functions are declared in a base class with the 'virtual' keyword.
They are overridden in derived classes using the 'override' keyword.
They allow a function to be called based on the runtime type of an object.
Virtual functions enable dynamic binding and late binding in C++.
Example: virtual void ...
Design a Cinema Ticket Reservation System
Use a database to store movie information, showtimes, and seat availability
Allow users to search for movies, select showtimes, and choose seats
Implement a payment system for ticket purchases
Send confirmation emails with QR codes for ticket validation
You can find a defective ball among 10 given balls in 2 attempts using a two-pan balance scale.
Divide the 10 balls into two groups of 5 each.
Weigh the two groups on the balance scale.
If one group is heavier, it contains the defective ball. If they are equal, the defective ball is in the remaining 5 balls.
Divide the group of 5 balls with the defective one into two groups of 2 and 3 balls.
Weigh the two groups on the bala...
Round duration - 30 minutes
Round difficulty - Easy
HR round that lasted for about 30 minutes. The interviewer asked me questions to know more about me and a puzzle.
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 was interviewed before Jan 2021.
Round duration - 60 minutes
Round difficulty - Easy
I couldn't find an optimal approach to the first question, so she skipped that question and proceeded to next questions. Remaining questions I have answered satisfactorily.
Given an array/list of positive integers and an integer K, determine if there exists a subset whose sum equals K.
Provide true
if such a subset exists, otherwise r...
Given an array of positive integers and an integer K, determine if there exists a subset whose sum equals K.
Use dynamic programming to solve this problem efficiently
Create a 2D array to store if a subset with a particular sum exists
Iterate through the array and update the 2D array accordingly
Check if the value at the end of the iteration is true for the given K
Given an undirected and disconnected graph G(V, E) where V vertices are numbered from 0 to V-1, and E represents edges, your task is to output the BFS traversal starting from the ...
BFS traversal in a disconnected graph starting from vertex 0.
Implement BFS algorithm to traverse the graph starting from vertex 0.
Use a queue to keep track of visited nodes and their neighbors.
Ensure to print the traversal sequence in the correct order.
Handle disconnected components by checking for unvisited nodes.
Follow the BFS approach of exploring neighbors before moving to the next level.
Round duration - 60 minutes
Round difficulty - Easy
I told that my strength is problem solving and I can always find a way when there is a bottle-neck. Gave some examples of my experiences while doing my assignments.
Given a string STR
consisting of words separated by spaces, your task is to replace all spaces between words with the characters "@40".
The first line contains an integ...
Replace spaces in a string with '@40'.
Iterate through each character in the string
Replace spaces with '@40'
Return the modified string
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 was interviewed before Mar 2016.
Race condition is a situation where multiple threads/processes access and manipulate shared data simultaneously.
It can be eliminated by using synchronization techniques like locks, semaphores, and mutexes.
Another way is to use atomic operations that ensure the data is accessed and modified atomically.
Using thread-safe data structures can also prevent race conditions.
Example: Two threads trying to increment a shared var...
JCube is a Java library for creating and manipulating Rubik's Cube puzzles.
JCube provides classes for representing Rubik's Cube puzzles and algorithms for solving them.
It supports various cube sizes and can generate random scrambles.
JCube can be used in Java applications or as a standalone command-line tool.
It is open source and available on GitHub.
Regression testing is the process of testing changes made to a software application to ensure that existing functionality still works.
It is performed after making changes to the software
It ensures that existing functionality is not affected by the changes
It helps to catch any defects or bugs that may have been introduced
It can be automated using testing tools
Examples include retesting after bug fixes, testing after new
Software engineering principles are the best practices and guidelines for developing high-quality software.
Software should be designed with modularity and scalability in mind.
Code should be well-documented and easy to read.
Testing and debugging should be an integral part of the development process.
Version control should be used to manage code changes.
Security and privacy should be considered throughout the development
A Singleton class is a class that can only have one instance at a time.
It restricts the instantiation of a class to a single object.
It provides a global point of access to that instance.
It is often used in situations where a single object is required to coordinate actions across a system.
Example: Database connection manager, Configuration manager, Logger manager.
Testing principles ensure software quality, while design principles guide software development.
Testing principles include unit testing, integration testing, and acceptance testing.
Design principles include SOLID, DRY, and KISS.
Testing principles ensure that software meets requirements and is free of defects.
Design principles guide software development to be modular, maintainable, and scalable.
I have the necessary skills, experience, and passion to contribute to VISA's success.
I have a strong background in software development and have worked on projects similar to those at VISA.
I am a quick learner and can adapt to new technologies and programming languages easily.
I am passionate about creating high-quality software that meets the needs of users and exceeds their expectations.
I am a team player and can work...
A profile that challenges me to learn and grow while allowing me to contribute to a team.
A position that encourages continuous learning and development
A role that allows me to collaborate with a team and contribute to projects
A company culture that aligns with my values and work ethic
I am interested in exploring new opportunities and challenges that this company can offer.
I am impressed with the company's reputation and growth potential.
I am excited about the projects and technologies this company is working on.
I believe this company can provide me with a better work-life balance and career growth opportunities.
I am looking for a company culture that aligns with my values and goals.
I am open to exp...
Developed a web application using Python and Django framework for managing inventory and sales.
Used Python programming language for backend development
Implemented Django framework for building web application
Designed database schema for inventory and sales data
Integrated frontend using HTML, CSS, and JavaScript
Implemented user authentication and authorization features
I applied via Campus Placement and was interviewed in Sep 2016. There were 4 interview rounds.
I am a passionate software developer with experience in Java, Python, and web development.
Experienced in Java, Python, and web development technologies
Strong problem-solving skills
Team player with excellent communication skills
My resume highlights my experience in software development and showcases my skills in various programming languages and technologies.
Worked on multiple projects using Java, Python, and C++
Developed web applications using HTML, CSS, and JavaScript
Experience with databases such as MySQL and MongoDB
Familiarity with Agile methodology and version control systems like Git
Participated in hackathons and coding competitions
I want to go for VISA to explore new opportunities and gain international experience.
To gain exposure to different cultures and work environments
To expand my skill set and learn new technologies
To work on challenging projects and contribute to the growth of the company
To build a global network of professionals and enhance my career prospects
A binary tree is a data structure in which each node has at most two children.
Start with a root node
Each node has a left and right child
Nodes can be added or removed
Traversal can be done in-order, pre-order, or post-order
Code a basic linked list
Create a Node class with data and next pointer
Create a LinkedList class with head pointer
Implement methods to add, delete, and search nodes in the linked list
A circular linked list is a data structure where the last node points back to the first node, forming a loop.
Create a Node class with data and next pointer
Initialize the head node and set its next pointer to itself
To add a node, create a new node and set its next pointer to the head node's next pointer, then update the head node's next pointer to the new node
To traverse the circular linked list, start from the head nod...
posted on 10 May 2015
Multi tasking, multi processing, and multi programming are different approaches to managing tasks in an operating system.
Multi tasking allows multiple tasks to run concurrently on a single processor.
Multi processing involves multiple processors running tasks simultaneously.
Multi programming allows multiple programs to be loaded into memory and executed concurrently.
Examples of multi tasking operating systems include Wi...
Memory allocation refers to the process of assigning memory to programs during runtime.
Stack allocation is done automatically and is limited in size.
Heap allocation is done manually and is larger in size.
Stack memory is used for local variables and function calls.
Heap memory is used for dynamic memory allocation.
Memory leaks can occur if heap memory is not properly managed.
Use a shared variable and synchronization mechanisms to ensure natural order printing of numbers.
Create two threads, one for printing even numbers and the other for printing odd numbers.
Use a shared variable to keep track of the current number to be printed.
Implement synchronization mechanisms like locks or semaphores to ensure only one thread can access the shared variable at a time.
Each thread should check if it is i...
Printing a matrix in spiral order
Start from the first element and print it
Move in a spiral order towards the center of the matrix
Repeat until all elements are printed
Thread class and Runnable Interface are used for multithreading in Java.
Thread class is a predefined class in Java that provides methods to create and control threads.
Runnable interface is used to define a task that can be executed by a thread.
Thread class implements Runnable interface.
Thread class provides more control over threads than Runnable interface.
Example: Thread t = new Thread(new MyRunnable()); t.start();
Exa...
Linked List is a dynamic data structure while ArrayList is a static data structure.
Linked List is best for frequent insertion and deletion operations.
ArrayList is best for frequent access operations.
Linked List uses more memory than ArrayList.
ArrayList is faster than Linked List for accessing elements.
Use Linked List when you need to frequently add or remove elements from the list.
Use ArrayList when you need to frequen
I am not interested in a career in investment banking.
I am more interested in a career in software development
I enjoy problem-solving and creating innovative solutions through coding
Investment banking does not align with my passion and skill set
I have chosen to apply to J.P. Morgan because of their reputation, global presence, and opportunities for growth.
J.P. Morgan has a strong reputation in the financial industry.
They have a global presence with offices in multiple countries.
The company offers various opportunities for career growth and development.
J.P. Morgan is known for its innovative technology solutions in the financial sector.
I am impressed by their ...
Yes, I have made a mistake in my previous project.
I underestimated the complexity of a task and ended up missing the deadline.
I failed to properly test a feature, resulting in a bug that affected user experience.
I accidentally deleted an important file without having a backup.
I misunderstood a requirement and implemented a feature incorrectly.
I applied via Campus Placement and was interviewed in Dec 2016. There were 3 interview rounds.
Find subset of numbers in array that sum up to zero.
Use a nested loop to iterate through all possible subsets.
Calculate the sum of each subset and check if it equals zero.
Store the subset if the sum is zero.
Optimize the solution by using a hash set to store the cumulative sum of elements.
BFS (Breadth-First Search) is a graph traversal algorithm that explores all the vertices of a graph in breadth-first order.
BFS starts at a given vertex and explores all its neighbors before moving to the next level of vertices.
It uses a queue data structure to keep track of the vertices to be visited.
BFS guarantees that it visits all the vertices of a connected graph.
It can be used to find the shortest path between two
In 5 years, I see myself as a highly skilled software developer, leading a team and contributing to innovative projects.
Continuously improving my technical skills through learning and hands-on experience
Taking on leadership roles and mentoring junior developers
Contributing to the development of cutting-edge software solutions
Building strong relationships with clients and stakeholders
Staying updated with the latest indu...
Business Analyst
875
salaries
| ₹0 L/yr - ₹0 L/yr |
Assistant Manager
702
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Analyst
590
salaries
| ₹0 L/yr - ₹0 L/yr |
Analyst
544
salaries
| ₹0 L/yr - ₹0 L/yr |
Lead Analyst
491
salaries
| ₹0 L/yr - ₹0 L/yr |
MasterCard
Visa
PayPal
State Bank of India