Filter interviews by
I applied via Naukri.com and was interviewed in Jun 2024. There was 1 interview round.
Abstraction focuses on hiding implementation details, while encapsulation bundles data and methods into a single unit.
Abstraction allows us to focus on the essential features of an object while hiding unnecessary details.
Encapsulation helps in data hiding by restricting access to certain components of an object.
Abstraction is achieved through abstract classes and interfaces in Java.
Encapsulation is implemented using ac...
Final keyword is used in Java to declare constants, prevent method overriding, and prevent class inheritance.
Used to declare constants - value cannot be changed once assigned
Prevents method overriding - method cannot be overridden in child classes
Prevents class inheritance - class cannot be extended
The == operator compares memory addresses, while the equals method compares the actual content of objects.
The == operator checks if two object references point to the same memory address.
The equals method checks if two objects have the same content.
Example: String str1 = new String("hello"); String str2 = new String("hello"); str1 == str2 will return false, but str1.equals(str2) will return true.
Hash table is a data structure that stores key-value pairs and allows for fast retrieval of values based on keys.
Hash table uses a hash function to map keys to indexes in an array.
It provides constant time complexity O(1) for insertion, deletion, and retrieval operations.
Collisions can occur when two keys hash to the same index, which can be resolved using techniques like chaining or open addressing.
Synchronized keyword is used in Java to control access to shared resources by multiple threads.
Synchronized keyword is used to create a synchronized block of code, ensuring only one thread can access it at a time.
It can be applied to methods or code blocks to prevent concurrent access by multiple threads.
Example: synchronized void myMethod() { // synchronized code block }
The volatile keyword in Java is used to indicate that a variable's value will be modified by different threads.
Ensures visibility of changes to variables across threads
Prevents compiler optimizations that could reorder code and affect variable values
Useful for variables accessed by multiple threads without synchronization
Example: volatile int count = 0;
Checked exceptions are checked at compile time, while unchecked exceptions are not.
Checked exceptions must be either caught or declared in the method signature using 'throws' keyword
Unchecked exceptions do not need to be caught or declared
Examples of checked exceptions: IOException, SQLException
Examples of unchecked exceptions: NullPointerException, ArrayIndexOutOfBoundsException
Interface is a blueprint of a class with only abstract methods, while abstract class can have both abstract and concrete methods.
Interface cannot have method implementations, while abstract class can have both abstract and concrete methods.
A class can implement multiple interfaces but can only extend one abstract class.
Interfaces are used to achieve multiple inheritance in Java, while abstract classes are used to provi...
Deadlock in multithreading occurs when two or more threads are waiting for each other to release resources, resulting in a standstill.
Deadlock happens when two or more threads are blocked forever, waiting for each other to release resources.
Four conditions must hold for deadlock to occur: mutual exclusion, hold and wait, no preemption, and circular wait.
Example: Thread 1 holds resource A and waits for resource B, while...
Thread safety in Java can be achieved by using synchronization, locks, volatile keyword, and thread-safe data structures.
Use synchronized keyword to create synchronized blocks or methods
Use locks from java.util.concurrent.locks package like ReentrantLock
Use volatile keyword to ensure visibility of changes across threads
Use thread-safe data structures like ConcurrentHashMap, CopyOnWriteArrayList
PUT is used to update or replace an existing resource, while POST is used to create a new resource.
PUT is idempotent, meaning multiple identical requests will have the same effect as a single request.
POST is not idempotent, meaning multiple identical requests may have different effects.
PUT is used to update an existing resource at a specific URI.
POST is used to create a new resource under a specific URI.
PUT requests ar...
Spring Actuator is a set of production-ready features to help monitor and manage your application.
Provides endpoints to monitor application health, metrics, and other useful information
Can be used to check the status of the application, gather metrics, and even perform custom actions
Helps in troubleshooting and monitoring the application in production environment
Spring Boot applications can be deployed using various methods such as embedded servers, Docker containers, and cloud platforms.
Deploying as a standalone JAR file using embedded servers like Tomcat or Jetty
Building a Docker image and running the application in a container
Deploying to cloud platforms like AWS, Azure, or Google Cloud Platform
Using CI/CD pipelines for automated deployment
Program to filter employees with salary > 10,000 using Java 8.
Use Java 8 Stream API to filter employees based on salary.
Create a Predicate to check if salary is greater than 10,000.
Use filter() method to apply the Predicate on the list of Employee objects.
To rollback a transaction in Spring Boot, use @Transactional annotation and throw an exception
Use @Transactional annotation on the method where the transaction needs to be rolled back
Throw an exception within the method to trigger the rollback process
Spring will automatically rollback the transaction when an exception is thrown
Dependency Injection is a design pattern in Spring Boot where the dependencies of a class are injected from the outside.
In Spring Boot, Dependency Injection is achieved through inversion of control, where the control of creating and managing objects is given to the Spring framework.
Dependencies can be injected into a class using constructor injection, setter injection, or field injection.
By using Dependency Injection, ...
Dependency Injection is a design pattern where the dependencies of an object are provided externally rather than created within the object itself.
Constructor Injection: Dependencies are provided through the class constructor.
Setter Injection: Dependencies are set through setter methods.
Interface Injection: Dependencies are injected through an interface.
Spring Framework: Uses annotations like @Autowired for Dependency I
Security management involves implementing measures to protect APIs from unauthorized access and ensure data integrity.
Implement authentication mechanisms such as OAuth or API keys to control access to APIs
Use encryption to secure data transmission between clients and APIs
Implement rate limiting to prevent abuse and protect against denial of service attacks
Regularly update and patch API security vulnerabilities to stay ...
JWT Tokens are a type of token used for authentication and authorization in web applications.
JWT stands for JSON Web Token
JWT tokens are compact, URL-safe tokens that can be easily transmitted between parties
JWT tokens consist of three parts: header, payload, and signature
JWT tokens are often used in stateless authentication systems
Example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG...
Use reflection to access and test private methods
Use reflection to access the private method in the test case
Set the method accessible using setAccessible(true)
Invoke the method with the necessary parameters and assert the expected result
Stages in Jenkins are the different steps in a Jenkins pipeline that define the actions to be executed.
Stages help break down the pipeline into smaller, manageable sections
Each stage can have multiple steps to be executed
Stages can be sequential or parallel
Common stages include build, test, deploy, and notify
Singleton design pattern ensures a class has only one instance and provides a global point of access to it.
Create a private static instance of the class.
Provide a public static method to access the instance.
Ensure the constructor is private to prevent instantiation from outside the class.
Memory leaks in Java occur when objects are no longer being used but are still held in memory, leading to inefficient memory usage.
Memory leaks can occur when objects are not properly dereferenced or garbage collected.
Common causes of memory leaks include circular references, static references, and unclosed resources.
Examples of memory leaks include not closing database connections or file streams after use.
String is immutable, while StringBuilder is mutable and more efficient for concatenating strings.
String is immutable, meaning once created, it cannot be changed. StringBuilder is mutable and allows for modifications.
String concatenation in Java creates a new String object each time, while StringBuilder modifies the existing object.
StringBuilder is more efficient for concatenating multiple strings as it does not create ...
Garbage collection in Java is the process of automatically reclaiming memory that is no longer in use by the program.
Garbage collection is performed by the JVM to free up memory occupied by objects that are no longer referenced by the program.
It helps in preventing memory leaks and ensures efficient memory management.
Java provides automatic garbage collection, so developers do not have to manually free up memory.
Exampl...
Array is a fixed-size data structure while ArrayList is a dynamic-size data structure in Java.
Array is a fixed-size collection of elements of the same data type.
ArrayList is a resizable collection that can store elements of any data type.
Arrays require a specified size at the time of declaration, while ArrayList can grow dynamically.
Arrays use square brackets [] for declaration, while ArrayList is a class in Java's col...
Various design patterns like Singleton, Factory, Observer, etc. are used to solve common problems in software development.
Singleton pattern ensures a class has only one instance and provides a global point of access to it.
Factory pattern creates objects without specifying the exact class of object that will be created.
Observer pattern defines a one-to-many dependency between objects so that when one object changes stat...
Rest Services are a type of web service that allows communication between different systems over HTTP using standard methods like GET, POST, PUT, DELETE.
Rest Services are stateless, meaning each request from a client to the server must contain all the information necessary to understand the request.
They use standard HTTP methods like GET, POST, PUT, DELETE to perform CRUD operations on resources.
Rest Services typically...
I applied via Approached by Company and was interviewed in Jun 2024. There were 3 interview rounds.
Multithreading in Spring Boot allows for concurrent execution of tasks, improving performance and responsiveness.
Spring Boot provides support for multithreading through the use of @Async annotation.
By annotating a method with @Async, it will be executed in a separate thread.
ThreadPoolTaskExecutor can be configured to control the number of threads used for executing async methods.
Example: @Async public void asyncMethod(
Find consecutive subarrays in two integer arrays with sum > 6.
Iterate through both arrays to find consecutive subarrays.
Calculate the sum of each subarray and check if it is greater than 6.
Return the subarray with sum > 6.
Use a loop to iterate through the array and keep track of the maximum element found so far.
Initialize a variable to store the maximum element found so far.
Iterate through the array and update the maximum element if a larger element is found.
Return the maximum element after iterating through the entire array.
Filter a specific name from a string array
Iterate through the array and check each element for the desired name
Use a conditional statement to filter out the name from the array
Consider using Java 8 streams and lambda expressions for a more concise solution
I applied via Naukri.com and was interviewed in Jun 2024. There was 1 interview round.
Comparable is used to define the natural ordering of objects, while Comparator is used to define custom ordering.
Comparable interface is used to compare objects based on their natural ordering. Example: sorting a list of Strings alphabetically.
Comparator interface is used to define custom ordering of objects. Example: sorting a list of custom objects based on a specific attribute.
Executor Service is a framework provided by Java to manage and control the execution of tasks in a multithreaded environment.
It provides a way to manage threads and execute tasks asynchronously.
It allows for the reuse of threads instead of creating new ones for each task.
It can handle task scheduling, thread pooling, and thread lifecycle management.
Example: Executors.newFixedThreadPool(5) creates a thread pool with 5 t
I applied via Company Website and was interviewed in May 2024. There was 1 interview round.
Java program to find couple sum of two integers in ArrayList equal to a given integer value.
Iterate through the ArrayList and check for pairs of integers that sum up to the given value.
Use a nested loop to compare each pair of integers in the ArrayList.
Store the pairs that satisfy the condition in a separate list or print them directly.
Litmus7 Systems Consulting interview questions for designations
Top trending discussions
I applied via Campus Placement and was interviewed in Nov 2024. There was 1 interview round.
Kafka is a distributed streaming platform used for building real-time data pipelines and streaming applications.
Kafka is designed to handle high-throughput, fault-tolerant, and scalable real-time data streams.
It uses topics to categorize data streams, producers publish messages to topics, and consumers subscribe to topics to process messages.
Kafka can be implemented using Kafka APIs in Java, Scala, or other programming...
OAuth is an open standard for access delegation, commonly used as a way for Internet users to grant websites or applications access to their information on other websites but without giving them the passwords.
OAuth allows users to grant access to their information on one site to another site without sharing their credentials.
It is commonly used for authentication and authorization in APIs.
OAuth uses tokens to access re...
posted on 7 Jul 2024
OOPS (Object-Oriented Programming) is a programming paradigm based on the concept of objects, which can contain data and code.
OOPS focuses on creating objects that interact with each other to solve problems
Key principles include encapsulation, inheritance, polymorphism, and abstraction
Encapsulation involves bundling data and methods that operate on the data into a single unit
Inheritance allows one class to inherit prop...
Encapsulation is the concept of bundling data and methods that operate on the data into a single unit, known as a class.
Encapsulation helps in hiding the internal state of an object and restricting access to it.
It allows for better control over the data by preventing direct access from outside the class.
Getters and setters are commonly used to access and modify the encapsulated data.
Example: In a Car class, variables l...
The four pillars of object-oriented programming in Java are abstraction, encapsulation, inheritance, and polymorphism.
Abstraction: Hides complex implementation details and only shows the necessary features to the outside world.
Encapsulation: Bundles data and methods that operate on the data into a single unit, preventing direct access from outside the class.
Inheritance: Allows a class to inherit properties and behavior...
I applied via Naukri.com
I applied via Coding ninja and was interviewed before Feb 2023. There were 2 interview rounds.
I applied via Naukri.com
Program to return random number from array and count repetitive words.
Use Math.random() method to generate random index for array.
Use HashMap to count the frequency of each word in the array.
Iterate through the array and check if the word is already in the HashMap, if yes then increment its count.
To return random number from array, use the generated random index to access the element from array.
1 Interview rounds
Technology Specialist
102
salaries
| ₹9 L/yr - ₹25 L/yr |
Senior Engineer
93
salaries
| ₹6 L/yr - ₹16.4 L/yr |
Senior Software Engineer
35
salaries
| ₹7.8 L/yr - ₹21.5 L/yr |
Associate Engineer
26
salaries
| ₹3 L/yr - ₹7.2 L/yr |
Software Engineer
16
salaries
| ₹4.6 L/yr - ₹10 L/yr |
TCS
Infosys
Wipro
Tech Mahindra