American Express
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Naukri.com and was interviewed before Jun 2022. There were 3 interview rounds.
Database, API, last company project details
Error codes are used to identify and communicate specific issues encountered during API calls.
Error codes should be descriptive and provide information about the issue encountered.
Use standard HTTP status codes for common errors (e.g. 404 for not found, 500 for internal server error).
Include additional error details in the response body for more specific information.
Handle errors gracefully in the client code to provid
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 in Jun 2017.
Ajax calls allow for asynchronous communication between client and server without reloading the page.
Ajax stands for Asynchronous JavaScript and XML
Uses XMLHttpRequest object to send and receive data
Allows for partial page updates without reloading the entire page
Can handle data in various formats such as JSON, XML, HTML, and plain text
Example: $.ajax({url: 'example.com', success: function(data){console.log(data)}});
REST is lightweight and uses HTTP while SOAP is XML-based and has more features.
REST uses HTTP methods like GET, POST, PUT, DELETE while SOAP uses XML messaging.
REST is stateless while SOAP can maintain state.
REST is faster and easier to use while SOAP is more secure and reliable.
REST is used for web services while SOAP is used for enterprise-level services.
Example of REST: Twitter API. Example of SOAP: Amazon Web Serv
GET and POST are HTTP methods used for sending data to a server.
GET is used to retrieve data from a server
POST is used to submit data to a server
GET requests can be cached and bookmarked
POST requests are not cached and cannot be bookmarked
GET requests have length restrictions
POST requests have no length restrictions
GET requests are less secure than POST requests
Observer pattern is a design pattern in which an object maintains a list of its dependents and notifies them automatically of any state changes.
Also known as publish-subscribe pattern
Used in event-driven systems
Allows loose coupling between objects
Example: A weather station broadcasts weather updates to multiple displays
Example: A stock market ticker notifies multiple investors of stock price changes
Singleton is a design pattern that restricts the instantiation of a class to a single object.
Singleton ensures that only one instance of a class exists in the entire application.
It provides a global point of access to the instance.
Commonly used in scenarios where a single instance needs to coordinate actions across the system.
Example: Database connection manager, logger, configuration manager.
Immutable in Java refers to objects whose state cannot be changed after creation.
String, Integer, and other wrapper classes are immutable in Java.
Immutable objects are thread-safe and can be shared without synchronization.
To create an immutable class, make all fields final and private, and don't provide setters.
Examples of immutable classes in Java include LocalDate, LocalTime, and LocalDateTime.
Creating immutable in Java
Use final keyword to make variables immutable
Use private constructor to prevent object modification
Use defensive copying to prevent modification of mutable objects
Use enum to create immutable objects
Use String class to create immutable strings
Dependency injection is a design pattern that allows objects to receive dependencies rather than creating them internally.
It helps to decouple the code and makes it more testable and maintainable.
It allows for easier swapping of dependencies without changing the code.
There are three types of dependency injection: constructor injection, setter injection, and interface injection.
Example: Instead of creating a database co...
CORS stands for Cross-Origin Resource Sharing. It is a security feature implemented in web browsers to restrict access to resources from different origins.
CORS allows web servers to specify which origins are allowed to access its resources
It is implemented using HTTP headers
CORS prevents malicious websites from accessing sensitive data from other websites
Examples of resources that may be restricted by CORS include cook
CORS can be overcome by configuring the server to allow cross-origin requests.
Configure the server to include the Access-Control-Allow-Origin header
Use JSONP (JSON with Padding) to bypass CORS restrictions
Use a proxy server to make the request on behalf of the client
Use a browser extension to disable CORS restrictions during development
Use a server-side proxy to forward requests to the target server
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...
Autocomplete in IDEs helps developers write code faster by suggesting code snippets and completing code as they type.
Autocomplete should suggest code snippets based on the context of the code being written
Autocomplete should prioritize suggestions based on frequency of use
Autocomplete should also suggest variable and function names
Autocomplete should be customizable to allow for user-defined snippets and suggestions
Exa...
My weakness is public speaking.
I tend to get nervous when speaking in front of large groups.
I am working on improving my public speaking skills by practicing and seeking feedback.
I have taken courses and attended workshops to help me overcome my fear of public speaking.
Comparing 2 basketball game scenarios with different number of trials and baskets required to win
Calculate the probability of winning in each game scenario using binomial distribution formula
Compare the probabilities to determine which game scenario is preferable
In game1, the probability of winning is p. In game2, the probability of winning is the sum of probabilities of making 2 or 3 baskets
If p is high, game1 is pref...
based on 1 interview
Interview experience
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