i
Rakuten
Filter interviews by
Clear (1)
I applied via LinkedIn and was interviewed before Sep 2023. There were 5 interview rounds.
System design for use cases involves identifying requirements, designing components, and ensuring scalability and reliability.
Identify use cases and requirements
Design components to meet use case requirements
Ensure scalability and reliability of the system
Consider factors like performance, security, and maintainability
Use tools like UML diagrams, flowcharts, and architecture diagrams
Architecture for real scenarios involves designing systems that can handle real-world use cases and challenges.
Consider scalability to handle increasing user load
Ensure reliability and fault tolerance to prevent system failures
Design for security to protect sensitive data
Optimize performance for efficient operation
Implement monitoring and logging for troubleshooting
Use microservices architecture for flexibility and mod
System design involves creating a high-level architecture for a software system to meet specific requirements.
Identify the requirements and constraints of the system
Break down the system into components and modules
Define the interactions between components
Consider scalability, reliability, and performance
Choose appropriate technologies and tools
Create a detailed design document
Architectural choices refer to the decisions made regarding the structure and design of a system.
Architectural choices impact the scalability, performance, and maintainability of a system.
Common architectural choices include monolithic, microservices, serverless, and event-driven architectures.
Consider factors such as the size of the team, the complexity of the project, and the expected growth when making architectural
Top trending discussions
I applied via Naukri.com and was interviewed in Sep 2020. There were 3 interview rounds.
Event loop is a mechanism that allows non-blocking I/O operations in a single-threaded environment.
Event loop is used in programming languages like JavaScript and Python.
It manages the execution of multiple tasks by prioritizing them based on their priority level.
It continuously checks for new events and executes them in a loop.
It allows for efficient handling of I/O operations without blocking the main thread.
It is co...
let, var and const are used to declare variables in JavaScript with different scoping rules and mutability.
let and var are used to declare variables that can be reassigned later, but var has function scope while let has block scope.
const is used to declare variables that cannot be reassigned and have block scope.
Using const does not mean the value is immutable, only the variable reference is.
let and const were introduc...
I applied via Recruitment Consulltant and was interviewed before Sep 2021. There were 3 interview rounds.
This was a very easy test. It can be crackable easily.
Junit test cases should always be re-run to ensure code quality and prevent regression.
Junit test cases should be run after every code change.
Test cases should cover all possible scenarios and edge cases.
Test cases should be automated to save time and ensure consistency.
Test cases should be reviewed and updated regularly.
Regression testing should be performed to ensure new changes do not break existing functionality.
I applied via Recruitment Consultant and was interviewed in May 2021. There were 4 interview rounds.
An immutable class is a class whose instances cannot be modified after creation.
Make all fields private and final
Don't provide any setter methods
Ensure that any mutable objects passed to the constructor are defensively copied
Make the class final so that it cannot be subclassed
Singleton pattern ensures only one instance of a class is created and provides a global point of access to it.
Create a private constructor to prevent direct instantiation of the class.
Create a private static instance of the class.
Create a public static method to access the instance, and create the instance if it doesn't exist.
Ensure thread safety by using synchronized keyword or double-checked locking.
Vector is synchronized and ArrayList is not. Vector is thread-safe and ArrayList is not.
Vector is a legacy class and ArrayList is a part of the Java Collection Framework.
Vector is synchronized which means only one thread can access it at a time, while ArrayList is not.
Vector is thread-safe which means it can be used in a multi-threaded environment, while ArrayList is not.
Vector is slower than ArrayList because of synch...
Create Linked List without using internal library and provide add, delete, find functionality.
Create a Node class with data and next pointer
Create a LinkedList class with head pointer and methods to add, delete, and find nodes
Use a loop to traverse the list and perform operations
Handle edge cases such as adding to an empty list or deleting the head node
The current system follows a microservices architecture.
The system is divided into multiple independent services.
Each service has its own database and communicates with other services through APIs.
The architecture allows for scalability and flexibility.
Examples of microservices used in the system include user authentication, payment processing, and inventory management.
Find the total no of islands in a 2D matrix.
Use DFS or BFS to traverse the matrix.
Mark visited cells to avoid repetition.
Count the number of islands found.
Loop detection in a linked list.
Use two pointers, one moving at twice the speed of the other.
If there is a loop, the faster pointer will eventually catch up to the slower one.
If there is no loop, the faster pointer will reach the end of the list.
I applied via Approached by Company and was interviewed in Dec 2022. There were 5 interview rounds.
Detect loop in a LinkedList
Use two pointers, one moving at twice the speed of the other
If there is a loop, the faster pointer will eventually catch up to the slower one
If there is no loop, the faster pointer will reach the end of the list
I applied via Recruitment Consulltant and was interviewed before Jun 2023. There were 2 interview rounds.
Autosuggest debounce is a feature that delays the search suggestions until the user stops typing, and a polyfill is a piece of code that provides functionality that is not natively supported by the browser.
Implement a debounce function to delay the autosuggest feature until the user stops typing.
Use a polyfill to provide support for the autosuggest feature in browsers that do not natively support it.
Example: Implement ...
Kadane's algorithm is used to find the maximum subarray sum in an array of integers.
Iterate through the array and keep track of the maximum sum ending at each index.
At each index, choose between extending the previous subarray or starting a new subarray.
Example: For array [-2, 1, -3, 4, -1, 2, 1, -5, 4], the maximum subarray sum is 6 (from index 3 to 6).
I applied via Job Portal and was interviewed in Jun 2024. There were 2 interview rounds.
3Sum, target sum backtracking quesion, leetcode medium question
MySQL is a relational database management system, while NoSQL databases are non-relational databases.
MySQL is a traditional relational database that uses tables to store data and SQL for querying.
NoSQL databases are non-relational and can be document-based, key-value pairs, wide-column stores, or graph databases.
MySQL is ACID-compliant and suitable for complex queries and transactions.
NoSQL databases are often used for...
based on 1 interview
Interview experience
based on 1 review
Rating in categories
Senior Software Engineer
230
salaries
| ₹0 L/yr - ₹0 L/yr |
Software Engineer
224
salaries
| ₹0 L/yr - ₹0 L/yr |
Technical Lead
193
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer 2
135
salaries
| ₹0 L/yr - ₹0 L/yr |
Devops Engineer
133
salaries
| ₹0 L/yr - ₹0 L/yr |
Amazon
eBay
Netflix
Flipkart