Filter interviews by
Be the first one to contribute and help others!
SCD Type 2 implementation involves tracking historical changes in data by creating new records for each change.
Identify the columns that need to be tracked for changes
Add effective start and end dates to track the validity of each record
Insert new records for changes and update end dates for previous records
Maintain a surrogate key to uniquely identify each version of the record
I can join the team within 2 weeks.
I can start within 2 weeks of receiving the offer.
I need to give notice to my current employer.
I may need to relocate, which could affect my start date.
posted on 2 Feb 2025
For example, a ₹10 LPA CTC could mean an in-hand salary of ₹70,000–₹75,000 per month, depending on deductions and benefits.
✨ 𝗣𝗿𝗼 𝗧𝗶𝗽: Always request a detailed salary structure during negotiations—it’s your roadmap to making informed decisions
𝗖𝗧𝗖 𝘃𝘀 𝗜𝗻-𝗛𝗮𝗻𝗱 𝗦𝗮𝗹𝗮𝗿𝘆: 𝗧𝗵𝗲 𝗥𝗲𝗮𝗹𝗶𝘁𝘆 𝗖𝗵𝗲𝗰𝗸 𝗘𝘃𝗲𝗿𝘆 𝗣𝗿𝗼𝗳𝗲𝘀𝘀𝗶𝗼𝗻𝗮𝗹 𝗡𝗲𝗲𝗱𝘀!
We’ve all been there—excitedly discussing job offers and hearing about the impressive CTC (Cost to Company). But when payday arrives, you wonder
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 was interviewed in Jan 2025.
Semantic tags in HTML are specific tags that provide meaning to the content they enclose.
Semantic tags help search engines and screen readers understand the structure of a webpage.
Examples of semantic tags include <header>, <footer>, <nav>, <article>, <section>, <aside>, <main>, <figure>, <figcaption>.
Using semantic tags improves SEO and accessibility of a website.
Currying is a technique in functional programming where a function with multiple arguments is transformed into a sequence of nested functions, each taking a single argument.
Currying helps in creating reusable functions and partial application.
It allows you to create new functions by fixing some parameters of an existing function.
Example: const add = (a) => (b) => a + b; add(2)(3) will return 5.
Map is used to transform each element of an array, while Filter is used to select elements based on a condition.
Map returns a new array with the same length as the original array, but with each element transformed based on a provided function.
Filter returns a new array with only the elements that pass a provided condition function.
Example for Map: [1, 2, 3].map(num => num * 2) will result in [2, 4, 6].
Example for Fi...
Map creates a new array with the results of calling a provided function on every element, while forEach executes a provided function once for each array element.
Map returns a new array with the same length as the original array, while forEach does not return anything.
Map does not mutate the original array, while forEach can mutate the original array.
Map is more suitable for transforming data and creating a new array, w...
Authentication verifies the identity of a user, while authorization determines the user's access rights.
Authentication confirms the user's identity through credentials like username and password.
Authorization determines what actions the authenticated user is allowed to perform.
Authentication precedes authorization in the security process.
Example: Logging into a website (authentication) and then accessing specific pages
Local storage persists even after the browser is closed, while session storage is cleared when the browser is closed.
Local storage has no expiration date, while session storage expires when the browser is closed.
Local storage stores data with no limit, while session storage has a limit of around 5MB.
Local storage data is available across all windows/tabs for that domain, while session storage data is only available wit...
I applied via Approached by Company and was interviewed in Dec 2024. There were 3 interview rounds.
I was interviewed in Jan 2025.
The Java Virtual Machine (JVM) is an abstract computing machine that enables a computer to run Java programs.
JVM is platform-independent and converts Java bytecode into machine code.
It consists of class loader, runtime data areas, execution engine, and native method interface.
JVM memory is divided into method area, heap, stack, and PC register.
Examples of JVM implementations include Oracle HotSpot, OpenJ9, and GraalVM.
The default connection pooling in Spring Boot is HikariCP, which can be customized through properties in the application.properties file.
HikariCP is the default connection pooling library in Spring Boot, known for its high performance and low overhead.
To customize the connection pooling, you can modify properties like 'spring.datasource.hikari.*' in the application.properties file.
For example, you can set maximum pool ...
Best practices for optimizing a Spring Boot application
Use Spring Boot Actuator to monitor and manage application performance
Implement caching mechanisms like Spring Cache to reduce database calls
Optimize database queries and indexes for better performance
Use asynchronous processing with Spring's @Async annotation for non-blocking operations
Profile and analyze application performance using tools like VisualVM or JProfi
A heap dump is a snapshot of the memory usage of a Java application at a specific point in time.
Heap dumps can be generated using tools like jmap or VisualVM.
They provide detailed information about objects in memory, their sizes, and references.
Analyzing a heap dump can help identify memory leaks by pinpointing objects that are consuming excessive memory.
Common signs of memory leaks in a heap dump include a large numbe...
Diagonally iterate through and print elements of a 2D array of strings.
Use nested loops to iterate through rows and columns of the 2D array.
Calculate the diagonal elements by incrementing row and column indices together.
Print the elements as you iterate through the diagonal of the array.
My name is John Doe.
Full name is John Doe
Common first and last name combination
Easy to remember and pronounce
CSV stands for Comma-Separated Values.
CSV is a file format used to store tabular data in plain text.
Each line in a CSV file represents a row of data, with columns separated by commas.
CSV files can be easily imported and exported in spreadsheet software like Excel.
Example: 'name,age,city' on the first line, followed by 'John,25,New York' on the second line.
Hello,First of all thankyou very much for giving opportunity to introduced in front of you.I am harsh.I hail from ambala cantt but currently live in defence enclave.I am a fresher. I live in nuclear family.There are 5 of us in my family.I am a object oriented person. I have a master degree in computer application from kurukshetra university.I have done 6 month course in data analyst from chandigarh.I enjoy dancing,Sing...
SQL stands for Structured Query Language.
SQL is a standard language for accessing and manipulating databases.
It is used to communicate with databases to perform tasks such as querying data, updating data, and creating tables.
Examples of SQL commands include SELECT, INSERT, UPDATE, DELETE, CREATE, and DROP.
DML commands are used to manipulate data in a database.
DML stands for Data Manipulation Language
Common DML commands include INSERT, UPDATE, DELETE
Example: INSERT INTO table_name (column1, column2) VALUES (value1, value2)
I was interviewed in Dec 2024.
based on 5 reviews
Rating in categories
Member Technical Staff
16
salaries
| ₹10.5 L/yr - ₹25 L/yr |
Senior Member of Technical Staff
4
salaries
| ₹16.3 L/yr - ₹31 L/yr |
Software Engineer
3
salaries
| ₹7.2 L/yr - ₹12 L/yr |
TCS
Wipro
Infosys
HCLTech