Filter interviews by
Implement security measures like authentication, authorization, encryption, and input validation to protect web apps and APIs.
Use HTTPS to encrypt data transmitted between clients and servers
Implement authentication mechanisms like OAuth, JWT, or API keys
Enforce proper authorization checks to control access to resources
Sanitize and validate input data to prevent injection attacks
Regularly update dependencies and librar
Top trending discussions
I was interviewed in Nov 2024.
Berribot test with AI by asking questions on various application level and providing a code snippet to find the longest common prefix in a string array.
Java 8 features like lambda expressions and functional interfaces make coding with streams easier and more efficient.
Lambda expressions allow for concise and readable code when working with streams.
Functional interfaces like Predicate, Function, and Consumer can be used with streams to perform operations on elements.
Stream API provides methods like map, filter, and reduce for processing collections of data in a declara...
Optional in Java 8 is used to represent a value that may or may not be present, reducing the chances of NullPointerException.
Optional is used to avoid NullPointerException by explicitly stating whether a value is present or not.
Commonly used methods with Optional include isPresent(), get(), orElse(), orElseGet(), and map().
Example: Optional<String> optionalString = Optional.ofNullable("Hello");
Multiple inheritance is a feature in object-oriented programming where a class can inherit attributes and methods from more than one parent class.
Allows a class to inherit from multiple parent classes, combining their attributes and methods
Can lead to the diamond problem where ambiguity arises if two parent classes have a method with the same name
Achieved in languages like C++ using virtual inheritance or interfaces in
Steps to write an immutable class
Make the class final so it cannot be extended
Make all fields private and final
Do not provide setter methods for the fields
Ensure that any mutable objects within the class are also immutable
If a mutable object must be returned, make a deep copy before returning it
Types of dependency injection include constructor injection, setter injection, and interface injection.
Constructor injection: Dependencies are provided through a class's constructor.
Setter injection: Dependencies are provided through setter methods.
Interface injection: Dependencies are provided through an interface method.
In Spring framework, @primary is used to specify the primary bean to be autowired, while @qualifier is used to specify a specific bean to be autowired.
Use @Primary when there are multiple beans of the same type and you want to specify the primary one to be autowired.
Use @Qualifier when you want to specify a specific bean to be autowired by its name.
Example: @Primary annotation can be used on a bean definition to mark i...
Transaction management in Spring Boot ensures data integrity by managing database transactions.
Spring Boot uses @Transactional annotation to manage transactions
It ensures that all operations within a transaction are completed successfully or rolled back if an error occurs
Transactions can be managed programmatically using TransactionTemplate
Supports different transaction isolation levels like READ_COMMITTED, REPEATABLE_
Isolation levels in transactions determine the degree to which transactions are isolated from each other. Propagation types define how transactions are propagated between different components.
Isolation levels include READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, and SERIALIZABLE.
Propagation types include REQUIRED, REQUIRES_NEW, SUPPORTS, MANDATORY, and NEVER.
Isolation levels control the visibility of changes made ...
Design patterns in microservice architecture help in solving common design problems and improving scalability, maintainability, and flexibility.
Service Registry pattern - used for service discovery and registration
Circuit Breaker pattern - used for fault tolerance and resilience
API Gateway pattern - used for routing and load balancing
Saga pattern - used for managing distributed transactions
Event Sourcing pattern - used...
Inter-service communication in microservices involves using protocols like HTTP, gRPC, or messaging queues.
Microservices communicate with each other through APIs using protocols like HTTP or gRPC.
Message queues like RabbitMQ or Kafka can be used for asynchronous communication between services.
Service discovery tools like Consul or Eureka help services locate each other dynamically.
API gateways can be used to manage and...
Fault tolerance in microservices ensures system reliability by handling failures gracefully.
Microservices architecture breaks down applications into smaller, independent services.
Each microservice is designed to be resilient to failures and can continue to operate even if one service fails.
Fault tolerance is achieved through redundancy, monitoring, and graceful degradation.
Examples of fault tolerance mechanisms include...
Apache Kafka is a distributed streaming platform that allows for the publishing and subscribing to streams of records.
Apache Kafka is designed to be highly scalable and fault-tolerant.
It uses a distributed commit log to store messages.
Producers publish messages to topics, and consumers subscribe to topics to receive messages.
Kafka can be used for real-time stream processing, data pipelines, and event sourcing.
It provid...
RestTemplate is a synchronous client for making HTTP requests, while Feign Client is a declarative HTTP client that simplifies making API calls.
RestTemplate is part of the Spring framework and requires manual configuration for each request.
Feign Client is a declarative client that uses annotations to define API endpoints and parameters.
RestTemplate is synchronous, blocking the calling thread until the response is recei...
posted on 4 Jan 2025
I applied via Naukri.com and was interviewed in Dec 2024. There were 2 interview rounds.
Singleton pattern ensures a class has only one instance and provides a global point of access to it.
Singleton pattern can be implemented by making the constructor private and providing a static method to access the instance.
The pattern can be broken by using reflection to access the private constructor and create multiple instances.
Another way to break the Singleton pattern is by using multiple class loaders in Java.
Th...
HashMap internally uses an array of linked lists to store key-value pairs. To store duplicate keys, we can use a custom implementation of HashMap.
HashMap internally uses an array of linked lists to handle collisions.
To store duplicate keys, we can create a custom HashMap implementation that allows multiple values for the same key.
One approach is to use a HashMap with values as lists, where each key can have multiple va
Use compensating transactions and distributed tracing for managing transaction and logging in case of service B failure.
Implement compensating transactions to rollback changes made by service B in case of failure.
Use distributed tracing to track the flow of requests and identify where the failure occurred.
Implement retry mechanisms to handle transient failures in service B.
Use circuit breakers to prevent cascading fail...
I applied via Naukri.com and was interviewed in Dec 2024. There was 1 interview round.
Developed a web-based project management tool for tracking tasks and deadlines.
Used React.js for front-end development
Implemented RESTful APIs using Node.js and Express
Utilized MongoDB for database management
Incorporated authentication and authorization features for user security
Microservice architecture is an architectural style that structures an application as a collection of loosely coupled services.
Each service is self-contained and can be developed, deployed, and scaled independently.
Services communicate with each other over lightweight protocols like HTTP or messaging queues.
Microservices allow for better scalability, flexibility, and resilience compared to monolithic architectures.
Exam...
posted on 5 Jun 2024
I applied via Naukri.com and was interviewed in May 2024. There were 2 interview rounds.
posted on 19 May 2024
I applied via Naukri.com and was interviewed in Nov 2023. There were 5 interview rounds.
You need to give a coding test which is for 4.5 hours, where you are given a scenarios and you need to create API to fetch the response from an external API and according parse the response for whatever you need and perform some business logic for same.
The @Service annotation is used in Spring framework to indicate that a class is a service component.
Used to mark a class as a service component in Spring framework
Helps in auto-detection and auto-configuration of Spring beans
Facilitates dependency injection and inversion of control
System diagram for e-commerce order placement and history retrieval
Frontend: Customer interface for browsing products, adding to cart, and placing orders
Backend: Order processing system to handle order placement, payment processing, and order fulfillment
Database: Store customer information, order details, and order history for retrieval
APIs: Communication between frontend, backend, and database for seamless order proce...
Arrays based 1 hours
I applied via Approached by Company and was interviewed in Sep 2023. There were 2 interview rounds.
posted on 20 Sep 2024
I applied via Recruitment Consulltant and was interviewed before Sep 2023. There was 1 interview round.
Traits in PHP are a mechanism for code reuse in single inheritance languages.
Traits are a way to group functionality in a fine-grained and consistent way.
They allow developers to reuse sets of methods freely in several independent classes.
To use a trait in PHP, you use the 'use' keyword followed by the trait name.
Traits can be composed into a class using multiple 'use' statements.
Traits can also have abstract methods t...
posted on 6 Mar 2024
I applied via Naukri.com and was interviewed before Mar 2023. There were 2 interview rounds.
Binary search tree is a data structure where each node has at most two children, with the left child being less than the parent and the right child being greater.
Start with a root node and insert new nodes by comparing values and traversing left or right accordingly.
Implement functions for insertion, deletion, search, and traversal (inorder, preorder, postorder).
Ensure the tree remains balanced to maintain efficient se
HashMap in Java is a data structure that stores key-value pairs and allows for fast retrieval of values based on keys.
HashMap uses hashing to store key-value pairs in an array of linked lists.
It uses the hashCode() method of keys to determine the index where the value will be stored.
If two keys have the same hashCode, they are stored in the same linked list at that index.
HashMap allows null keys and values, but only on...
Software Automation Engineer
8
salaries
| ₹5 L/yr - ₹12 L/yr |
Software Engineer
7
salaries
| ₹4.8 L/yr - ₹12.6 L/yr |
Software Engineer Level 1
5
salaries
| ₹4.5 L/yr - ₹6 L/yr |
Automation Test Engineer
5
salaries
| ₹4.2 L/yr - ₹7 L/yr |
Associate Software Engineer
5
salaries
| ₹4.5 L/yr - ₹5 L/yr |
Infosys
TCS
Wipro
HCLTech