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...
The naive approach to solve this problem is to consider each and every possible move until we reach the destination.
This can be done using recursion. Below is the algorithm:
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 ...
Initialize a variable ‘direction’ with 0 which means that the robot is initially facing towards the north.
direction: 0 -> Robot is facing towards the North
direction: 1 -> Robot is facing towards the West
direction: 2 -> Robot is facing towards the South
direction: 3 -> Robot is facing towards the West
Initialize two variables ‘x’ and ‘y’ as 0. They will represent the position ...
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 ...
This problem can be solved by solving its subproblems and then combining the solutions of the solved subproblems to solve the original problem. We will do this using recursion.
Basically, we have to buy the stock at the minimum possible price and sell at the maximum possible price, keeping in mind that we have to sell the stock before buying it again.
Below is the detailed algorithm:
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...
O(1)
As constant extra space is used.
Time Complexity: O(n^2)Explanation:O(N^2), where N is the size of the array.
As we are running two nested loops of size N.
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 applied via Approached by Company and was interviewed in Feb 2024. There was 1 interview round.
CRFT is a framework for building full-stack web applications using React, Flask, and TypeScript.
CRFT stands for React, Flask, and TypeScript, which are the technologies used in the framework
It allows developers to build full-stack web applications with a modern tech stack
CRFT provides a structured way to develop web applications by combining front-end and back-end technologies
posted on 11 Mar 2022
I was interviewed in Nov 2022.
Round duration - 60 Minutes
Round difficulty - Medium
This round had questions mainly from Java 8 and its important features followed by some questions from Spring Boot.
Java 8 streams are a sequence of elements that can be processed in parallel or sequentially.
Streams provide a functional programming approach to process collections in Java.
They allow for concise and expressive code.
Streams can be used to filter, map, reduce, and perform other operations on data.
Example: List
T...
A Java 8 program to iterate a Stream using the forEach method.
Create a Stream object from a collection or array
Use the forEach method to perform an action on each element of the Stream
The action can be a lambda expression or a method reference
Spring Boot is a framework that simplifies the development of Java applications by providing default configurations and dependencies.
Spring Boot eliminates the need for manual configuration by providing sensible defaults.
It uses an embedded server, such as Tomcat or Jetty, to run the application.
Spring Boot automatically configures the application based on the dependencies added to the project.
It promotes convention ov...
Dependency Injection is a design pattern where the dependencies of a class are provided externally rather than being created within the class itself.
Dependency Injection helps in achieving loose coupling between classes.
It allows for easier testing and maintenance of code.
In Spring Boot, dependencies are injected using annotations like @Autowired.
Example: In a Spring Boot application, if a class requires a database con...
The @RestController annotation in Spring Boot is used to mark a class as a RESTful controller.
It combines the @Controller and @ResponseBody annotations.
It eliminates the need for annotating each method with @ResponseBody.
It automatically serializes the return value of the methods into JSON/XML response.
It is commonly used to build RESTful web services in Spring Boot.
Different methods of session management in Servlet
Cookies
URL Rewriting
Hidden Form Fields
Session Tracking API
HTTP Session
Round duration - 60 Minutes
Round difficulty - Medium
This was a preety much mixed round ranging questions from Java , MVC to DBMS , Web Security and API Design. More emphasis was given on the fundamentals of the subject rather than the advanced topics.
CORS in MVC is Cross-Origin Resource Sharing, a mechanism that allows restricted resources on a web page to be requested from another domain.
CORS is a security feature implemented in web browsers to prevent cross-origin requests by default.
It works by adding specific HTTP headers to the server's response, indicating which origins are allowed to access the resources.
In MVC, CORS can be configured using the 'EnableCors' ...
MVC components include Model, View, and Controller. Model represents data and business logic, View displays the data, and Controller handles user input and updates the Model and View.
Model: Represents data and business logic
View: Displays the data to the user
Controller: Handles user input and updates the Model and View
Clustered index determines the physical order of data in a table, while non-clustered index has a separate structure.
Clustered index determines the physical order of data in a table
Non-clustered index has a separate structure that includes a copy of the indexed columns and a pointer to the actual data
A table can have only one clustered index, but multiple non-clustered indexes
Clustered index is faster for retrieving la...
SQL injection is a web security vulnerability that allows an attacker to manipulate a database query to execute unauthorized actions.
SQL injection occurs when user-supplied data is not properly validated or sanitized before being used in an SQL query.
Attackers can exploit this vulnerability to bypass authentication, retrieve sensitive data, modify or delete data, or even execute arbitrary commands.
To prevent SQL inject...
Web services offer advantages such as interoperability, scalability, reusability, and platform independence.
Interoperability: Web services allow different applications to communicate and share data regardless of the programming languages or platforms they are built on.
Scalability: Web services can handle a large number of requests and can be easily scaled up or down to meet changing demands.
Reusability: Web services pr...
Round duration - 45 Minutes
Round difficulty - Medium
This round started with some questions from Frontend Web Development primarily from HTML and CSS followed by some questions from DevOps and Git. The interviewer was quite satisfied by my answers and overall this round went preety well.
Optimize website assets loading by minimizing file sizes, leveraging caching, and using asynchronous loading.
Minimize file sizes by compressing images, minifying CSS and JavaScript files
Leverage caching by setting appropriate cache headers and using a content delivery network (CDN)
Use asynchronous loading techniques such as lazy loading, deferred loading, and async/defer attributes
Combine and bundle multiple files to r...
The new tags in Media Elements in HTML5 are
The
The
Both tags support various attributes and can be styled using CSS.
Example:
Example:
Docker is a containerization platform that allows developers to package applications with their dependencies for easy deployment and scalability.
Docker enables developers to create lightweight, isolated containers that can run on any operating system.
It simplifies the deployment process by ensuring that the application and its dependencies are bundled together, eliminating compatibility issues.
Docker allows for easy sc...
Git pull combines git fetch and git merge, while git fetch only downloads new data from a remote repository.
Git pull is used to update the local branch with the latest changes from the remote repository.
Git fetch only downloads new data from the remote repository, but does not integrate it into the local branch.
Git pull is a combination of git fetch and git merge commands.
Git fetch is useful to see what changes have be...
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 Recruitment Consulltant and was interviewed before Nov 2021. There were 4 interview rounds.
Easy Questions based on Array and String Data Structure
A website URL is a unique address that identifies a web page on the internet.
URL stands for Uniform Resource Locator
It consists of a protocol (http/https), domain name, and path
The domain name is translated to an IP address using DNS
The path specifies the location of the resource on the server
Example: https://www.google.com/search?q=url
Event loop is a mechanism in JavaScript that handles asynchronous operations.
Event loop continuously checks the call stack and the task queue.
If the call stack is empty, it takes the first task from the queue and pushes it to the call stack.
Callbacks are added to the task queue when an asynchronous operation is completed.
Event loop ensures that the code runs in a non-blocking way.
Example: setTimeout() function adds a c...
Given an array, find a pair with sum = k.
Use a hash table to store the difference between k and each element in the array.
Iterate through the array and check if the current element is present in the hash table.
If it is present, return the pair of elements that add up to k.
Find first minimum and maximum number in an array using streams
Use IntStream to convert array to stream of integers
Use min() and max() methods to find minimum and maximum values
Use findFirst() method to get the first occurrence of minimum and maximum values
I applied via Naukri.com and was interviewed in Mar 2021. There was 1 interview round.
I have experience in implementing saga design patterns and designing saga solutions.
Saga design pattern is used to manage long-lived transactions across microservices.
It involves breaking down a transaction into smaller steps or events.
Each step is handled by a separate microservice.
If a step fails, the saga coordinator rolls back the previous steps.
I have implemented saga design patterns using tools like Apache Kafka
posted on 1 Oct 2024
I applied via Campus Placement
DP graphs strings it was good
Reverse a linked list by changing the direction of pointers
Start with three pointers: current, previous, and next
Iterate through the list, updating pointers to reverse the direction
Return the new head of the reversed list
The Fibonacci series is a sequence of numbers where each number is the sum of the two preceding ones.
Start with two variables initialized to 0 and 1
Loop through desired number of iterations, adding the previous two numbers to get the next number
Print or store each number in the series
I want to switch to explore new technologies and challenges in a different industry.
Interested in learning new skills and technologies
Seeking new challenges and opportunities for growth
Want to explore different industry perspectives
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 at MET Institute of Computer Science, Mumbai and was interviewed in Apr 2023. There were 4 interview rounds.
Logical,quants,coding
Method overriding is a feature in object-oriented programming where a subclass provides a specific implementation of a method that is already provided by its parent class.
In method overriding, the method in the subclass has the same name, return type, and parameters as the method in the parent class.
The purpose of method overriding is to provide a specific implementation of a method in the subclass that is different fr...
Exception handling in Java is a mechanism to handle runtime errors and prevent program crashes.
Exceptions are objects that represent errors or unexpected events during program execution.
Java provides try, catch, and finally blocks to handle exceptions.
try block contains the code that may throw an exception, catch block handles the exception, and finally block is executed regardless of an exception.
Example: try { // cod...
posted on 13 Feb 2024
Use quicksort algorithm to efficiently sort the array of strings.
Implement the quicksort algorithm to sort the array in-place.
Choose a pivot element and partition the array around it.
Recursively apply quicksort to the sub-arrays on both sides of the pivot.
Repeat until the array is sorted.
Consider using a comparison function to handle string sorting.
Business Analyst
884
salaries
| ₹9.7 L/yr - ₹17 L/yr |
Assistant Manager
717
salaries
| ₹14 L/yr - ₹42 L/yr |
Senior Analyst
581
salaries
| ₹5.4 L/yr - ₹23 L/yr |
Analyst
504
salaries
| ₹12.5 L/yr - ₹27 L/yr |
Lead Analyst
490
salaries
| ₹4 L/yr - ₹13 L/yr |
MasterCard
Visa
PayPal
State Bank of India