Filter interviews by
I applied via Naukri.com and was interviewed in Jun 2024. There was 1 interview round.
I would assess the legacy system's data exchange formats and communication protocols, then design a seamless integration plan.
Analyze the data exchange formats used by the legacy system and determine compatibility with Java application
Identify the communication protocols utilized by the legacy system and ensure they can be integrated with Java
Design a middleware layer or API to facilitate communication between the lega...
Designing a concurrency model for a high calling java application to ensure thread safety and maximize throughput while minimizing deadlock risks.
Use a combination of thread pools and executor services to manage concurrent requests efficiently.
Implement synchronization mechanisms such as locks, semaphores, or atomic variables to ensure thread safety.
Utilize non-blocking algorithms and data structures to reduce contenti...
Design a reliable messaging system using Kafka and RabbitMQ for communication between distributed components.
Use Kafka for high-throughput, low-latency messaging with strong durability guarantees.
Implement RabbitMQ for reliable message queuing and delivery.
Integrate Kafka for real-time event streaming and RabbitMQ for asynchronous communication.
Leverage Kafka Connect to easily connect Kafka with external systems and Ra
Setting up CICD pipeline for Spring Boot microservices using Jenkins/GitLab
Configure Jenkins/GitLab to listen for changes in the repository
Set up build steps to compile the code, run unit tests, and perform integration tests
Use Docker for containerization and Kubernetes for container orchestration
Deploy artifacts to Artifactory and promote to production environment
Automate the entire process with appropriate triggers a
Implement secure authentication and authorization using Auth or JWT token to prevent security vulnerabilities.
Use HTTPS to encrypt communication between client and server to prevent eavesdropping.
Implement strong password policies and use password hashing to securely store user credentials.
Use JWT tokens with short expiration times and refresh tokens to prevent token theft.
Implement role-based access control to ensure ...
Choose AWS for flexibility and customization, choose Dynamo DB for simplicity and scalability
Consider AWS if you need more flexibility and customization in your data storage solution
Choose Dynamo DB if you prioritize simplicity and scalability for your mission critical application
AWS offers a wide range of services and configurations for high availability and scalability, while Dynamo DB is a fully managed NoSQL databa...
Implementing circuit breaker pattern in Spring Boot to handle failures in a distributed environment
Use Spring Boot's resilience4j library to implement the circuit breaker pattern
Configure the circuit breaker to monitor the external service dependency and trip open when failures exceed a certain threshold
Handle the circuit breaker state transitions (OPEN, HALF_OPEN, CLOSED) appropriately in your code
Implement fallback m...
Analyzing database schema and query execution to identify performance issues
Review database schema for normalization and indexing
Analyze query execution plans for inefficiencies
Consider optimizing data access patterns and query structure
Use database profiling tools to identify bottlenecks
Implement caching mechanisms for frequently accessed data
Default methods in Java 8 allow interfaces to have method implementations.
Default methods were introduced in Java 8 to allow interfaces to have method implementations.
Default methods are used to provide a default implementation for a method in an interface.
Default methods are useful when adding new methods to existing interfaces without breaking the classes that already use them.
Default methods can be overridden by cla...
Meta space is a memory space in Java 8 and later versions that replaces PermGen for storing class metadata.
Meta space is a part of the native memory and is used to store class metadata, such as class structures and method information.
Unlike PermGen, meta space is not part of the Java heap and is not subject to the same memory limits.
Meta space automatically resizes based on the application's demand, unlike PermGen whic...
Amazon S3 provides high availability and low latency through data replication and global edge locations.
Amazon S3 replicates data across multiple availability zones within a region to ensure high availability.
Global edge locations cache frequently accessed data closer to users, reducing latency.
Amazon S3 uses a content delivery network (CDN) to deliver content quickly to users worldwide.
Stopping an EC2 instance puts it into a stopped state, while terminating an EC2 instance permanently deletes it.
Stopping an EC2 instance preserves the data on the instance's EBS volumes
Terminating an EC2 instance deletes the instance and all associated data
Stopped instances can be started again, while terminated instances cannot be recovered
Stopping an instance does not incur charges, but terminating an instance does
Method referencing is a way to refer to methods without invoking them directly.
Used to simplify lambda expressions in Java
Commonly used in functional interfaces
Types of method referencing include static, instance, and constructor referencing
Request mapping is a general annotation used for mapping web requests to handler methods, while Get mapping is a specific type of request mapping used for mapping HTTP GET requests.
Request mapping is a more general annotation that can be used for mapping various types of HTTP requests, while Get mapping specifically maps HTTP GET requests.
Get mapping is a shortcut for @RequestMapping(method = RequestMethod.GET), making...
Enable debugging log in Spring Boot application
Add 'logging.level.root=DEBUG' in application.properties file
Use '@Slf4j' annotation in the Java class to enable logging
Set 'logging.level.org.springframework=DEBUG' for Spring framework debugging
Yes, we can override or replace the embedded tomcat server in Spring Boot.
You can override the embedded Tomcat server by excluding the Tomcat dependency in the pom.xml file and adding a different embedded server dependency like Jetty or Undertow.
You can also customize the embedded server configuration by creating a bean of type EmbeddedServletContainerCustomizer in a @Configuration class.
For example, to replace Tomcat ...
findFirst returns the first element in a stream, while findAny returns any element in a stream.
findFirst is deterministic and will always return the first element in a stream, while findAny is non-deterministic and can return any element.
findAny is useful for parallel processing as it can return any available element without the need to search for the first one.
findFirst is typically used when the order of elements mat...
Monolithic SOE is a single large application while Microservices architecture breaks down the application into smaller, independent services.
Monolithic SOE is a single, self-contained application where all components are tightly coupled.
Microservices architecture breaks down the application into smaller, independent services that communicate through APIs.
Monolithic SOE is easier to develop and test but can be harder to...
Recovery Time Objective (RTO) and Recovery Point Objective (RPO) are key metrics in disaster recovery planning in AWS.
RTO is the maximum acceptable downtime for restoring services after a disaster.
RPO is the maximum acceptable data loss in case of a disaster.
RTO and RPO help in determining the appropriate backup and recovery strategies.
For example, if RTO is 4 hours and RPO is 1 hour, it means services should be restor...
Top trending discussions
I applied via Referral and was interviewed in Sep 2023. There were 4 interview rounds.
Spring is a framework for building Java applications, while Spring Boot is a tool that simplifies the setup and configuration of Spring applications.
Spring is a comprehensive framework that provides support for various functionalities like dependency injection, aspect-oriented programming, and more.
Spring Boot is an opinionated tool that simplifies the setup and configuration of Spring applications by providing default...
Spring Boot annotations are used to simplify the development process by providing shortcuts for common configurations and functionalities.
Annotations like @SpringBootApplication, @RestController, @Autowired, @ComponentScan are commonly used in Spring Boot applications.
Annotations help in reducing boilerplate code and configuring various aspects of the application.
For example, @SpringBootApplication is used to mark the ...
I use JPA in my project by defining entity classes, annotating them with JPA annotations, creating repositories, and using JPQL queries.
Define entity classes with @Entity annotation
Annotate fields with @Column, @Id, @GeneratedValue, etc.
Create repositories by extending JpaRepository interface
Use JPQL queries for custom database operations
Microservices communicate through REST APIs and messaging queues in our project.
Microservices communicate with each other using REST APIs for synchronous communication.
Messaging queues like Kafka or RabbitMQ are used for asynchronous communication between microservices.
Service discovery tools like Eureka or Consul are used to locate and communicate with other microservices.
Microservices may also use gRPC for communicat
Emtec is a global IT consultancy that provides technology solutions and services to help organizations drive digital transformation.
Provides IT consultancy services
Specializes in technology solutions
Helps organizations with digital transformation
I applied via Recruitment Consulltant and was interviewed before Mar 2023. There was 1 interview round.
I applied via Recruitment Consulltant and was interviewed in May 2024. There were 3 interview rounds.
Logical reasoning and Aptitude
Functions with Pointers and strings concepts
I applied via Referral and was interviewed in Jul 2024. There were 3 interview rounds.
Mcqs questions based on java full stack
I applied via LinkedIn and was interviewed in May 2024. There were 3 interview rounds.
Online aptitude consists of general aptitude and technical aptitude
I applied via LinkedIn and was interviewed in Mar 2024. There was 1 interview round.
The process for Software Development Engineer involves planning, designing, coding, testing, and deploying software solutions.
Gather requirements from stakeholders
Create a design based on requirements
Write code to implement the design
Test the software for bugs and issues
Deploy the software for users to use
Iterate on feedback and make improvements
I applied via Naukri.com and was interviewed in Mar 2023. There were 2 interview rounds.
OOPs concepts in Java include inheritance, polymorphism, encapsulation, and abstraction.
Inheritance allows a subclass to inherit properties and methods from a superclass.
Polymorphism allows objects to take on multiple forms and behave differently based on their context.
Encapsulation hides the implementation details of an object and only exposes necessary information.
Abstraction allows for the creation of abstract class...
Interfaces define contracts for behavior, while inheritance allows for code reuse and polymorphism.
Interfaces allow for loose coupling and abstraction, enabling multiple implementations of the same behavior.
Inheritance allows for code reuse and extension of existing classes, reducing code duplication.
Polymorphism allows objects of different classes to be treated as if they were of the same class, simplifying code and i
SQL query for joining tables
Use JOIN keyword to combine two or more tables based on a related column
Specify the columns to be selected using SELECT keyword
Use ON keyword to specify the condition for joining the tables
Different types of joins include INNER JOIN, LEFT JOIN, RIGHT JOIN, and FULL OUTER JOIN
Used Java concepts such as inheritance, polymorphism, and exception handling in my project.
Implemented inheritance to create a base class and derived classes with specific functionalities.
Utilized polymorphism to allow objects of different classes to be treated as if they were of the same class.
Implemented exception handling to handle errors and prevent program crashes.
Used interfaces to define a set of methods that a ...
Overloading is having multiple methods with the same name but different parameters. Overriding is having a method in a subclass with the same name and parameters as a method in the superclass.
Overloading is used to provide different ways to call a method with different parameters
Overriding is used to provide a specific implementation of a method in a subclass
Overloading is resolved at compile-time while overriding is r...
I applied via Recruitment Consulltant and was interviewed before Mar 2023. There was 1 interview round.
List is mutable, tuple is immutable in Python.
Lists are mutable, meaning their elements can be changed after creation.
Tuples are immutable, meaning their elements cannot be changed after creation.
Lists are defined using square brackets [], tuples using parentheses ().
Lists are typically used for collections of similar items, tuples for fixed collections of dissimilar items.
Generators in Python are functions that allow you to iterate over a sequence of items without storing them all in memory at once.
Generators are created using a function with 'yield' instead of 'return'.
They are used to generate a sequence of values lazily, one at a time.
Generators are memory efficient as they do not store all values in memory at once.
Example: def my_generator(): for i in range(5): yield i
Example: ...
Interview experience
based on 1 review
Rating in categories
Software Engineer
31
salaries
| ₹5.6 L/yr - ₹18 L/yr |
Senior Software Engineer
18
salaries
| ₹10 L/yr - ₹30 L/yr |
Quality Engineer
13
salaries
| ₹9 L/yr - ₹17.1 L/yr |
Big Data Engineer
8
salaries
| ₹4 L/yr - ₹7.5 L/yr |
Devops Engineer
6
salaries
| ₹3 L/yr - ₹13 L/yr |
TCS
Infosys
Wipro
HCLTech