i
Cognizant
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Naukri.com
I applied via Referral and was interviewed before Mar 2023. There was 1 interview round.
REFramework is a framework provided by UiPath for building robust and scalable automation solutions.
REFramework stands for Robotic Enterprise Framework.
It is a template that helps in structuring automation projects in a modular and reusable way.
It includes components like Init, Process, End Process, and Exception Handling.
It follows best practices like logging, error handling, and transaction management.
It helps in imp...
Performance optimization in RPA can be achieved through efficient coding, proper resource allocation, and regular monitoring.
Optimize code by reducing unnecessary steps and improving logic
Allocate resources effectively to ensure smooth execution
Monitor performance regularly to identify bottlenecks and make necessary adjustments
I applied via Referral and was interviewed before May 2023. There was 1 interview round.
I applied via Naukri.com and was interviewed in Sep 2021. There were 2 interview rounds.
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 applied via Naukri.com and was interviewed in Dec 2024. There was 1 interview round.
Java 8 introduced lambda expressions, Java 11 added local-variable syntax for lambda parameters, and Java 17 included sealed classes and pattern matching.
Java 8 introduced lambda expressions for functional programming.
Java 11 added local-variable syntax for lambda parameters to simplify code.
Java 17 included sealed classes to restrict inheritance and pattern matching for instanceof checks and type casts.
Count the number of words in a given string.
Split the string by spaces and count the number of resulting elements.
Handle edge cases like multiple spaces or empty strings.
Consider punctuation marks as part of words unless specified otherwise.
I applied via Walk-in and was interviewed in Aug 2024. There were 3 interview rounds.
I am a Senior Software Developer with 8 years of experience in full-stack development, specializing in Java and Angular.
8 years of experience in full-stack development
Specialize in Java and Angular
Strong problem-solving skills
Experience with Agile methodologies
Excellent communication and teamwork abilities
The yield() method in threading is used to give up the CPU and allow other threads to run.
Allows other threads to run by giving up the CPU temporarily
Useful for preventing one thread from dominating the CPU
Can be used to implement cooperative multitasking
Hash collision occurs when two different inputs produce the same hash value. It can be handled by using techniques like chaining or open addressing.
Hash collision is a common issue in hash tables where different keys produce the same hash value.
One way to handle hash collisions is by using chaining, where each bucket in the hash table stores a linked list of key-value pairs with the same hash value.
Another way to handl...
Method references provide a more concise way to refer to methods by name instead of using lambda expressions.
Method references can make code more readable and maintainable by reducing boilerplate code.
They can be used to refer to static methods, instance methods, and constructors.
Example: list.forEach(System.out::println) is equivalent to list.forEach(item -> System.out.println(item)).
Vertical scaling increases the capacity of a single server, while horizontal scaling adds more servers to distribute the load.
Vertical scaling involves increasing the resources of a single server, such as CPU, RAM, or storage.
Horizontal scaling involves adding more servers to distribute the load, often done through containerization or virtualization.
Vertical scaling is limited by the capacity of a single server, while ...
Java program to capitalize first letter of each word in a given string
Split the input string by space to get individual words
Iterate through each word and capitalize the first letter
Join the words back together to form the final capitalized string
Escalation matrix defines the process for escalating production defects based on severity and impact.
Escalation matrix typically includes levels of escalation, responsible parties at each level, and criteria for escalating defects.
For example, a Level 1 escalation may involve the development team, while a Level 2 escalation may involve senior management.
Criteria for escalation may include severity of the defect, impact...
Implemented a real-time data synchronization feature between multiple servers.
Designed a custom protocol for efficient data transfer
Implemented server-side logic to handle data conflicts
Utilized websockets for real-time communication
Yes, I have the ability to handle tasks individually.
I have a proven track record of successfully completing projects on my own.
I am self-motivated and can prioritize tasks effectively.
I have strong problem-solving skills which allow me to tackle challenges independently.
Yes, it is okay to give deliverables under pressure as long as quality is not compromised.
Meeting deadlines is important in software development.
Pressure can sometimes lead to increased focus and productivity.
Communication with stakeholders about realistic timelines is key.
Prioritizing tasks and managing time effectively can help in delivering under pressure.
I am a Senior Software Developer with 8 years of experience in developing web applications using various technologies.
Experienced in full stack development
Proficient in languages like Java, JavaScript, and Python
Skilled in using frameworks like Spring, React, and Django
Strong understanding of database management systems
Familiar with Agile development methodologies
Seeking new challenges and growth opportunities.
Desire for career advancement
Looking for new challenges
Seeking better work-life balance
Company restructuring or changes in management
My current CTC is $100,000 and my expected CTC is $120,000.
Current CTC: $100,000
Expected CTC: $120,000
Yes, I have all relevant documents from previous companies.
I have copies of offer letters, employment contracts, and performance reviews.
I also have any relevant certifications or training records.
I can provide references from previous employers if needed.
I applied via Approached by Company and was interviewed in Dec 2024. There was 1 interview round.
posted on 25 Jan 2025
I applied via Naukri.com and was interviewed in Aug 2024. There was 1 interview round.
Transactions in Spring Boot manage database operations as a single unit of work to ensure data integrity.
Spring Boot provides support for declarative transaction management using @Transactional annotation.
Transactions can be configured at class or method level.
Transactions can be rolled back in case of exceptions to maintain data consistency.
Example: @Transactional annotation on a service method ensures that all databa...
ArrayList is resizable array implementation, LinkedList is doubly linked list implementation.
ArrayList uses dynamic array to store elements, LinkedList uses doubly linked list.
ArrayList is faster for accessing elements by index, LinkedList is faster for adding/removing elements.
Example: ArrayList
REST API is used to communicate between client and server using HTTP methods like GET, POST, PUT, DELETE.
REST API allows clients to access and manipulate resources on a server using standard HTTP methods.
It uses URLs to identify resources and HTTP methods to perform actions on those resources.
Common HTTP methods used in REST API are GET (retrieve data), POST (create data), PUT (update data), DELETE (remove data).
REST A...
Annotations in Spring Boot are used to provide metadata about the application and its components.
Annotations are used to configure Spring Boot applications, define beans, handle requests, etc.
Examples include @SpringBootApplication, @RestController, @Autowired, @RequestMapping, etc.
Java 8 introduced several new features including lambda expressions, functional interfaces, streams, and default methods in interfaces.
Lambda expressions allow for more concise code and enable functional programming.
Functional interfaces are interfaces with a single abstract method, used for lambda expressions.
Streams provide a way to work with collections of objects in a functional style.
Default methods in interfaces ...
Interfaces in Java are implemented using the 'implements' keyword, allowing classes to provide specific implementations for methods defined in the interface.
Interfaces in Java define a contract for classes to implement, specifying method signatures without implementations.
A class can implement multiple interfaces by separating them with commas.
Classes implementing an interface must provide concrete implementations for ...
Stream API in Java provides a way to process collections of objects in a functional style.
Stream API allows for functional-style operations on collections like map, filter, reduce, etc.
It supports lazy evaluation, meaning operations are only performed when needed.
Streams can be sequential or parallel, depending on the source and operations used.
Spring Boot simplifies the setup and development of Spring applications by providing a convention-over-configuration approach.
Spring Boot eliminates the need for XML configuration by using annotations and sensible defaults.
It includes embedded servers like Tomcat, Jetty, or Undertow, making it easy to deploy standalone applications.
Auto-configuration feature reduces the amount of boilerplate code needed to set up a Spr...
throw is a keyword used to explicitly throw an exception, while Throwable is a class that serves as the base class for all exceptions in Java.
throw is used to throw an exception in a method, while Throwable is the superclass of all exceptions in Java.
throw is followed by an instance of Throwable class or its subclasses, while Throwable is a class that provides common methods for handling exceptions.
Example: throw new N...
Associate
72.5k
salaries
| ₹5.1 L/yr - ₹15.9 L/yr |
Programmer Analyst
55.5k
salaries
| ₹2.4 L/yr - ₹9.7 L/yr |
Senior Associate
48.4k
salaries
| ₹8.9 L/yr - ₹27.2 L/yr |
Senior Processing Executive
28.8k
salaries
| ₹1.8 L/yr - ₹9 L/yr |
Technical Lead
17.6k
salaries
| ₹5.9 L/yr - ₹24.5 L/yr |
TCS
Infosys
Wipro
Accenture