Persistent Systems Placement Papers 2026
Persistent Systems Placement Papers 2026 - Complete Preparation Guide
Last Updated: March 2026
🎯 Company Overview
Persistent Systems is a global technology company specializing in software product development and digital transformation. Founded in 1990 and headquartered in Pune, India, Persistent has established itself as a trusted partner for building innovative software products and platforms.
With over 22,000 employees across 18 countries, Persistent serves clients in healthcare, banking, telecom, and technology sectors. The company is known for its strong engineering culture and expertise in cloud computing, data analytics, AI/ML, and enterprise modernization.
💼 Eligibility Criteria (Freshers 2026)
| Parameter | Requirement |
|---|---|
| Education | B.Tech/B.E. (CS/IT/ECE/EEE) or MCA/M.Sc. (CS/IT) |
| Academic Score | 60% or above in 10th, 12th, and Graduation |
| Backlogs | No active backlogs at time of joining |
| Graduation Year | 2026 batch |
| Gap Allowed | Maximum 1 year with valid reason |
💰 CTC for Freshers 2026
Persistent Systems offers market-competitive packages:
| Package Type | CTC | Take-Home (Approx) |
|---|---|---|
| Software Engineer | ₹4.5 - 6.0 LPA | ₹32,000 - ₹42,000 |
| Senior Software Engineer | ₹6.5 - 8.5 LPA | ₹48,000 - ₹60,000 |
Note: Exact figures vary based on performance in assessments and interview.
📋 Exam Pattern
Persistent Systems follows a comprehensive selection process:
Stage 1: Online Assessment (AMCAT/Cocubes)
| Section | Questions | Duration | Topics |
|---|---|---|---|
| English | 18 | 18 min | Grammar, Vocabulary, RC |
| Quantitative Aptitude | 16 | 16 min | Arithmetic, Algebra, Geometry |
| Logical Reasoning | 14 | 14 min | Patterns, Series, Coding |
| Computer Programming | 25 | 25 min | C/C++, Java, Data Structures |
| Automata (Coding) | 2 | 45 min | Problem-solving |
| SQL | 10 | 10 min | Queries, Joins, Functions |
| Total | ~85 | 128 min | - |
Stage 2: Technical Interview (30-45 min)
- Programming concepts
- Data structures and algorithms
- Project discussion
- Puzzle/problem-solving
Stage 3: HR Interview (15-20 min)
- Behavioral questions
- Company knowledge
- Career aspirations
Important Information
- Negative Marking: None
- Sectional Cutoffs: Yes (50-60%)
- Overall Cutoff: 60-65%
🧮 Aptitude Questions with Solutions (15 Questions)
Question 1
If 15 men can complete a work in 24 days, how many days will 18 men take?
Solution: Total work = 15 men × 24 days = 360 man-days
Days for 18 men = 360 / 18 = 20 days
Question 2
The average of 7 consecutive numbers is 20. Find the largest number.
Solution: For consecutive numbers, average = middle term Middle (4th) number = 20
Numbers: 17, 18, 19, 20, 21, 22, 23 Largest = 23
Question 3
A man buys 20 articles for ₹400 and sells 16 articles for ₹400. Find his profit/loss percentage.
Solution: CP per article = 400/20 = ₹20 SP per article = 400/16 = ₹25
Profit per article = ₹5 Profit % = (5/20) × 100 = 25%
Question 4
The ratio of present ages of father and son is 7:2. After 10 years, the ratio will be 9:4. Find the present age of the son.
Solution: Let present ages be 7x and 2x.
(7x + 10) / (2x + 10) = 9/4 4(7x + 10) = 9(2x + 10) 28x + 40 = 18x + 90 10x = 50 x = 5
Son's present age = 2x = 10 years
Question 5
Find the sum of all even numbers from 1 to 100.
Solution: Even numbers: 2, 4, 6, ..., 100 (50 terms)
Sum = n/2 × (first + last) = 50/2 × (2 + 100) = 25 × 102 = 2550
Question 6
A train 200m long crosses a platform 300m long in 25 seconds. Find the speed of the train.
Solution: Total distance = 200 + 300 = 500m Time = 25 seconds
Speed = 500/25 = 20 m/s = 20 × (18/5) = 72 km/hr
Question 7
If A:B = 2:3 and B:C = 4:5, find A:B:C.
Solution: A:B = 2:3 = 8:12 B:C = 4:5 = 12:15
A:B:C = 8:12:15
Question 8
The compound interest on a sum for 2 years at 20% per annum is ₹1320. Find the simple interest for the same period.
Solution: Let P = x CI = x[(1.2)² - 1] = 1320 x × 0.44 = 1320 x = 3000
SI = (3000 × 20 × 2) / 100 = ₹1200
Question 9
How many numbers between 100 and 1000 are divisible by 7?
Solution: First number = 105 (7 × 15) Last number = 994 (7 × 142)
Number of terms = 142 - 15 + 1 = 128
Question 10
A can do a work in 10 days, B in 15 days. They work together for 5 days, then C completes the remaining work in 2 days. How many days will C alone take?
Solution: (A+B)'s 1 day work = 1/10 + 1/15 = 1/6 Work in 5 days = 5/6
Remaining work = 1/6 C does 1/6 work in 2 days C does full work in 12 days
Question 11
Find the HCF of 144, 180, and 240.
Solution: 144 = 2⁴ × 3² 180 = 2² × 3² × 5 240 = 2⁴ × 3 × 5
HCF = 2² × 3 = 12
Question 12
A mixture contains alcohol and water in the ratio 3:1. When 5 liters of water is added, the ratio becomes 3:2. Find the original quantity of alcohol.
Solution: Let alcohol = 3x, water = x
3x / (x + 5) = 3/2 6x = 3(x + 5) 6x = 3x + 15 3x = 15 x = 5
Alcohol = 3x = 15 liters
Question 13
Find the unit digit of 4^67 × 9^45.
Solution: Unit digit of 4^n: pattern 4, 6 (for odd, even) 67 is odd, so 4^67 ends in 4
Unit digit of 9^n: pattern 9, 1 (for odd, even) 45 is odd, so 9^45 ends in 9
Unit digit of product = unit digit of (4 × 9) = unit digit of 36 = 6
Question 14
The difference between 75% of a number and 40% of the same number is 280. Find 60% of that number.
Solution: 75% - 40% = 35% = 280
Number = 280 / 0.35 = 800
60% of 800 = 480
Question 15
A boat travels 24 km upstream in 4 hours and downstream in 3 hours. Find the speed of the stream.
Solution: Upstream speed = 24/4 = 6 km/hr = B - S Downstream speed = 24/3 = 8 km/hr = B + S
Subtracting: 2S = 2 S = 1 km/hr
💻 Technical Questions with Solutions (10 Questions)
Question 1
What is the difference between deep copy and shallow copy?
| Shallow Copy | Deep Copy |
|---|---|
| Creates new object, references same nested objects | Creates new object and recursively copies all nested objects |
| Changes to nested objects reflect in both | Changes don't affect original |
| Faster | Slower |
copy() in Python | deepcopy() in Python |
Question 2
Explain the difference between DELETE, TRUNCATE, and DROP.
| DELETE | TRUNCATE | DROP |
|---|---|---|
| DML command | DDL command | DDL command |
| Removes specific rows | Removes all rows | Removes entire table structure |
| Can use WHERE | No WHERE | No WHERE |
| Rollback possible | Rollback possible (some DBs) | Cannot rollback |
| Triggers fire | Triggers don't fire | - |
Question 3
What is the difference between Monolithic and Microservices architecture?
| Monolithic | Microservices |
|---|---|
| Single unified codebase | Multiple independent services |
| Simple to develop initially | Complex initial setup |
| Hard to scale individual components | Independent scaling |
| Single technology stack | Polyglot programming possible |
| Tight coupling | Loose coupling |
Question 4
Explain the difference between List, Set, and Map in Java.
| List | Set | Map |
|---|---|---|
| Ordered collection | Unordered, unique elements | Key-value pairs |
| Allows duplicates | No duplicates | Keys unique, values can duplicate |
| Indexed access | No indexing | Access by key |
| Implementations: ArrayList, LinkedList | HashSet, TreeSet | HashMap, TreeMap |
Question 5
What is Dependency Injection and what are its types?
- Constructor Injection: Dependencies via constructor (preferred)
- Setter Injection: Dependencies via setter methods
- Interface Injection: Dependencies via interface implementation
Benefits: Loose coupling, testability, maintainability
Question 6
Explain the difference between synchronous and asynchronous programming.
| Synchronous | Asynchronous |
|---|---|
| Tasks execute sequentially | Tasks can execute concurrently |
| Blocks until completion | Non-blocking |
| Simpler to understand | Better performance for I/O operations |
| Examples: Traditional function calls | Examples: Callbacks, Promises, Async/Await |
Question 7
What is the difference between authentication and authorization?
-
Authentication: Verifies who you are (identity verification)
- Examples: Password, Biometrics, OTP
-
Authorization: Determines what you can access (permissions)
- Examples: Role-based access control, ACLs
Authentication happens before authorization.
Question 8
Explain the SOLID principles of OOP.
- S - Single Responsibility: One class should have one reason to change
- O - Open/Closed: Open for extension, closed for modification
- L - Liskov Substitution: Derived classes must be substitutable for base classes
- I - Interface Segregation: Many specific interfaces better than one general
- D - Dependency Inversion: Depend on abstractions, not concrete implementations
Question 9
What is the difference between Compiled and Interpreted languages?
| Compiled | Interpreted |
|---|---|
| Code translated to machine code before execution | Code executed line by line |
| Faster execution | Slower execution |
| Errors found at compile time | Errors found at runtime |
| Examples: C, C++, Go | Examples: Python, JavaScript, Ruby |
| Java is both (compiled to bytecode, interpreted by JVM) |
Question 10
Explain the difference between GET and POST methods in HTTP.
| GET | POST |
|---|---|
| Requests data from server | Submits data to server |
| Parameters in URL | Parameters in body |
| Limited data size | Larger data capacity |
| Safe for caching | Not cached by default |
| For retrieval operations | For create/update operations |
| Idempotent | Not idempotent |
📝 Verbal/English Questions with Solutions (10 Questions)
Question 1
Choose the correct synonym for PRAGMATIC:
a) Theoretical b) Practical c) Idealistic d) Imaginative
Explanation: Pragmatic means dealing with things sensibly and realistically.
Question 2
Choose the correct antonym for OPAQUE:
a) Dark b) Cloudy c) Transparent d) Murky
Explanation: Opaque means not transparent; transparent means see-through or clear.
Question 3
Fill in the blank: The company is known ______ its innovative products.
a) for b) of c) with d) by
Explanation: "Known for" is the correct collocation.
Question 4
Error spotting: "The group of students are going on a field trip."
Explanation: "Group" is the subject (singular), so use "is."
Question 5
Rearrange: P: modern technology Q: transformed R: has S: communication
Question 6
Choose the correct preposition: He insisted ______ paying for dinner.
a) on b) in c) at d) for
Explanation: "Insist on" is the correct collocation.
Question 7
One word substitution: A person who loves books.
a) Bibliophile b) Bibliophobe c) Philatelist d) Ornithologist
Question 8
Idiom meaning: "Bite the bullet"
a) To eat quickly b) To face a difficult situation bravely c) To give up d) To complain
Explanation: To endure a painful or difficult situation with courage.
Question 9
Active to Passive: "The teacher praised the students."
Question 10
Reading Comprehension:
Passage about agile software development methodology...
Question: What is the main advantage of agile methodology mentioned in the passage?
a) Lower cost b) Flexibility to adapt to changes c) Less documentation d) Faster hiring
🚀 Coding Questions with Solutions (5 Questions)
Question 1: GCD (Greatest Common Divisor)
Problem: Find GCD of two numbers using Euclidean algorithm.
Python Solution:
# Iterative approach
def gcd_iterative(a, b):
while b:
a, b = b, a % b
return a
# Recursive approach
def gcd_recursive(a, b):
if b == 0:
return a
return gcd_recursive(b, a % b)
# Using built-in
import math
print(math.gcd(48, 18)) # 6
# Extended Euclidean (also finds x, y such that ax + by = gcd)
def extended_gcd(a, b):
if b == 0:
return a, 1, 0
gcd, x1, y1 = extended_gcd(b, a % b)
x = y1
y = x1 - (a // b) * y1
return gcd, x, y
# Test
print(gcd_iterative(48, 18)) # 6
print(gcd_recursive(56, 98)) # 14
Question 2: Valid Parentheses
Problem: Check if a string of brackets is valid (properly closed and nested).
Python Solution:
def is_valid_parentheses(s):
stack = []
mapping = {')': '(', '}': '{', ']': '['}
for char in s:
if char in mapping:
# Closing bracket
top = stack.pop() if stack else '#'
if mapping[char] != top:
return False
else:
# Opening bracket
stack.append(char)
return not stack
# Alternative: Using string replace (less efficient)
def is_valid_simple(s):
while '()' in s or '{}' in s or '[]' in s:
s = s.replace('()', '').replace('{}', '').replace('[]', '')
return len(s) == 0
# Test
print(is_valid_parentheses("(){}[]")) # True
print(is_valid_parentheses("([{}])")) # True
print(is_valid_parentheses("(]")) # False
print(is_valid_parentheses("([)]")) # False
Question 3: First Non-Repeating Character
Problem: Find the first non-repeating character in a string.
Python Solution:
def first_non_repeating(s):
# Count frequency
char_count = {}
for char in s:
char_count[char] = char_count.get(char, 0) + 1
# Find first with count 1
for char in s:
if char_count[char] == 1:
return char
return None
# Alternative: Using OrderedDict for maintaining order
from collections import OrderedDict, Counter
def first_non_repeating_ordered(s):
count = Counter(s)
for char in s:
if count[char] == 1:
return char
return None
# Using OrderedDict (Python 3.7+ dict maintains order anyway)
def first_unique_ordered(s):
char_order = OrderedDict()
for char in s:
char_order[char] = char_order.get(char, 0) + 1
for char, count in char_order.items():
if count == 1:
return char
return None
# Test
print(first_non_repeating("leetcode")) # 'l'
print(first_non_repeating("loveleetcode")) # 'v'
print(first_non_repeating("aabb")) # None
Question 4: Climbing Stairs (Fibonacci Pattern)
Problem: Count ways to climb n stairs, taking 1 or 2 steps at a time.
Python Solution:
def climb_stairs(n):
if n <= 2:
return n
# Dynamic programming approach
dp = [0] * (n + 1)
dp[1] = 1
dp[2] = 2
for i in range(3, n + 1):
dp[i] = dp[i-1] + dp[i-2]
return dp[n]
# Space optimized
def climb_stairs_optimized(n):
if n <= 2:
return n
prev2, prev1 = 1, 2
for _ in range(3, n + 1):
current = prev1 + prev2
prev2, prev1 = prev1, current
return prev1
# With variable steps (can take 1, 2, or 3 steps)
def climb_stairs_variable(n):
if n <= 0:
return 0
if n == 1:
return 1
if n == 2:
return 2
if n == 3:
return 4 # 1+1+1, 1+2, 2+1, 3
return climb_stairs_variable(n-1) + climb_stairs_variable(n-2) + climb_stairs_variable(n-3)
# Test
print(climb_stairs(4)) # 5
print(climb_stairs_optimized(5)) # 8
Question 5: LRU Cache Implementation
Problem: Implement a Least Recently Used (LRU) Cache.
Python Solution:
from collections import OrderedDict
class LRUCache:
def __init__(self, capacity):
self.capacity = capacity
self.cache = OrderedDict()
def get(self, key):
if key not in self.cache:
return -1
# Move to end (most recently used)
self.cache.move_to_end(key)
return self.cache[key]
def put(self, key, value):
if key in self.cache:
# Update existing
self.cache.move_to_end(key)
self.cache[key] = value
if len(self.cache) > self.capacity:
# Remove least recently used (first item)
self.cache.popitem(last=False)
# Manual implementation using dictionary and doubly-linked list
class Node:
def __init__(self, key=0, value=0):
self.key = key
self.value = value
self.prev = None
self.next = None
class LRUCacheManual:
def __init__(self, capacity):
self.capacity = capacity
self.cache = {}
self.head = Node()
self.tail = Node()
self.head.next = self.tail
self.tail.prev = self.head
def _remove(self, node):
prev, next = node.prev, node.next
prev.next = next
next.prev = prev
def _add_to_front(self, node):
node.prev = self.head
node.next = self.head.next
self.head.next.prev = node
self.head.next = node
def get(self, key):
if key not in self.cache:
return -1
node = self.cache[key]
self._remove(node)
self._add_to_front(node)
return node.value
def put(self, key, value):
if key in self.cache:
self._remove(self.cache[key])
new_node = Node(key, value)
self.cache[key] = new_node
self._add_to_front(new_node)
if len(self.cache) > self.capacity:
lru = self.tail.prev
self._remove(lru)
del self.cache[lru.key]
# Test
cache = LRUCache(2)
cache.put(1, 1)
cache.put(2, 2)
print(cache.get(1)) # 1
cache.put(3, 3) # Evicts key 2
print(cache.get(2)) # -1
🎯 Interview Tips
-
Focus on Core Programming: Persistent values strong programming fundamentals. Be comfortable with C/C++/Java basics.
-
Practice SQL Thoroughly: SQL is a separate section. Master joins, subqueries, aggregate functions, and query optimization.
-
Know Your Projects: Be ready to explain your projects' architecture, challenges faced, and how you solved them.
-
Data Structures are Key: Arrays, strings, linked lists, stacks, queues, and trees are frequently asked topics.
-
Stay Calm During Puzzles: Persistent often includes logical puzzles in interviews. Think aloud and show your problem-solving approach.
-
Research the Company: Understand Persistent's product engineering focus. Mention this in your HR interview.
-
Write Clean Code: In coding rounds, focus on readable, well-commented code. Edge case handling is important.
❓ Frequently Asked Questions (FAQ)
Q1: What makes Persistent Systems different from other IT companies?
A: Persistent focuses heavily on software product engineering and has strong partnerships with cloud providers (AWS, Azure, GCP). They work on building products, not just services.
Q2: Is there a bond period at Persistent?
A: Yes, typically there is a 1-2 year service agreement. Details are shared during the offer stage.
Q3: What is the difficulty level of Persistent's technical test?
A: The test is moderately difficult. The programming and SQL sections require thorough preparation. Time management is crucial.
Q4: Does Persistent hire through off-campus drives?
A: Yes, Persistent conducts off-campus drives and also hires through their careers portal. Keep checking their website for openings.
Q5: Which technologies should I focus on for technical interviews?
A: Focus on: Java/Python, SQL, Data Structures, OOPs, and basic web technologies. Knowledge of cloud basics is a plus.
📚 Additional Resources
- Coding Practice: HackerRank, GeeksforGeeks, LeetCode Easy
- SQL Practice: SQLZoo, HackerRank SQL, Mode Analytics
- Aptitude: RS Aggarwal, IndiaBIX
- Interview Prep: InterviewBit, Pramp for mock interviews
Best of luck with your Persistent Systems placement! 🎉