persistent systems logo

Persistent Systems Interviews

1 experience1 reads
persistent systems | on-campus 2021 | online assessment questions | interview questions
persistent systems logo
Persistent Systems
Offer
September 23, 20211 reads

Summary

I successfully cleared all rounds of the Persistent Systems on-campus interview process in 2021 for an entry-level software role and received the highest package offered.

Full Experience

I participated in the Persistent Systems on-campus drive in 2021, aiming for an entry-level position. The entire process consisted of multiple rounds, starting with an initial assessment and progressing through advanced coding, technical interviews, and a super achiever round, culminating in an HR assessment. I managed to clear all rounds, eventually securing the highest package offered.

The first hurdle, Round 0, involved 50 logical reasoning and English questions, where I solved approximately 40. This was followed by two very easy coding questions, both of which I successfully completed. Surprisingly, I wasn't interviewed in this technical round.

Following a strong performance, I was invited to the Advanced Coding Round OA which was designated for high-performers, targeting a 7.5 LPA package. This round featured two coding questions to be solved within 60 minutes. The first problem required converting one binary string to another by reversing substrings, with a constraint on increasing substring size; I solved this. The second problem, on finding the edge part of the maximum number of simple paths in an undirected graph, was more challenging, and I couldn't pass all test cases.

Next was a 90-minute Technical Interview. I was asked to code two problems: printing Pascal's Triangle and sorting an integer array by frequency, preserving the original order for elements with equal frequency. Both solutions were rigorously tested with multiple test cases, and I passed. The interview also included three SQL queries: creating a table, inserting data, and finding duplicates based on two columns, which I solved using GROUP BY and HAVING. Additionally, several CS fundamental questions were posed, covering topics like heaps, selection sort, pointers vs. references, disadvantages of the waterfall model, array declaration differences in certain languages, exceptions, and the distinction between exceptions and errors. I managed to answer most of these, though I missed the array declaration difference.

After successfully clearing the previous stages, I moved to the Super Achiever Round, aiming for a 9 LPA package. This began with a Coding Round of two problems in 60 minutes. The first problem was identical to the 'Number of Islands' problem on LeetCode, which I solved. The second problem was a variation of finding connected components in an undirected graph, and while not straightforward, I also managed to solve it.

The final Interview in the Super Achiever Round was managerial and focused on advanced topics, lasting 30 minutes. I was challenged with a system design-style question on finding word frequency in a huge text file, where a naive approach (chunks + hashmap) was explicitly deemed insufficient. I also solved a simple SQL self-join problem. The CS fundamentals portion delved into Python-specific concepts like context managers and GIL (which I couldn't answer), along with recursion (types, tail recursion optimization, and efficiency compared to loops), network architecture layers, reliable transmission, and functions of transport/network layers. Database questions included RDBMS indexes and their types (I missed the types). Since I mentioned ML on my resume, I was asked to explain the bias-variance tradeoff and normalization, both of which I answered.

Finally, the HR round was a 15-minute assessment of 50 objective, situational questions, which apparently everyone passes.

I am pleased to report that I successfully navigated all these rounds and received an offer with the highest package.

Interview Questions (30)

Q1
Convert Binary String by Reversing Substrings
Data Structures & Algorithms

Given two binary strings (strings of '0's and '1's) A and B. Convert string A to string B by selecting any substring and reversing it. The size of the substring selected in the current operation must be greater than the previously selected substring size. Find the minimum number of steps required.

Q2
Edge in Graph with Max Simple Paths
Data Structures & Algorithms

Given an undirected graph, find the edge which is part of the maximum number of simple paths.

Q3
Print Pascal Triangle
Data Structures & AlgorithmsEasy

Write code to print the Pascal's Triangle.

Q4
Sort Array by Frequency with Order Preservation
Data Structures & AlgorithmsMedium

Given an integer array, sort the elements by frequency. If the frequency is the same, then the element which occurs first in the original array comes first in the sorted array.

Q5
SQL: Create Table
OtherEasy

Write a SQL query to create a table.

Q6
SQL: Insert into Table
OtherEasy

Write a SQL query to insert data into a table.

Q7
SQL: Find Duplicates by Two Columns
OtherMedium

Given a table with three columns, write a SQL query to find duplicates with respect to the first two columns. (Hint: can be solved using GROUP BY and HAVING clause).

Q8
What are Heaps?
Data Structures & AlgorithmsEasy

What are heaps?

Q9
Explain Selection Sort
Data Structures & AlgorithmsEasy

Explain the Selection Sort algorithm.

Q10
Pointers vs. References (C++)
OtherMedium

What is the difference between pointers and references (assuming C++ context)?

Q11
Disadvantages of Waterfall Model
OtherEasy

What are the disadvantages of the Waterfall model?

Q12
Array Declaration Syntax (Java/C#)
OtherMedium

What is the difference between int var[]; and int[] var;?

Q13
What are Exceptions?
OtherEasy

What are exceptions?

Q14
Exceptions vs. Errors
OtherMedium

What are the differences between exceptions and errors?

Q15
Number of Islands
Data Structures & AlgorithmsMedium

The problem was the same as the 'Number of Islands' problem on LeetCode.

Q16
Variation of Connected Components in Undirected Graph
Data Structures & AlgorithmsMedium

A variation of finding connected components in an undirected graph, which was not as straightforward as the previous problem.

Q17
Word Frequency in Huge Text File
System DesignHard

Given a huge text file, how would you find word frequency? (Note: reading the file in chunks and using a hashmap was not the desired approach.)

Q18
SQL Self Join Problem
OtherEasy

A simple problem requiring the use of SQL self join.

Q19
What is Context Manager in Python?
OtherMedium

What is a context manager in Python?

Q20
What is GIL in Python?
OtherHard

What is the Global Interpreter Lock (GIL) in Python?

Q21
What is Recursion?
Data Structures & AlgorithmsEasy

What is recursion?

Q22
Types of Recursion & Tail Recursion Optimization
Data Structures & AlgorithmsHard

What are the different kinds of recursion? How is tail recursion made equivalent to a while loop by the compiler?

Q23
While Loop vs. Recursion Efficiency
OtherMedium

How is a while loop generally more efficient with respect to recursion?

Q24
Layers in Network Architecture
OtherMedium

What are the layers in a network architecture (e.g., OSI model or TCP/IP model)?

Q25
Reliable Transmission Layer
OtherEasy

Which layer in network architecture is responsible for reliable transmission?

Q26
Functions of Transport and Network Layers
OtherMedium

What are the functions of the Transport Layer and Network Layer in network architecture?

Q27
What are Indexes in RDBMS?
OtherMedium

What are indexes in a Relational Database Management System (RDBMS)?

Q28
Types of Indexes in RDBMS
OtherHard

What are the different kinds of indexes in RDBMS?

Q29
Explain Bias-Variance Tradeoff
OtherMedium

Explain the bias-variance tradeoff in machine learning.

Q30
Explain Normalization (ML/Statistics)
OtherMedium

Explain normalization (in the context of machine learning or statistics).

Have a Persistent Systems Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Persistent Systems.