Persistent Systems Previous Year Coding Questions and Hiring Process
Persistent Systems is a large Indian IT services and product engineering company that hires freshers every year through campus and off campus drives, often supported by its Train and Hire pre placement program. It recruits from B.E./B.Tech backgrounds across CSE, IT, ECE, and related branches.
If you are preparing for Persistent, understanding the AMCAT based assessment structure, the optional advanced coding round, and the two stage technical interview will help you prepare efficiently. This guide covers the complete Persistent Systems hiring process along with previous year coding questions asked in its online assessments and interviews.
Persistent Systems Hiring Process
Here is the typical flow for Persistent Systems fresher hiring through campus and off campus drives.
| Stage | What Happens | What They Are Looking For |
|---|---|---|
| A proctored AMCAT based test, around 60 to 90 minutes, covering computer science MCQs, quantitative aptitude, logical reasoning, verbal English, and two coding questions. | Breadth across fundamentals and working code. |
| An optional round for top performers, one or two harder DSA problems solved in a real compiler over 60 to 90 minutes. | Depth in data structures and algorithmic thinking. |
| A resume and project walkthrough alongside DSA, OOP, and SQL questions. | Ability to explain your own code and design choices. |
| Operating systems, computer networks, DBMS, and sometimes cloud computing or multithreading basics. Some drives combine this with Technical Interview 1 into a single round. | Conceptual clarity across core CS subjects. |
| A conversation about your background, motivation for joining Persistent, and general behavioural questions. | Cultural fit and career clarity. |
Candidates who perform strongly in the advanced coding round are sometimes offered a higher starting package, so treat that round as worth the extra preparation even though it is optional for many drives.
Assessment Pattern
Format: A proctored AMCAT based online test combining aptitude, technical MCQs, and coding, generally with no negative marking, so attempt every question.
Sections typically included:
- Quantitative Aptitude: Percentages, ratios, time and work, profit and loss, number series, data interpretation.
- Logical Reasoning: Puzzles, series completion, blood relations, coding decoding.
- Verbal English: Grammar, comprehension, sentence correction, sometimes a short essay writing task.
- Computer Science MCQs: DSA, DBMS, operating systems, computer networks, and C or C++ output prediction questions.
- Coding Round: Two problems, easy to medium difficulty, in C, C++, Java, or Python.
Persistent Coding Round: What to Expect
The coding round at Persistent blends classic DSA problems with C language specific tasks such as struct usage and file handling. Frequently reported topics include:
- Linked list operations such as reversal and finding the middle node
- Array based problems such as segregating 0s and 1s or computing product of array except self
- String manipulation such as permutations, removing substrings, and pattern matching
- Stack and queue implementations, including implementing one using the other
- C specific tasks such as defining a struct for a banking record or reading and modifying text files
- In the advanced round, graph or matrix based problems such as shortest path in an N by N grid, and generating balanced parentheses combinations
For hands on practice, use:
Technical Interview Focus Areas
- Object Oriented Programming: Abstraction versus encapsulation with real life examples, operator overloading versus overriding.
- Data Structures: Sets versus lists, BFS versus DFS traversal, binary search tree structure and traversal.
- Operating Systems: Process versus thread, deadlocks and how to avoid them, paging, page faults, and thrashing.
- Computer Networks: TCP versus UDP, HTTP versus HTTPS, subnetting, and what happens when you type a URL into a browser.
- DBMS and SQL: ACID properties, aggregation, and SQL queries such as finding the second highest salary, grouping totals by category, and filtering by name pattern.
- Core C/C++ Concepts: Dangling pointers, linker versus loader, compiler versus interpreter, preprocessor directives, and access specifiers.
HR Interview Tips
The HR round checks communication, motivation, and overall fit. Common questions include:
- Why should I hire you.
- Where do you see yourself in five to ten years.
- Have you done any internships.
- Why Persistent, and what do you know about our company.
- If you had a more attractive offer, would you still accept Persistent.
- What are your hobbies.
Complete HR Interview Questions
Answer with specific examples from your projects and internships rather than generic statements.
Resources to Prepare for Persistent Systems
- Free Aptitude Mock Practice latest patterns and mock tests
- ATS Score Checker and Resume Optimizer
- Roadmaps
- Interview Questions
- Resume Templates
- Free Placement Materials (Google Drive)
- Interview Experience
Persistent Systems Previous Year Coding Questions
Below is a list of Persistent Systems previous year coding questions commonly reported by candidates in the online assessment and advanced coding round. Each question includes a problem statement, input and output format, and a sample explanation.
1. Reverse a Linked List
Problem Statement: Given the head of a singly linked list, reverse it and return the new head.
Input Format:
- A linked list
head
Output Format:
- The reversed linked list
Example:
Input: 1 -> 2 -> 3 -> 4
Output: 4 -> 3 -> 2 -> 1
2. Find the Middle of a Linked List
Problem Statement: Given the head of a singly linked list, find and return the middle node. If there are two middle nodes, return the second one.
Input Format:
- A linked list
head
Output Format:
- The value at the middle node
Example:
Input: 1 -> 2 -> 3 -> 4 -> 5
Output: 3
3. Product of Array Except Self
Problem Statement: Given an array of integers, return an array where each element is the product of all other elements except itself, without using division.
Input Format:
- An integer array
arr
Output Format:
- An array of products
Example:
Input: [1, 2, 3, 4]
Output: [24, 12, 8, 6]
4. Remove All Occurrences of a Substring
Problem Statement: Given a string and a substring, repeatedly remove all occurrences of the substring from the string until none remain.
Input Format:
- A string
sand a stringpart
Output Format:
- The resulting string after all removals
Example:
Input: s = "daabcbaabcbc", part = "abc"
Output: dab
5. Print a Pyramid Pattern
Problem Statement:
Given a number of rows n, print a pyramid pattern of stars centered on each line.
Input Format:
- An integer
n
Output Format:
- The pyramid pattern printed row by row
Example:
Input: 3
Output:
*
***
*****
6. All Permutations of a String
Problem Statement: Given a string, print all possible permutations of its characters.
Input Format:
- A string
s
Output Format:
- All permutations of the string
Example:
Input: ab
Output: ab, ba
7. Segregate 0s and 1s in an Array
Problem Statement: Given an array containing only 0s and 1s, rearrange it so that all 0s appear before all 1s, ideally in a single pass.
Input Format:
- An integer array
arrcontaining only 0 and 1
Output Format:
- The rearranged array
Example:
Input: [1, 0, 1, 0, 0, 1]
Output: [0, 0, 0, 1, 1, 1]
8. Implement a Queue Using Two Stacks
Problem Statement: Implement a queue data structure using only two stacks, supporting enqueue and dequeue operations.
Input Format:
- A sequence of enqueue and dequeue operations
Output Format:
- The result of each dequeue operation
Example:
Input: enqueue(1), enqueue(2), dequeue(), enqueue(3), dequeue()
Output: 1, 2
9. Shortest Path in an N by N Matrix
Problem Statement: Given an N by N grid with some cells blocked, find the length of the shortest path from the top left cell to the bottom right cell, moving in four directions.
Input Format:
- An N by N grid of 0s (open) and 1s (blocked)
Output Format:
- The length of the shortest path, or -1 if no path exists
Example:
Input: [[0,0,0],[1,1,0],[0,0,0]]
Output: 4
10. Generate Balanced Parentheses Combinations
Problem Statement:
Given a number n, generate all combinations of n pairs of balanced parentheses.
Input Format:
- An integer
n
Output Format:
- All valid combinations of balanced parentheses
Example:
Input: 2
Output: (()), ()()
11. Sort Half Ascending and Half Descending
Problem Statement: Given an array, sort the first half in ascending order and the second half in descending order.
Input Format:
- An integer array
arr
Output Format:
- The rearranged array
Example:
Input: [5, 3, 8, 1, 9, 2]
Output: [3, 5, 8, 9, 2, 1]
12. Remove Alternate Occurring Vowels From a String
Problem Statement: Given a string, remove every alternate occurrence of a vowel, keeping the first, removing the second, keeping the third, and so on.
Input Format:
- A string
s
Output Format:
- The resulting string
Example:
Input: programming
Output: prigromming
13. Replace the Second Occurrence of a Character
Problem Statement: Given a string and a target character, replace only the second occurrence of that character with a given replacement character.
Input Format:
- A string
s, a target character, and a replacement character
Output Format:
- The modified string
Example:
Input: s = "believe", target = 'e', replacement = '@'
Output: beli@ve
14. Find Duplicate Characters in a String
Problem Statement: Given a string, find all characters that occur more than once, along with their counts.
Input Format:
- A string
s
Output Format:
- Each duplicate character with its count
Example:
Input: programming
Output: r: 2, g: 2, m: 2
15. Count Words and Characters in a String
Problem Statement: Given a sentence, count the number of words and the total number of characters, excluding spaces.
Input Format:
- A string
s
Output Format:
- The word count and the character count
Example:
Input: Persistent hires freshers every year
Output: Words = 5, Characters = 32
At Last
Persistent tests a wide range of fundamentals in a single AMCAT sitting, so pace yourself across sections rather than spending too long on any one part. Since there is generally no negative marking, attempt every question. Revise linked lists, stack and queue implementations, and core CS subjects like OS, DBMS, and networking, since these come up repeatedly across both interview rounds.
Join the Telegram group for more resources and discussions.