i
Persistent
Systems
Work with us
Filter interviews by
The event loop is a programming construct that manages asynchronous operations in JavaScript, enabling non-blocking execution.
Single Threaded: JavaScript runs on a single thread, meaning it can only execute one operation at a time, which is managed by the event loop.
Call Stack: The event loop works with the call stack, where functions are executed in a last-in, first-out manner.
Web APIs: Asynchronous operations li...
Event-driven programming in JavaScript enables responsive and interactive applications by reacting to user actions and events.
Asynchronous Handling: JavaScript uses event-driven programming to handle asynchronous events, allowing the application to remain responsive while waiting for tasks like API calls.
User Interaction: Events such as clicks, key presses, and mouse movements can trigger functions, enabling dynam...
The server-side model processes requests on the server, generating dynamic content and managing data before sending it to the client.
Request Handling: The server receives requests from clients, processes them, and sends back responses, often using frameworks like Express.js.
Dynamic Content Generation: Server-side applications can generate HTML dynamically based on user input or database queries, e.g., rendering a ...
Spring Batch supports multi-threading to improve performance and efficiency in batch processing through parallel execution of tasks.
Task Executors: Use Spring's TaskExecutor to manage threads for parallel processing, allowing multiple steps to run concurrently.
Partitioning: Split large datasets into smaller partitions that can be processed in parallel, improving throughput and reducing processing time.
Multi-thread...
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.
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 ...
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 J...
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 ...
let is block scoped, const is constant, var is function scoped
let: block scoped, can be reassigned
const: block scoped, cannot be reassigned, but its properties can be modified
var: function scoped, can be reassigned
A palindrome is a word, phrase, number, or other sequence of characters that reads the same forward and backward.
Check if the string is equal to its reverse to determine if it is a palindrome.
Ignore spaces and punctuation when checking for palindromes.
Examples: 'racecar', 'madam', '12321'
I appeared for an interview 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.
I applied via Naukri.com and was interviewed in Jul 2024. There were 3 interview rounds.
A palindrome is a word, phrase, number, or other sequence of characters that reads the same forward and backward.
Check if the string is equal to its reverse to determine if it is a palindrome.
Ignore spaces and punctuation when checking for palindromes.
Examples: 'racecar', 'madam', '12321'
Write a program in react.
Optimization techniques for React include code splitting, lazy loading, memoization, and virtualization.
Code splitting: Break down the code into smaller chunks to load only what is necessary for each page.
Lazy loading: Load components only when they are needed, improving initial load time.
Memoization: Cache the results of expensive function calls to avoid redundant calculations.
Virtualization: Render only the visible e...
let is block scoped, const is constant, var is function scoped
let: block scoped, can be reassigned
const: block scoped, cannot be reassigned, but its properties can be modified
var: function scoped, can be reassigned
I appeared for an interview before Jun 2024, where I was asked the following questions.
Spring is a lightweight framework that provides comprehensive infrastructure support for developing Java applications.
Spring works internally by using Inversion of Control (IoC) container to manage Java objects.
It uses Dependency Injection to inject the dependencies of an object at runtime.
Spring also provides Aspect-Oriented Programming (AOP) support for cross-cutting concerns.
It utilizes various modules like Core, Co...
REST and SOAP are web service protocols with different design principles
REST (Representational State Transfer) is an architectural style that uses standard HTTP methods like GET, POST, PUT, DELETE for communication
SOAP (Simple Object Access Protocol) is a protocol that uses XML for message exchange and can work over various transport protocols like HTTP, SMTP, etc.
REST is lightweight, scalable, and easy to use, while S...
A palindrome is a string that reads the same forwards and backwards, like 'radar' or 'level'.
Check if the string is empty or has one character; both are palindromes.
Use two pointers: one at the start and one at the end of the string.
Compare characters at both pointers; if they differ, it's not a palindrome.
Move the pointers towards the center and repeat until they meet.
Example: 'racecar' is a palindrome; 'hello' is not...
I appeared for an interview in Nov 2024, where I was asked the following questions.
Spring Batch supports multi-threading to improve performance and efficiency in batch processing through parallel execution of tasks.
Task Executors: Use Spring's TaskExecutor to manage threads for parallel processing, allowing multiple steps to run concurrently.
Partitioning: Split large datasets into smaller partitions that can be processed in parallel, improving throughput and reducing processing time.
Multi-threaded St...
What people are saying about Persistent Systems
Some of the top questions asked at the Persistent Systems Lead Engineer interview -
The duration of Persistent Systems Lead Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 33 interview experiences
Difficulty level
Duration
based on 310 reviews
Rating in categories
8-12 Yrs
Not Disclosed
Software Engineer
4.6k
salaries
| ₹4.7 L/yr - ₹11.1 L/yr |
Senior Software Engineer
4.6k
salaries
| ₹6.8 L/yr - ₹18.7 L/yr |
Lead Software Engineer
3.6k
salaries
| ₹7.4 L/yr - ₹19.4 L/yr |
Lead Engineer
3.5k
salaries
| ₹13.7 L/yr - ₹25 L/yr |
Project Lead
2.1k
salaries
| ₹12.5 L/yr - ₹39.3 L/yr |
Cognizant
TCS
IBM
LTIMindtree