Provakil interview experience Real time questions & tips from candidates to crack your interview

SDE - 1

Provakil
upvote
share-icon
3 rounds | 5 Coding problems

Interview preparation journey

expand-icon
Application story
Provakil visited our campus and contacted the RGUKT, Basar placement cell for recruitment. Through them, we received a notice regarding the Software Development Engineer role. After seeing the notice, I applied for the position and appeared for the company’s assessment test, which included aptitude, Python, SQL, and DBMS.
Why selected/rejected for the role?
I got rejected in the third round of the Provakil campus drive. During this round, I was given three dynamic programming problems to solve. I successfully solved the first two, but I couldn’t fully optimize the third one within the given time. Since optimization and efficiency were key evaluation criteria, this affected my overall performance, leading to my rejection.
Preparation
Duration: 2.5 months
Topics: Aptitude, MySQL, DBMS, Python, JavaScript, Linux commands
Tip
Tip

Tip 1: Strengthen core concepts in Python, SQL, and DBMS, and practice aptitude regularly to clear the initial assessment easily.
Tip 2: Focus on optimizing code for data structures and dynamic programming problems, as efficiency and logic clarity are key in technical rounds.
Tip 3:Revise important computer science fundamentals such as OOPs, time complexity, and database normalization.

Application process
Where: Campus
Eligibility: No active backlogs, Above 7 CGPA, (Salary Package: 5 LPA)
Resume Tip
Resume tip

Tip 1: Highlight strong programming skills in Python, SQL, and DBMS, as they are key areas tested by Provakil.
Tip 2: Include projects or internships that demonstrate problem-solving, backend development, or database management experience.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration100 minutes
Interview date20 Aug 2025
Coding problem1

The online assessment consisted of 100 MCQs covering Aptitude, Python Programming, DBMS, and DSA, along with 1 coding problem.

1. Minimum Falling Path Sum

Moderate
25m average time
65% success
0/80
Asked in companies
VisaProvakil

You have been given a square array 'VEC' of integers of size 'N' rows and 'N' columns. Your task is to find the minimum sum of a falling path through the square array. The number of rows and columns in the given array will be the same.

A falling path starts at any element in the first row and chooses one element from each row. The next row's choice must be in a column that is different from the previous row's column by at most one.

Example:

VEC[][]= {{5, 10}, {25, 15}}      

alt text

All the rectangles denote the possible falling paths. The rectangle with red filler is the minimum falling path with the minimum falling path sum of 20 (5+15). 
Problem approach

A greedy approach fails because locally choosing the smallest value doesn’t guarantee the overall minimum path, as later choices may lead to larger sums. Instead, use a recursive solution with memorization:
Start from the top row and explore all possible downward paths (same, left diagonal, right diagonal).
Use memorization to store computed results.
The base case is the last row element itself.
Return the smallest path sum among all possible paths.

Try solving now
02
Round
Medium
Face to Face
Duration30 minutes
Interview date21 Aug 2025
Coding problem1

The second round was conducted during the daytime. The environment was calm and well-organized, creating a comfortable setting for the interview. There were no delays or disturbances during the process. The interviewer was polite, professional, and approachable, asking clear and logical questions while giving enough time to think and explain my answers confidently.

1. Array partition with minimum difference

Hard
10m average time
85% success
0/120
Asked in companies
Goldman SachsSterlite Technologies LimitedIntuit

You are given an array 'arr' containing 'n' non-negative integers.


Your task is to partition this array into two subsets such that the absolute difference between subset sums is minimum.


You just need to find the minimum absolute difference considering any valid division of the array elements.


Note:

1. Each array element should belong to exactly one of the subsets.

2. Subsets need not always be contiguous.
For example, for the array : [1, 2, 3], some of the possible divisions are 
   a) {1,2} and {3}
   b) {1,3} and {2}.

3. Subset-sum is the sum of all the elements in that subset. 
Example:
Input: 'n' = 5, 'arr' = [3, 1, 5, 2, 8].

Ouput: 1

Explanation: We can partition the given array into {3, 1, 5} and {2, 8}. 
This will give us the minimum possible absolute difference i.e. (10 - 9 = 1).
Problem approach

I first approached the problem using a basic recursive solution with memoization.
The interviewer then asked me to optimize the solution for better efficiency.
I improved it using a bottom-up dynamic programming approach, which reduced redundant computations, and the interviewer was satisfied with the optimized logic.

Try solving now
03
Round
Hard
Face to Face
Duration45 minutes
Interview date21 Aug 2025
Coding problem3

The third round lasted for about 45 minutes and focused entirely on DSA problem-solving. It was conducted during the daytime in a calm and professional environment. The process was smooth, with no delays or disturbances. The interviewer was polite, patient, and encouraged me to explain my thought process clearly. This round tested my ability to write optimized code and handle complex algorithmic challenges efficiently.

1. Rod cutting problem

Moderate
40m average time
75% success
0/80
Asked in companies
Dream11UberGoldman Sachs

Given a rod of length ‘N’ units. The rod can be cut into different sizes and each size has a cost associated with it. Determine the maximum cost obtained by cutting the rod and selling its pieces.

Note:
1. The sizes will range from 1 to ‘N’ and will be integers.

2. The sum of the pieces cut should be equal to ‘N’.

3. Consider 1-based indexing.
Problem approach

I first approached the rod cutting problem using a simple recursive solution. It worked but took too much time due to repeated calculations.
The interviewer asked me to optimize the solution to improve its efficiency.
I tried using memorization to reduce redundant computations, but I couldn’t fully optimize it into a complete dynamic programming (tabulation) solution within the given time.

Try solving now

2. Sum Of Beauty Of All Substrings

Easy
0/40
Asked in company
Provakil

You are given a string ‘S’ of length ‘N’ representing an integer.


Beauty of a string is the difference between the frequency of the most frequently occurring character and the least frequently occurring character.


You must return the sum of beauty of all substrings of string ‘S’.


Note:
A substring is a string formed after deleting zero or more characters from both ends of a string.


Example:
Input:
S = “hello"

Output:
5

Explanation: The following substring ‘hell’, ‘ell’, ‘llo’, ‘ello’, and ‘hello’ has the beauty of 1. Hence we return 5.


Problem approach

1. Loop through all substrings of the string.
2. Maintain a frequency map of characters for each substring.
3. For each substring:
4. Find the most frequent character's count.
Find the least frequent non-zero character's count.
Calculate the difference between the two counts.
Add the difference to the running sum.

Try solving now

3. Reverse Words In A String

Easy
10m average time
90% success
0/40
Asked in companies
UnacademyIBMOptum

You are given a string 'str' of length 'N'.


Your task is to reverse the original string word by word.


There can be multiple spaces between two words and there can be leading or trailing spaces but in the output reversed string you need to put a single space between two words, and your reversed string should not contain leading or trailing spaces.


Example :
If the given input string is "Welcome to Coding Ninjas", then you should return "Ninjas Coding to Welcome" as the reversed string has only a single space between two words and there is no leading or trailing space.
Problem approach

1. Start by scanning the string to identify words, treating each word as a group of characters separated by spaces.
2. Store these words in a list, making sure to skip any extra or multiple spaces.
3. After collecting all the words, reverse the order of the list.
4. Join the reversed words using a single space between them.
Ensure the final result has no leading or trailing spaces.

Try solving now

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by OYO
4657 views
0 comments
0 upvotes
company logo
SDE - 1
2 rounds | 5 problems
Interviewed by Meesho
6450 views
0 comments
0 upvotes
company logo
SDE - 1
3 rounds | 9 problems
Interviewed by Salesforce
3451 views
0 comments
0 upvotes
SDE - 1
2 rounds | 2 problems
Interviewed by Provakil
46 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
5 rounds | 12 problems
Interviewed by Amazon
114578 views
24 comments
0 upvotes
company logo
SDE - 1
4 rounds | 5 problems
Interviewed by Microsoft
57824 views
5 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by Amazon
34960 views
7 comments
0 upvotes