Filter interviews by
Top trending discussions
I applied via Job Fair and was interviewed in Aug 2024. There were 3 interview rounds.
Node Js, computer science
System design in Node.js involves applying SOLID principles and design patterns for scalable and maintainable applications.
Use SOLID principles (Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion) to design modular and flexible systems.
Apply design patterns like MVC, Factory, Singleton, Observer, etc. to address common design problems and improve code reusability.
Utiliz...
posted on 26 Jul 2024
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...
posted on 18 Oct 2024
I applied via LinkedIn and was interviewed in Sep 2024. There was 1 interview round.
posted on 24 Apr 2024
posted on 1 Mar 2024
I applied via campus placement at ABES Engineering College, Ghaziabad and was interviewed in Feb 2024. There were 4 interview rounds.
They have 4 round total. In first round they take online Aptitide test in college labs.Aptitude topics are (Mcq on C,Java,C++ and quantitative aptitude,logical e.t.c), All rounds are Elimination round.
In 2nd Round they take coding test on your college systems.They don't have their plateform.You have to write code on any offline compiler.Coding question are based on linkedlist,array,string,hashmap only.They give 3 coding question if you solve 2 , you will be selected for next round.
Ques1: given an array of string and their frequency , find the string which have duplicate frequency.
Ques2: Find if an array contain any non empty subarray of zero sum in an array.
Ques 3: Find the string is isomorphic or Not.
Static keyword is used to create class-level variables and methods, while final keyword is used to make a variable constant.
Static keyword is used to create variables and methods that belong to the class itself, rather than to any specific instance of the class.
Final keyword is used to make a variable constant and cannot be changed once it has been assigned a value.
Static variables are shared among all instances of a c...
HashMap internally uses an array of linked lists to store key-value pairs, with keys hashed to determine the index.
HashMap uses hashing to determine the index of key-value pairs in the array.
Each index in the array can store multiple key-value pairs in a linked list.
When a key is inserted, its hash code is used to find the appropriate index in the array.
If multiple keys hash to the same index, they are stored in a link...
Detect cycle in a linked list
Use two pointers approach - slow and fast pointers
If there is a cycle, the fast pointer will eventually catch up to the slow pointer
Check if the fast and slow pointers meet at some point to detect the cycle
JVM is the Java Virtual Machine that executes Java bytecode. JRE is the Java Runtime Environment that includes JVM and libraries. JDK is the Java Development Kit that includes JRE and development tools.
JVM is the virtual machine that runs Java bytecode and provides a runtime environment for Java programs.
JRE includes JVM along with libraries and other components necessary to run Java applications.
JDK is a development k...
Spring Boot is a framework for building Java-based web applications with minimal configuration.
Spring Boot simplifies the process of creating standalone, production-grade Spring-based applications.
It provides a range of features like embedded servers, auto-configuration, and production-ready metrics.
Spring Boot allows developers to quickly set up and run RESTful web services using annotations and minimal XML configurat
Polymorphism allows objects of different classes to be treated as objects of a common superclass. Interface is a contract that defines a set of methods that a class must implement.
Polymorphism allows for flexibility in programming by enabling a single interface to be used to represent multiple types of objects
Interfaces in Java are similar to abstract classes, but they cannot contain any implementation code
Abstract cla...
posted on 29 May 2024
I applied via Campus Placement and was interviewed in Apr 2024. There were 2 interview rounds.
It was a written test where theoretical SQL questions were asked like primary key, foreign key, set operators and some queries
posted on 15 Nov 2024
Negative impacts of screen time
I applied via Walk-in and was interviewed in Oct 2023. There were 4 interview rounds.
We need to talk about the topic given by HR
Relatable to the field
I applied via LinkedIn and was interviewed in Jan 2024. There were 2 interview rounds.
English amplitude question asked
Security Analyst
44
salaries
| ₹1.5 L/yr - ₹5 L/yr |
Digital Marketing Analyst
18
salaries
| ₹2.5 L/yr - ₹4.6 L/yr |
Associate
16
salaries
| ₹2.2 L/yr - ₹3.8 L/yr |
Senior Associate
15
salaries
| ₹3 L/yr - ₹4.8 L/yr |
Associate Analyst
14
salaries
| ₹2 L/yr - ₹3.3 L/yr |
NortonLifeLock's
McAfee
Kaspersky Lab
Trend Micro