Filter interviews by
I applied via Naukri.com and was interviewed in Mar 2024.ย There was 1 interview round.
Experienced business analyst with a background in data analysis and process improvement.
Over 5 years of experience in analyzing business processes and identifying areas for improvement
Skilled in data analysis tools such as Excel, SQL, and Tableau
Strong communication and problem-solving skills
Certified in Business Analysis Professional (CBAP)
Previous projects include streamlining inventory management processes for a ret
My strengths include analytical skills, attention to detail, and problem-solving abilities. My weaknesses include public speaking and time management.
Strengths: analytical skills
Strengths: attention to detail
Strengths: problem-solving abilities
Weaknesses: public speaking
Weaknesses: time management
I was interviewed in Dec 2023.
SAP is a software company known for its ERP software. ERP stands for Enterprise Resource Planning, which integrates various business functions into one system.
SAP is a leading provider of ERP software used by companies to manage their business processes.
ERP (Enterprise Resource Planning) is a type of software that integrates various functions like finance, HR, sales, and supply chain management into one system.
ERP syst...
Top trending discussions
SCD Type 2 implementation involves tracking historical changes in data by creating new records for each change.
Identify the columns that need to be tracked for changes
Add effective start and end dates to track the validity of each record
Insert new records for changes and update end dates for previous records
Maintain a surrogate key to uniquely identify each version of the record
I can join the team within 2 weeks.
I can start within 2 weeks of receiving the offer.
I need to give notice to my current employer.
I may need to relocate, which could affect my start date.
posted on 2 Feb 2025
For example, a โน10 LPA CTC could mean an in-hand salary of โน70,000โโน75,000 per month, depending on deductions and benefits.
โจ ๐ฃ๐ฟ๐ผ ๐ง๐ถ๐ฝ: Always request a detailed salary structure during negotiationsโitโs your roadmap to making informed decisions
๐๐ง๐ ๐๐ ๐๐ป-๐๐ฎ๐ป๐ฑ ๐ฆ๐ฎ๐น๐ฎ๐ฟ๐: ๐ง๐ต๐ฒ ๐ฅ๐ฒ๐ฎ๐น๐ถ๐๐ ๐๐ต๐ฒ๐ฐ๐ธ ๐๐๐ฒ๐ฟ๐ ๐ฃ๐ฟ๐ผ๐ณ๐ฒ๐๐๐ถ๐ผ๐ป๐ฎ๐น ๐ก๐ฒ๐ฒ๐ฑ๐!
Weโve all been thereโexcitedly discussing job offers and hearing about the impressive CTC (Cost to Company). But when payday arrives, you wonder
I was interviewed in Dec 2024.
API Gateway implementation is a centralized service that routes, manages, and secures API calls.
API Gateway acts as a single entry point for all API calls
It can handle authentication, rate limiting, caching, and request/response transformations
Examples include AWS API Gateway, Apigee, Kong
Circuit breaker is a design pattern used to prevent system overload by temporarily stopping requests to a failing service.
Circuit breaker monitors requests to a service and opens when the service fails repeatedly.
It helps prevent cascading failures and allows the system to gracefully degrade.
Once the circuit breaker is open, it can periodically check if the service has recovered before allowing requests again.
Deadlock is a situation in which two or more processes are unable to proceed because each is waiting for the other to release a resource.
Avoid circular wait by ensuring processes request resources in the same order.
Prevent hold and wait by requiring processes to request all needed resources at once.
Implement a timeout mechanism to break potential deadlocks.
Use resource allocation graphs to detect and prevent deadlocks.
...
The equals() method is used to compare the contents of two objects for equality.
The equals() method is a method of the Object class in Java.
It is used to compare the contents of two objects for equality.
The default implementation of equals() in the Object class compares memory addresses, so it is often overridden in custom classes to compare content.
Example: String class overrides equals() method to compare the content
MongoDB was integrated in the application by using the official Java driver and configuring connection settings.
Used the official MongoDB Java driver to interact with the database
Configured connection settings such as host, port, database name, and authentication credentials
Implemented CRUD operations using MongoDB Java driver methods
Utilized MongoDB aggregation framework for complex queries
Hibernate is an open-source Java framework that simplifies the development of database interactions in Java applications.
Hibernate is an Object-Relational Mapping (ORM) tool that maps Java objects to database tables.
It provides a way to perform database operations using Java objects instead of writing SQL queries.
Hibernate handles the mapping of Java classes to database tables and vice versa, as well as the generation ...
Runnable is a functional interface with a single run() method, while Callable is a functional interface with a single call() method.
Runnable is used for tasks that do not return a result, while Callable is used for tasks that return a result.
Callable can throw checked exceptions, while Runnable cannot.
Callable returns a Future object, which can be used to retrieve the result of the computation.
Example: Runnable - execu...
The Callable interface in Java returns a Future object.
Callable interface returns a Future object which represents the result of a computation that may not be available yet.
The Future object can be used to retrieve the result of the computation, check if it is done, or cancel the computation.
Example: Callable<Integer> task = () -> { return 42; }
Monitor application health using metrics, logs, alerts, and performance monitoring tools.
Use monitoring tools like Prometheus, Grafana, or New Relic to track key metrics such as CPU usage, memory usage, response times, and error rates.
Implement logging to record important events and errors in your application. Use tools like ELK stack (Elasticsearch, Logstash, Kibana) for log analysis.
Set up alerts to notify you of any...
To call an API in a Microservice architecture, use HTTP requests or messaging protocols like gRPC.
Use HTTP requests to communicate between microservices
Implement RESTful APIs for easy integration
Leverage messaging protocols like gRPC for efficient communication
Consider using service discovery mechanisms for dynamic API calls
Profiles in Java are configurations that define the capabilities of a Java platform.
Profiles allow developers to target specific types of devices or applications.
They help in reducing the size of the Java runtime environment by including only the necessary APIs.
Examples include Java SE Embedded Profile for embedded devices and Java SE Compact Profile for resource-constrained environments.
OpenFeign is a declarative web service client used to simplify the process of making HTTP requests in microservices architecture.
OpenFeign allows developers to define RESTful web services as interfaces and automatically generate the necessary implementation code.
It integrates seamlessly with Spring Cloud and other microservices frameworks to facilitate communication between services.
OpenFeign supports features like loa...
Service registry and discovery involves registering services and allowing clients to discover and connect to them.
Implement a service registry where services can register themselves with metadata
Use a service discovery mechanism for clients to find and connect to services
Implement health checks to ensure services are available and healthy
Use a load balancer to distribute traffic among multiple instances of a service
Spring Boot Actuators are built-in tools that provide insight into the running application.
Actuators expose various endpoints to monitor and manage the application.
They can be used to check health, metrics, environment details, and more.
Examples include /actuator/health, /actuator/metrics, and /actuator/env.
Synchronous communication is blocking, while asynchronous communication is non-blocking.
Synchronous communication waits for a response before continuing, while asynchronous communication does not wait.
Examples of synchronous communication include traditional function calls, while examples of asynchronous communication include callbacks and promises.
Synchronous communication can lead to performance issues if there are d...
Synchronized keyword is used in Java to control access to shared resources by multiple threads.
Synchronized keyword can be applied to methods or code blocks to ensure only one thread can access the synchronized code at a time.
It prevents race conditions and ensures thread safety by creating a lock on the object or class.
Example: synchronized void myMethod() { // synchronized code block }
Excessive use of synchronized blocks and methods in Java can lead to performance issues and potential deadlocks.
Decreased performance due to increased contention for locks
Potential deadlocks if multiple threads are waiting for each other to release locks
Increased complexity and difficulty in debugging and maintaining code
Use synchronized sparingly and consider alternatives like ConcurrentHashMap or Lock interface
The number of threads needed for an application can be determined based on factors like the type of tasks, hardware resources, and performance requirements.
Consider the type of tasks your application needs to perform - CPU-bound tasks may benefit from more threads, while I/O-bound tasks may not.
Take into account the hardware resources available - more threads may be beneficial on a multi-core processor compared to a si...
Executor framework is a framework in Java that provides a way to manage and execute tasks asynchronously.
Allows for managing thread execution in a more efficient way
Provides a way to decouple task submission from task execution
Supports various types of executors like ThreadPoolExecutor and ScheduledExecutorService
Helps in handling tasks concurrently and asynchronously
BlockingQueue is an interface in Java that represents a queue which supports operations that wait for the queue to become non-empty when retrieving an element and wait for space to become available in the queue when adding an element.
BlockingQueue is part of the java.util.concurrent package.
It is used for implementing producer-consumer scenarios where multiple threads are involved.
Methods like put() and take() are used...
Seeking new challenges and opportunities for growth.
Desire for career advancement
Looking for new challenges
Seeking better work-life balance
Company restructuring or downsizing
Relocation to a new area
I was interviewed in Jan 2025.
Semantic tags in HTML are specific tags that provide meaning to the content they enclose.
Semantic tags help search engines and screen readers understand the structure of a webpage.
Examples of semantic tags include <header>, <footer>, <nav>, <article>, <section>, <aside>, <main>, <figure>, <figcaption>.
Using semantic tags improves SEO and accessibility of a website.
Currying is a technique in functional programming where a function with multiple arguments is transformed into a sequence of nested functions, each taking a single argument.
Currying helps in creating reusable functions and partial application.
It allows you to create new functions by fixing some parameters of an existing function.
Example: const add = (a) => (b) => a + b; add(2)(3) will return 5.
Map is used to transform each element of an array, while Filter is used to select elements based on a condition.
Map returns a new array with the same length as the original array, but with each element transformed based on a provided function.
Filter returns a new array with only the elements that pass a provided condition function.
Example for Map: [1, 2, 3].map(num => num * 2) will result in [2, 4, 6].
Example for Fi...
Map creates a new array with the results of calling a provided function on every element, while forEach executes a provided function once for each array element.
Map returns a new array with the same length as the original array, while forEach does not return anything.
Map does not mutate the original array, while forEach can mutate the original array.
Map is more suitable for transforming data and creating a new array, w...
Authentication verifies the identity of a user, while authorization determines the user's access rights.
Authentication confirms the user's identity through credentials like username and password.
Authorization determines what actions the authenticated user is allowed to perform.
Authentication precedes authorization in the security process.
Example: Logging into a website (authentication) and then accessing specific pages
Local storage persists even after the browser is closed, while session storage is cleared when the browser is closed.
Local storage has no expiration date, while session storage expires when the browser is closed.
Local storage stores data with no limit, while session storage has a limit of around 5MB.
Local storage data is available across all windows/tabs for that domain, while session storage data is only available wit...
I applied via Approached by Company and was interviewed in Dec 2024.ย There were 3 interview rounds.
I was interviewed in Jan 2025.
The Java Virtual Machine (JVM) is an abstract computing machine that enables a computer to run Java programs.
JVM is platform-independent and converts Java bytecode into machine code.
It consists of class loader, runtime data areas, execution engine, and native method interface.
JVM memory is divided into method area, heap, stack, and PC register.
Examples of JVM implementations include Oracle HotSpot, OpenJ9, and GraalVM.
The default connection pooling in Spring Boot is HikariCP, which can be customized through properties in the application.properties file.
HikariCP is the default connection pooling library in Spring Boot, known for its high performance and low overhead.
To customize the connection pooling, you can modify properties like 'spring.datasource.hikari.*' in the application.properties file.
For example, you can set maximum pool ...
Best practices for optimizing a Spring Boot application
Use Spring Boot Actuator to monitor and manage application performance
Implement caching mechanisms like Spring Cache to reduce database calls
Optimize database queries and indexes for better performance
Use asynchronous processing with Spring's @Async annotation for non-blocking operations
Profile and analyze application performance using tools like VisualVM or JProfi
A heap dump is a snapshot of the memory usage of a Java application at a specific point in time.
Heap dumps can be generated using tools like jmap or VisualVM.
They provide detailed information about objects in memory, their sizes, and references.
Analyzing a heap dump can help identify memory leaks by pinpointing objects that are consuming excessive memory.
Common signs of memory leaks in a heap dump include a large numbe...
Diagonally iterate through and print elements of a 2D array of strings.
Use nested loops to iterate through rows and columns of the 2D array.
Calculate the diagonal elements by incrementing row and column indices together.
Print the elements as you iterate through the diagonal of the array.
based on 3 interviews
Interview experience
based on 5 reviews
Rating in categories
Technical Lead
7
salaries
| โน22.6 L/yr - โน31 L/yr |
Senior Engineer
5
salaries
| โน22 L/yr - โน26.4 L/yr |
Engineer
3
salaries
| โน10 L/yr - โน17.9 L/yr |
Project Manager
3
salaries
| โน35 L/yr - โน35 L/yr |
Senior Technical Manager
3
salaries
| โน32 L/yr - โน48 L/yr |
Infosys
TCS
Wipro
HCLTech