i
Paytm
Filter interviews by
Move all zeroes to the end of an array of strings.
Iterate through the array and keep track of the count of zeroes encountered.
Swap non-zero elements with the first zero encountered to move zeroes to the end.
Dagger is required for dependency injection in Android development.
Dagger helps in managing dependencies and reduces boilerplate code.
It provides compile-time safety and improves code readability.
Dagger also helps in testing and modularizing the codebase.
It is widely used in Android development for building scalable and maintainable apps.
The garbage collector in Android automatically manages memory by reclaiming unused objects.
Garbage collector identifies objects that are no longer referenced by the program.
It frees up memory occupied by these objects, making it available for future use.
The process involves marking objects as reachable or unreachable, and then reclaiming memory from unreachable objects.
Garbage collection can be triggered automatic...
To set equal spacing between childs of constraint layout, use the chain style property.
Create a chain of the views that need equal spacing using the chain style property.
Set the chain style to spread inside the constraint layout.
Adjust the margins of the views to control the spacing.
Use the layout_constraintHorizontal_chainStyle or layout_constraintVertical_chainStyle attribute to set the chain style.
Example: app:...
Context in Android refers to the current state of the application. There are different types of context in Android with varying scopes and lifecycles.
Context is an abstract class in Android that allows access to application-specific resources and classes.
There are three main types of context in Android: Application Context, Activity Context, and Service Context.
Application Context is tied to the lifecycle of the a...
Given an integer N
, convert it to its corresponding Roman numeral representation. Roman numerals comprise seven symbols: I, V, X, L, C, D, and M.
N = 2
Convert an integer to its corresponding Roman numeral representation.
Create a mapping of integer values to Roman numeral symbols.
Iterate through the mapping in descending order of values and build the Roman numeral representation.
Subtract the largest possible value from the integer at each step and append the corresponding Roman numeral symbol.
Repeat until the integer becomes 0.
Given a positive integer N
, find the number of ways to express N
as a sum of cubes of two integers, A
and B
, such that:
N = A^3 + B^3
Ensure you adhere to the following co...
The problem involves finding the number of ways to express a given positive integer as a sum of cubes of two integers.
Iterate through all possible values of A and B within the given constraints.
Check if A^3 + B^3 equals the given N, increment the count if true.
Handle the case where A = B separately to avoid counting duplicates.
You are given a set of 'N' stones, each with a specific weight and color. The goal is to fill a knapsack with exactly 'M' stones, choosing one stone of each color, so that the tot...
The Colorful Knapsack Problem involves selecting one stone of each color to fill a knapsack with a given weight capacity, minimizing unused capacity.
Iterate through the stones and keep track of the minimum weight for each color.
Use dynamic programming to find the optimal solution by considering all possible combinations.
Handle cases where the knapsack cannot be filled under the given conditions by returning -1.
In ...
Move all zeroes to the end of an array of strings.
Iterate through the array and keep track of the count of zeroes encountered.
Swap non-zero elements with the first zero encountered to move zeroes to the end.
Context in Android refers to the current state of the application. There are different types of context in Android with varying scopes and lifecycles.
Context is an abstract class in Android that allows access to application-specific resources and classes.
There are three main types of context in Android: Application Context, Activity Context, and Service Context.
Application Context is tied to the lifecycle of the applic...
I appeared for an interview in Aug 2021.
Round duration - 45 Minutes
Round difficulty - Easy
You are tasked with creating a class named BSTIterator
that acts as an iterator for the inorder traversal of a binary search tree. Implement the following functions:
BST...
Create a BSTIterator class for inorder traversal of a binary search tree.
Implement a constructor that takes the root of the binary search tree and initializes the iterator.
Implement next() function to return the next smallest element in the inorder traversal.
Implement hasNext() function to check if there is a next element in the inorder traversal.
Traverse the binary search tree in inorder to get the desired output.
Given an integer N
, convert it to its corresponding Roman numeral representation. Roman numerals comprise seven symbols: I, V, X, L, C, D, and M.
N = 2
Convert an integer to its corresponding Roman numeral representation.
Create a mapping of integer values to Roman numeral symbols.
Iterate through the mapping in descending order of values and build the Roman numeral representation.
Subtract the largest possible value from the integer at each step and append the corresponding Roman numeral symbol.
Repeat until the integer becomes 0.
Round duration - 45 Minutes
Round difficulty - Medium
Given a positive integer N
, find the number of ways to express N
as a sum of cubes of two integers, A
and B
, such that:
N = A^3 + B^3
Ensure you adhere to the following c...
The problem involves finding the number of ways to express a given positive integer as a sum of cubes of two integers.
Iterate through all possible values of A and B within the given constraints.
Check if A^3 + B^3 equals the given N, increment the count if true.
Handle the case where A = B separately to avoid counting duplicates.
You are given a set of 'N' stones, each with a specific weight and color. The goal is to fill a knapsack with exactly 'M' stones, choosing one stone of each color, so that the to...
The Colorful Knapsack Problem involves selecting one stone of each color to fill a knapsack with a given weight capacity, minimizing unused capacity.
Iterate through the stones and keep track of the minimum weight for each color.
Use dynamic programming to find the optimal solution by considering all possible combinations.
Handle cases where the knapsack cannot be filled under the given conditions by returning -1.
In the g...
Round duration - 15 Minutes
Round difficulty - Easy
Tip 1 : Clear all the topics related to Android with deep details about every topics.
Tip 2 : Practice DSA and algorithms from GFG, CodeStudio daily.
Tip 3 : Dry run code before running the code.
Tip 1 : Mention your open source contributions/ participation in hackathons.
Tip 2 : Provide links to your projects.
I applied via Naukri.com and was interviewed in Apr 2020. There was 1 interview round.
Dagger is required for dependency injection in Android development.
Dagger helps in managing dependencies and reduces boilerplate code.
It provides compile-time safety and improves code readability.
Dagger also helps in testing and modularizing the codebase.
It is widely used in Android development for building scalable and maintainable apps.
The garbage collector in Android automatically manages memory by reclaiming unused objects.
Garbage collector identifies objects that are no longer referenced by the program.
It frees up memory occupied by these objects, making it available for future use.
The process involves marking objects as reachable or unreachable, and then reclaiming memory from unreachable objects.
Garbage collection can be triggered automatically ...
Top trending discussions
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...
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...
I applied via Campus Placement
Object Oriented Programming is a programming paradigm that uses objects to represent real-world entities.
Encapsulation: bundling data and methods that operate on that data within one unit
Inheritance: creating new classes from existing ones, inheriting their properties and methods
Polymorphism: ability of objects to take on multiple forms or behaviors
Abstraction: hiding complex implementation details and providing a simp...
Abstraction is hiding implementation details while polymorphism is using a single interface for multiple types.
Abstraction: Encapsulation, Interfaces, Abstract classes
Polymorphism: Method Overloading, Method Overriding, Interfaces
Abstraction Example: Car - we don't need to know how the engine works to drive it
Polymorphism Example: Animal - different animals have different sounds but they all have a 'makeSound' method
Design classes for a simple library management system with books and users.
Class Book: Attributes include title, author, ISBN, and availability status.
Class User: Attributes include name, user ID, and a list of borrowed books.
Class Library: Methods to add/remove books, register users, and manage book loans.
Example: Book class could have a method to check availability before loaning.
PayPal is an online payment system that allows individuals and businesses to transfer funds electronically.
Allows users to make payments and money transfers online
Offers a secure and convenient way to pay for goods and services
Provides a platform for businesses to accept payments online
Offers buyer and seller protection for eligible transactions
Can be used to send and receive money internationally
Thresholding is a technique in machine learning used to classify data based on a defined cutoff value.
Thresholding converts continuous data into discrete classes.
Example: In image processing, pixels above a certain intensity are classified as 'foreground'.
In binary classification, a threshold can determine if an output is 'positive' or 'negative'.
Choosing the right threshold is crucial for model performance; it can aff...
I am excited to join PayPal because of its innovative culture and impact on the global economy.
PayPal's commitment to innovation aligns with my passion for staying up-to-date with the latest technologies.
I am impressed by PayPal's global reach and impact on the economy, and I want to be a part of that.
I appreciate PayPal's focus on diversity and inclusion, and I believe in the importance of working for a company with s...
based on 2 interview experiences
Difficulty level
Duration
based on 2 reviews
Rating in categories
Team Lead
2k
salaries
| ₹2 L/yr - ₹9.5 L/yr |
Senior Software Engineer
1.5k
salaries
| ₹11 L/yr - ₹38 L/yr |
Software Engineer
1.4k
salaries
| ₹6 L/yr - ₹21 L/yr |
Sales Executive
985
salaries
| ₹0.9 L/yr - ₹5.3 L/yr |
Senior Associate
958
salaries
| ₹2.2 L/yr - ₹9.1 L/yr |
BharatPe
Zerodha
Razorpay
Mobikwik