- 0
Notifications Mark All Read
- Login
- Get Prime
Persistent Interview Experience
Persistent Interview Experience 2024
Here you’ll discover the latest Persistent Interview Experiences of students along with the Persistent Employment Process, Interview questions and answers and many more.
Page highlights:
- About Persistent
- Persistent Interview Experience
- Persistent Interview Questions with Answers
- Persistent Interview preparation courses
- Persistent FAQs
About Persistent
Persistent Systems was established on 16 May 1990 as Persistent Systems Private Limited. Persistent Systems is an Indian Multinational Technology service based IT firm.
For more information you can visit them on: www.persistent.com
Recruitment Process
Persistent Systems recruits through the following processes:-
- Off Campus drives
- On Campus drives
- Employee referrals
Rounds
On and Off Campus drives:
- Online Assessment
Objective Round
- Computer Science
- English Comprehension
- Logical Ability
- Quants
Subjective Round: Coding Ability
Advanced Coding Round:Candidates who do well in the Online Test will be moved on to the Advanced Coding Round.
- Technical Interviews (TR 1 & TR 2)
- HR Interview
NOTE: Multiple technical rounds can be conducted based upon college and grades.
Profiles
The most common roles that Persistent hires:
- Project trainee
- Software Engineer
To know more about Persistent Interview process, you may visit : prepinsta.com/persistent/
Persistent Interview Process
Persistent On Campus Interview Experience
1. Persistent On Campus Interview Experience
Persistent Systems holds a good rating as one of the best companies to work with by their employees. When I received an email from our college placement cell regarding the Persistent on-campus hiring process. After I applied there, I got an email from Persistent Systems with my online assessment link.
It basically consists of 4 rounds:
Round 1: Aptitude assessment:
The aptitude section is also known as Objective Assessment.
Duration and No. of questions: 50 minutes for 50 questions
The assessment was conducted on the SHL platform. The assessment consisted of questions from:
- Computer Science
- English Comprehension
- Logical Ability
- Quantitative Aptitude
Subjective Assessment:
Subjective Assessment is basically a Coding Assessment
This round was conducted on the SHL platform itself which is a sub platform of AMCAT.
Duration and No. of questions: 40 minutes for 2 questions.
- What’s the value of the expression 5 [“abcdef”]?
- How can a number be converted to a string?
I was chosen for the advanced coding assessment for the 7.8LPA package since I correctly answered both questions.
Round 2: Advanced coding assessment:
Platform used: SHL
Duration and No. of questions: 45 minutes for 2 questions.
1. Find duplicates in an array of N+1 Integers.
Ans: (Coding using Java)
import java.io.*; import java.util.*; public class Main { static int findduplicate(int[] arr, int n) { // return -1 because in these cases // there can not be any repeated element if (n <= 1) return -1; // initialize fast and slow int slow = arr[0]; int fast = arr[arr[0]]; // loop to enter in the cycle while (fast != slow) { // move one step for slow slow = arr[slow]; // move two step for fast fast = arr[arr[fast]]; } // loop to find entry point of the cycle fast = 0; while (slow != fast) { slow = arr[slow]; fast = arr[fast]; } return slow; } // Driver Code public static void main(String args[]) { int[] arr = {1, 2, 3, 4, 5, 6, 3}; int n = arr.length; System.out.print(findduplicate(arr, n)); } }
2. How to count the occurrences of a particular element in the list?
After clearing this round I was selected for the technical round.
Round 3: Technical Round
Duration: 35 minutes
There was one interviewer, we greeted each other and my interview started. Later the interviewer asked to introduce myself and my favorite programming language. I talked about C programming and the Python language. So he asked me questions from C and python and also some software engineering related questions.
Questions are listed as:
1. What are the basic data types supported in the C programming language?
Ans. C supports two types of data types and those data types are again classified.
- Primary Data Types: These are fundamental data types which include int,float,char,double,void.
- Derived Data Types: These are derived from primary data types which include union,structure,array.
2. What are static variables and functions?
Ans:Static variables can be used within a function or file. Unlike global variables, static variables are not variables outside their functions or file, but they maintain their values between calls. The static specifier has different effects upon local and global variables.
3. Define Normalization?
Ans: Organizing data into a relatable Table is known as Normalization.
4. What do you mean by the dangling pointer variable in C programming?
Ans: A dangling pointer is a pointer which points to some memory location that has been deleted or freed already. In simpler words, any pointer pointing to a destroyed object or which does not contain a valid address is called a dangling pointer. If any pointer points to a memory address of a variable, after some time if the variable is deleted from memory but still if the pointer points to the same address location, it is a dangling pointer.
Example:
#include <stdio.h> #include <stdlib.h> void main() { int *p = (int *)malloc(sizeof(int)); // After below free call, ptr becomes a // dangling pointer free(p); }
5. Difference between C and C++.
Ans: C++ can be considered as a superset of C, most C programs except some exceptions, work in C++ and C.
C programming is a little bit limited and is a procedural programming language, but C++ supports both procedural and Object-Oriented programming
Since C++ supports object-oriented programming, it is capable of performing tasks like function overloading, templates, inheritance, virtual functions, friend functions. These features are not present in C.
C++ supports exception handling at the language level, in C exception handling is done in the traditional if-else style.
C++ supports references, C doesn’t.
In C, scanf() and printf() are mainly used for input/output. C++ mainly uses streams to perform input and output operations. cin is a standard input stream and cout is a standard output stream.
6. What makes lists different from tuples in python?
Ans: The main difference between list and tuples is :
List can be modified whereas tuples cannot be modified.
7. What are the different types of models available in SDLC?
Ans: Different types of SDLC models include:-
- Waterfall Model
- Iterative Waterfall Model
- Agile Model
- Spiral Model
- Prototype Model
- V model
- RAD model
8. What are the key features of python?
Ans: The key features of python includes:
- Object-oriented
- Dynamically typed language
- Interpreted language
- Extensible
- Dynamic memory allocation
- Integrated
9. What are joins in DBMS?
Ans: Joins are used to retrieve data from multiple tables. In all databases, if you are joining n tables then we are using n -1 join condition.
10. What is SDLC OR Software Development Life Cycle?
Ans: SDLC or Software Development Life Cycle as the name suggest s is the life cycle representing the process of building software. SDLC models include all the phases of software development.
The interviewer gave me two coding problems and asked me to solve one among them. As much as I can remember, the questions were:
- Write a program to check whether a given number is prime or not.
Working:
For an input num
Initialize count = 0
Run an iterative for loop in iteration of (i) b/w 1 -> num
Check if num is divisible i
If divisible increment count
If num == 0 or num == 1 : Not Prime
If count > 2 : Not prime
Else, it is Prime
Code:
#include <stdio.h> int main() { int i, count = 0; int num = 19; // checking number of divisors b/w 1 & num for(i = 1; i <= num; i++) { if(num % i == 0) count += 1; } // 0 & 1 are not prime number if(num == 0 || num == 1) printf("%d is not prime", num); //if number of divisors are > 2 then not prime else prime else if(count > 2) printf("%d is not prime", num); else printf("%d is prime", num); return 0; } // Time complexity O(N) // Space complexity O(1)
- Write a program to remove vowels from a string.
Algorithm:
- Initialize the variables.
- Accept the input.
- Initialize the loop.
- Check and delete the vowels.
- Store the string without vowels using another for loop.
- Terminate both for loop.
- Print the string without vowels.
Code:
#include<string.h> #include<iostream.h> int main() { // Initializing variable. char str[100]; int i, j, len = 0; // Accepting input. printf("Enter a string : "); // gets(str); scanf("%s", str); len = strlen(str); // Accepting input. for (i = 0; i < len; i++) { // Checking vowels. if (str[i] == 'a' || str[i] == 'e' || str[i] == 'i' || str[i] == 'o' || str[i] == 'u' || str[i] == 'A' || str[i] == 'E' || str[i] == 'I' || str[i] == 'O' || str[i] == 'U') { // Deleting vowels. for (j = i; j < len; j++) { // Storing string without vowels. str[j] = str[j + 1]; } i--; len--; } str[len + 1] = '\0'; } printf("After deleting the vowels, the string will be : %s", str); return 0; }
I answered all questions correctly and the interviewer looked satisfied with my answers. Later I was selected for the technical round 2.
Round 4: Technical Round + HR Round:
Duration: 15 minutes.
This round was conducted in the morning around 10am. This time there were two interviewers, one for the technical part and another for the HR part.
This time the interviewer did not focus much on the technical part. Interviewer mostly asked me HR related questions which are listed below:
- Why should we hire you?
- What are your strengths and weaknesses?
- How good are you at handling pressure?
- And lastly, do you have any questions for us?
To read other companies interview experiences, visit Interview Dashboard: https://prepinsta.com/interview-experience/
2. Persistent Interview Experience
Persistent visited our campus for their hiring drives. As soon as I came to know about it, I immediately applied for it. After few days, I got an E-mail for online test invitation.
Round 1:- Online test Assessment
Objective Assessment:
Number of questions and time allotted= 50questions and 50mins.
This round had 4 sections:-
- Computer Science
- English Comprehension
- Logical Ability
- Quantitative Aptitude
Subjective Assessment:
This section contains coding questions with moderate level of difficulty.
Time Duration: 40mins
Total no. of questions: 2
The level of difficulty of this section was moderate to high.
Round 2:- Technical Round 1
After completing the online assessment, I was selected for the technical round where, I was asked questions mainly questions based on my resume, projects, internships and workshops.
- What are the different types of data structures?
- Why python is an interpreted language?
- What are the difference between C and C++?
- What do you mean by semaphores?
- What do you mean by preprocessor?
- Write a code for redox sort.
#includeusing namespace std; //Function to get the largest element from an array int getMax(int array[], int n) { int max = array[0]; for (int i = 1; i < n; i++) if (array[i] > max) max = array[i]; return max; } //Using counting sort to sort the elements in the basis of significant places void countSort(int array[], int size, int place) { const int max = 10; int output[size]; int count[max]; for (int i = 0; i < max; ++i) count[i] = 0; //Calculate count of elements for (int i = 0; i < size; i++) count[(array[i] / place) % 10]++; //Calculating cumulative count for (int i = 1; i < max; i++) count[i] += count[i - 1]; //Placing the elements in sorted order for (int i = size - 1; i >= 0; i--) { output[count[(array[i] / place) % 10] - 1] = array[i]; count[(array[i] / place) % 10]--; } for (int i = 0; i < size; i++) array[i] = output[i]; } //Main function to implement radix sort void radixsort(int array[], int size) { //Getting maximum element int max = getMax(array, size); //Applying counting sort to sort elements based on place value. for (int place = 1; max / place > 0; place *= 10) countSort(array, size, place); } //Printing an array void display(int array[], int size) { int i; for (i = 0; i < size; i++) cout << array[i] << "\t"; cout << endl; } int main() { int array[] = {112, 400, 543, 441, 678, 675, 9, 777}; int n = sizeof(array) / sizeof(array[0]); cout<<"Before sorting \n"; display(array, n); radixsort(array, n); cout<<"After sorting \n"; display(array, n); }
I answered all the questions correctly but still had doubt in some of them. But later, I received an Email stating that I was selected for the second technical round.
Round 3: Technical Round 2
The questions asked in this round was basically asked on coding.
- Explain your final year project. Also tell about your roles and responsibilities.
- What do you mean by Software Development Life Cycle?
Write a program to search an element in the linked list.
#includeusing namespace std; struct node { int num; node *nextptr; }*stnode; //node defined void makeList(int n); void showList(); void searchList(int item, int n); int main() { int n,num,item; cout<<"Enter the number of nodes: "; cin>>n; makeList(n); cout<<"\nLinked list data: \n"; showList(); cout<<"\nEnter element you want to search: "; cin>>item; searchList(item,n); return 0; } void makeList(int n) //function to create linked list. { struct node *frntNode, *tmp; int num, i; stnode = (struct node *)malloc(sizeof(struct node)); if(stnode == NULL) { cout<<" Memory can not be allocated"; } else { cout<<"Enter the data for node 1: "; cin>>num; stnode-> num = num; stnode-> nextptr = NULL; //Links the address field to NULL tmp = stnode; for(i=2; i<=n; i++) { frntNode = (struct node *)malloc(sizeof(struct node)); if(frntNode == NULL) //If frntnode is null no memory cannot be allotted { cout<<"Memory can not be allocated"; break; } else { cout<<"Enter the data for node "<>num; frntNode->num = num; frntNode->nextptr = NULL; tmp->nextptr = frntNode; tmp = tmp->nextptr; } } } } void showList() //function to print linked list { struct node *tmp; if(stnode == NULL) { cout<<"No data found in the list"; } else { tmp = stnode; cout<<"Linked List: "; while(tmp != NULL) { cout<<"\t" nextptr; } } } void searchList(int item , int n) //function to search element in the linked list { struct node *tmp; int i=0,flag; tmp = stnode; if(stnode == NULL) { cout<<"\nEmpty List\n"; } else { while (tmp!=NULL) { if(tmp->num == item) //If element is present in the list { cout<<"Item found at location: "<<(i+1); flag=0; } else { flag++; } i++; tmp = tmp -> nextptr; } if(flag==n) //If element is not present in the list { cout<<"Item not found\n"; } } }
4. Write a code for finding the Harshad number.
Due to the coding questions, the second technical interview lasted for almost 40 minutes.
Round 4: HR Interview
This round lasted for about 20mins which is basically a personality testing round as well as a document verification round.
The questions are:
- Tell me about yourself.
- Can you work under pressure?
- Why Persistent?
- What do you know about Persistent?
- Who is the CEO of Persistent?
- Do you have any questions for me?
Thank you.
3. Persistent Interview Experience
Persistent is a company with which I have always wanted to work. I registered for the Persistent Off-Campus Drive using a link given on Instagram by PrepInsta. Soon after registering, I learned that my resume had been chosen for the first round of interviews, namely the online assessment.
Round 1: Online Assessment
Objective Assessment
This round had 4 sections,
- Section1: Computer Science section had 20 questions.
- Section2: English Comprehension section had 12-14 questions.
- Section3: Logical Ability section had 12-14 questions.
- Section4: Quants section had 12-14 questions.
Subjective Assessment
This is the coding section which had 2 questions and the level of difficulty is moderate.
Total no. of questions = 50questions.
Total time allotted = 50mins
Round 2: Technical Interview 1
The following are the questions that were asked to me:
1. What are the 4 pillars of OOPS?
They asked me questions from each pillars.
2. Define Lists.
Answer: A Lists are groups of related items connected to the preceding or succeeding data objects.
3. What is the function of Boot.ini?
4. Write a code for implementing a queue using two stacks.
#include<bits/stdc++.h> using namespace std; class Queue { public: stack s1,s2; void Push(int i) { cout<<“Pushing the element : “<<i<<endl; s1.push(i); } int pop() { if(s1.empty()) {cout<<“The queue is empty”<<endl;return –1;} while(!s1.empty()) {s2.push(s1.top());s1.pop();} int b=s2.top();s2.pop(); cout<<“Popping the element : “<<b<<endl; while(!s2.empty()) {s1.push(s2.top());s2.pop();} return b; } void Show() { while(!s1.empty()) { s2.push(s1.top());s1.pop(); } while(!s2.empty()) { cout<<s2.top()<<” “; s1.push(s2.top());s2.pop(); } } int front() { if(s1.empty()) {cout<<“The queue is empty”<<endl;return –1;} while(!s1.empty()) {s2.push(s1.top());s1.pop();} int b=s2.top(); while(!s2.empty()) {s1.push(s2.top());s2.pop();} return b; } }; int main() { Queue q; q.Push(1);q.Push(5);q.Push(2);q.Push(11); cout<<“The Queue now is : “; q.Show();cout<<endl; cout<<“The front value right now is : “<<q.front()<<endl; q.pop();q.pop(); q.Push(12);q.Push(8); cout<<“The front value right now is : “<<q.front()<<endl; cout<<“The Queue now is : “; q.Show();cout<<endl; }
5. Write a program to print ASCII code for a character using JAVA.
//Java program to print ASCII values of a character import java.util.Scanner; class Main { public static void main(String[] args) { //scanner class object creation char c='A'; //typecasting from character type to integer type int i = c; //printing ASCII value of the character System.out.println("ASCII value of "+c+" is "+i); } }
Round 3: TR + HR
This round included both technical and HR questions, however I was not asked any coding questions. The questions are:
- Tell me about yourself.
- What are your responsibilities and roles in your project?
- Are you ready to relocate?
- What are the stages of waterfall model?
- Who is the current CEO of Persistent?
- When was Persistent founded?
- What are tuples and lists?
- Do you have any questions for me?
Persistent paid a visit to our college campus this year as part of their hiring process. I’ll walk you through every step of the interview process. The majority of my interview preparation was done with PrepInsta’s courses and resources.
Round 1: Online Test
This is the first round of the Interview process. In this section there are two sections:
Objective Assessment
Total no. of questions and Time allotted: 50 questions 50mins
There were 4 sections in this round:
- Computer Science
- Quants
- English
- Logical
Subjective Assessment
This section had 2 coding questions and the time allotted to complete this section was 40mins
Below mentioned table is the Online test pattern for Persistent:
Persistent Test | Details | No. of Question | Time |
---|---|---|---|
Objective Round |
| 50 Questions | 50 mins |
Subjective Round | Coding Ability | 2 Questions | 40 mins |
Advanced Coding | Coding Test | 2 Questions | 45 mins |
I was one of the top performer in the Online Assessment section. So, I was selected for the Advanced Coding round.
Round 2: Advanced Coding
In the advanced coding round, there were 2 questions and the time allotted was 45mins.
Round 3: Technical + HR Interview
After clearing the advanced coding test, I received an invitation for the interview round. This session lasted 30 minutes. I was asked the following questions:
1. Tell me about yourself.
2. Explain your final year project.
3. What do you mean by preprocessor directives?
4. Write a code for heap sort.
I solved this problem using the C++ programming language.
4. Persistent Interview Experience
#include using namespace std; void heapify(int arr[], int n, int i) { int largest = i; int l = 2*i + 1; int r = 2*i + 2; //If left child is larger than root if (l < n && arr[l] > arr[largest]) largest = l; //If right child largest if (r < n && arr[r] > arr[largest]) largest = r; //If root is nor largest if (largest != i) { swap(arr[i], arr[largest]); //Recursively heapifying the sub-tree heapify(arr, n, largest); } } void heapSort(int arr[], int n) { for (int i = n / 2 - 1; i >= 0; i--) heapify(arr, n, i); //One by one extract an element from heap for (int i=n-1; i>=0; i--) { //Moving current root to end swap(arr[0], arr[i]); //Calling max heapify on the reduced heap heapify(arr, i, 0); } } //Function to print array void display(int arr[], int n) { for (int i = 0; i < n; i++) { cout << arr[i] << "\t"; } cout << "\n"; } int main() { int arr[] = {1, 14, 3, 7, 0}; int n = sizeof(arr)/sizeof(arr[0]); cout << "Unsorted array \n"; display(arr, n); heapSort(arr, n); cout << "Sorted array \n"; display(arr, n); }
5. What is .net core?
6. Are you ready to relocate?
Yes Sir, I am ready to relocate.
7. Why Persistent?
8. Who is the Founder of Persistent?
Anand Deshpande is the Founder of Persistent.
9. Do you have any questions for us?
They also asked me a coding questions to solve.
I performed well in this round, which led to my selection to take the Super Achiever Test.
Round 4: Super Achiever Test
This round had maximum amount of questions on programming languages such as C, C++, JAVA, and Python etc.
Round 5: Drona Interview
This was the most significant round. A candidate who successfully completes this round will receive a package worth 9.3 LPA. This was mainly a coding section, and the round had lasted 40 minutes. I answered 2 or 3 coding-related questions. After clearing this stage, I received a job offer with a 9.3LPA.
Thank you.
5. Persistent Interview Experience
I’m delighted to share my interview experience with you. After learning about the Persistent working atmosphere, helpful team, and career advancement, I was amazed. I applied right away and was given an online test call.
It had 3 rounds:
- Objective + Subjective Round
- Advanced Coding Round
- Technical Interview + HR Interview
Round 1: Online Assessment
The online assessment was divided into two sections: objective and subjective.
Objective Round
Time Duration: 50mins
In objective round there were 4 sections namely, Logical ability, Quantitative Ability, Verbal Ability and Computer science. The level of difficulty of this round was moderate and the total number of questions were 50.
Subjective Round
Subjective round had 2 coding based questions and the questions came from the topics such as C, C++, Python and JAVA. The level of difficulty in this round was moderate and this total time to complete the round was 40mins
Round 2: Advanced Coding Round
Time Allotted: 45mins
I was chosen for the Advanced Coding Round due to my strong performance on the online test. This phase of the selection procedure is for the 7.8 LPA package. There were two questions and the level of difficulty was moderate.
Round 3: Technical + HR Interview
I cleared the Advanced Coding Round and was invited to the Final Interview. This interview was entirely based on subject knowledge, projects based and the difficulty level was easy-moderate. I was asked the following questions:
1. Tell me about yourself.
2. Explain your final year project.
3. What is a final variable?
4. Define Default Gateway.
5. Write a code for the deletion in AVL Tree using a program.
I used JAVA programming language to solve this problem.
class Node { int key, height; Node left, right; Node(int d) { key = d; height = 1; } } class AVLTree { Node root; int height(Node N) { if (N == null) return 0; return N.height; } Node rotateRight(Node b) { Node a = b.left; Node c = a.right; a.right = b; b.left = c; b.height = Math.max(height(b.left), height(b.right)) + 1; a.height = Math.max(height(a.left), height(a.right)) + 1; return a; } Node rotateLeft(Node a) { Node b = a.right; Node c = b.left; b.left = a; a.right = c; a.height = Math.max(height(a.left), height(a.right)) + 1; b.height = Math.max(height(b.left), height(b.right)) + 1; return b; } int getBalance(Node N) { if (N == null) return 0; return height(N.left) - height(N.right); } Node insert(Node node, int key) { if (node == null) return (new Node(key)); if (key < node.key) node.left = insert(node.left, key); else if (key > node.key) node.right = insert(node.right, key); else return node; node.height = 1 + Math.max(height(node.left), height(node.right)); int balance = getBalance(node); if (balance > 1 && key < node.left.key) return rotateRight(node); if (balance < -1 && key > node.right.key) return rotateLeft(node); if (balance > 1 && key > node.left.key) { node.left = rotateLeft(node.left); return rotateRight(node); } if (balance < -1 && key < node.right.key) { node.right = rotateRight(node.right); return rotateLeft(node); } return node; } Node minValueNode(Node node) { Node temp; for(temp=node;temp.left!=null;temp=temp.left); return temp; } Node deleteNode(Node root, int key) { if (root == null) return root; if (key < root.key) root.left = deleteNode(root.left, key); else if (key > root.key) root.right = deleteNode(root.right, key); else { if ((root.left == null) || (root.right == null)) { Node temp = null; if (temp == root.left) temp = root.right; else temp = root.left; if (temp == null) { temp = root; root = null; } else root = temp; } else { Node temp = minValueNode(root.right); root.key = temp.key; root.right = deleteNode(root.right, temp.key); } } if (root == null) return root; root.height = Math.max(height(root.left), height(root.right)) + 1; int balance = getBalance(root); if (balance > 1 && getBalance(root.left) >= 0) return rotateRight(root); if (balance > 1 && getBalance(root.left) < 0) { root.left = rotateLeft(root.left); return rotateRight(root); } if (balance < -1 && getBalance(root.right) <= 0) return rotateLeft(root); if (balance < -1 && getBalance(root.right) > 0) { root.right = rotateRight(root.right); return rotateLeft(root); } return root; } void preOrder(Node node) { if (node != null) { System.out.print(node.key + " "); preOrder(node.left); preOrder(node.right); } } public static void main(String[] args) { AVLTree tree = new AVLTree(); tree.root = tree.insert(tree.root, 3); tree.root = tree.insert(tree.root, 1); tree.root = tree.insert(tree.root, 5); tree.root = tree.insert(tree.root, 0); tree.root = tree.insert(tree.root, 2); tree.root = tree.insert(tree.root, 4); tree.root = tree.insert(tree.root, 6); System.out.println("Preorder traversal is : "); tree.preOrder(tree.root); tree.root = tree.deleteNode(tree.root, 6); tree.root = tree.deleteNode(tree.root, 5); tree.root = tree.deleteNode(tree.root, 4); System.out.println(""); System.out.println("Preorder traversal after "+"deletion of [6,5,4] :"); tree.preOrder(tree.root); } }
6. What do you know about Persistent?
Persistent Systems Limited is a multinational corporation that specialises in software, services, and technological innovation. The firm provides full product life cycle management services. The company provides services across the product life cycle, allowing us to work with a diverse set of customers to create, upgrade, and deploy their software products.
7. When was Persistent established?
Persistent was established in 1990.
8. Any questions?
Thank you.
6. Persistent Interview Experience
Our college placement officer notified me of Persistent’s job placement drive. As soon as I heard about it, I immediately applied. After a week, Persistent sent me an email letting me know that my application had been selected for the Online test, which was the following round of interviews. The interview process had 5 rounds:
- Online Test
- Advanced Coding Round
- TR + HR Interview
- Super Achiever Round
- Drona Interview
Round 1: Online Test
Online Test had two sections, Objective and Subjective Round.
Objective Round:
Total Time limit: 50 questions
The Objective round had 4 sections and that are, Quantitative Aptitude, Logical Ability, Verbal Ability, Computer Science. Quantitative Aptitude had 20 questions, Logical Ability had 12-14 questions, Verbal Ability had 12-14 questions and Computer science had 12 questions approx.
Subjective Round:
This particular sections had 2 coding questions and time was 40mins.
Round 2: Advanced Coding Round
I had 45 minutes to finish this phase of the round, which included 2 coding questions. In this round, the following questions were asked:
1. Write a code for a given integer N representing the number of pairs of parentheses, the task is to generate all combinations of well-formed(balanced) parentheses.
2. Write a code for a sort first half in ascending order and second half in descending.
After completing this phase, I was selected to move on to the technical and human resources interview.
Round 3: TR+HR Interview
Questions were:
1. Tell me about yourself.
2. What are the different types of data structures?
3. What does Boot.ini do?
4. Explain your final year project including your roles and responsibilities.
5. Explain Priority queue implementation using array.
//C program to Demonstrate Priority Queue #include#include #define MAX 100 // denotes where the last item in priority queue is // initialized to -1 since no item is in queue int idx = -1; // pqVal holds data for each index item // pqPriority holds priority for each index item int pqVal[MAX]; int pqPriority[MAX]; int isEmpty(){ return idx == -1; } int isFull(){ return idx == MAX - 1; } // enqueue just adds item to the end of the priority queue | O(1) void enqueue(int data, int priority) { if(!isFull()){ // Increase the index idx++; // Insert the element in priority queue pqVal[idx] = data; pqPriority[idx] = priority; } } // returns item with highest priority // NOTE: Max Priority Queue High priority number means higher priority | O(N) int peek() { // Note : Max Priority, so assigned min value as initial value int maxPriority = INT_MIN; int indexPos = -1; // Linear search for highest priority for (int i = 0; i <= idx; i++) { // If two items have same priority choose the one with // higher data value if (maxPriority == pqPriority[i] && indexPos > -1 && pqVal[indexPos] < pqVal[i]) { maxPriority = pqPriority[i]; indexPos = i; } // note: using MAX Priority so higher priority number // means higher priority else if (maxPriority < pqPriority[i]) { maxPriority = pqPriority[i]; indexPos = i; } } // Return index of the element where return indexPos; } // This removes the element with highest priority // from the priority queue | O(N) void dequeue() { if(!isEmpty()) { // Get element with highest priority int indexPos = peek(); // reduce size of priority queue by first // shifting all elements one position left // from index where the highest priority item was found for (int i = indexPos; i < idx; i++) { pqVal[i] = pqVal[i + 1]; pqPriority[i] = pqPriority[i + 1]; } // reduce size of priority queue by 1 idx--; } } void display(){ for (int i = 0; i <= idx; i++) { printf("(%d, %d)\n",pqVal[i], pqPriority[i]); } } // Driver Code int main() { // To enqueue items as per priority enqueue(5, 1); enqueue(10, 3); enqueue(15, 4); enqueue(20, 5); enqueue(500, 2); printf("Before Dequeue : \n"); display(); // Dequeue the top element dequeue(); // 20 dequeued dequeue(); // 15 dequeued printf("\nAfter Dequeue : \n"); display(); return 0; }
6. What are your strengths and weaknesses?
7. What is DHCP and what it is used for?
8. Why should I hire you?
9. Who is the current CEO of Persistent?
Sandeep Kalra is the current Chief Executive Officer of Persistent Systems
Round 4: Super Achiever Round
Candidates who pass the TR and HR rounds with high marks are shortlisted for the Super Achiever Test, which includes coding language questions. This round had a moderate-high degree of difficulty.
Round 5: Drona Interview
The majority of the questions in this phase were based on coding languages, and I received an annual package of 9.3LPA.
Thank you
Persistent Interview Preparation Course
Check out our Persistent Interview Preparation Course on Prime, which includes:-
- Persistent technical Interview Questions and Answers
- Persistent HR Interview Questions and Answers
- Persistent Certification Questions
- Written Persistent Interview Experience
- and more.
Prime Course Trailer
Related Banners
Get PrepInsta Prime & get Access to all 200+ courses offered by PrepInsta in One Subscription
FAQ on Persistent Interview Experience
Question: What are L1 and L2 interviews in Persistent Systems?
Answer:-
Persistent systems interview process has two interviews one is L1 and other is L2. L1 interviews mainly concentrate on your projects and programming knowledge whereas the L2 interview is taken to check the technical and subjective knowledge of an individual.
Question: Is a Persistent interview tough?
Answer:-
Overall difficulty level is very basic. If a person prepares well, they can crack the exam easily.