I am currently working as a Senior Software Engineer in a fintech company with a total of 5.5 years of experience. Below is my interview experience with DP World.
I received a Hackerrank link for the OA, which contained:
2 coding questions, One on dynamic programming (max path sum from top to bottom in a matrix). Another related to trees and BFS.
2 SQL queries (formatting output in a specific way).
MCQs on computer science basics.
The interview started with a discussion about my latest project, followed by questions on financial workflows.
Q1: Given a sorted, rotated array of integers, find if element k exists.
The interviewer asked how binary search works, its time complexity, and to derive the mathematical proof for O(log n). I couldn’t derive the exact equation but explained that binary search works in log n time as it halves the search space in each step and at max log n comparisons are needed to find a number.
I felt like the interviewer frequently interrupted me, steering towards a predefined solution he had in mind. I initially explained the pivot-based approach (find pivot, then binary search on both halves). He insisted on solving it in a single binary search.
After implementing that, he again interrupted, asking me to reduce if conditions, even though I had written them for better readability and modularity.
Q2: Given a string s and three arrays (indices, sources, targets). For each index, we had to check if sources[i] occurs in s at indices[i]. If it does, replace it with targets[i]. It was replacing entire strings starting from indices[i], and not just characters.
I wrote a working solution, but it failed for some edge cases. I identified the issue but couldn't fix the logic within the interview time.Later, I found an optimized approach using a hashmap.
Overall I felt disappointed with how the discussion went. However, I received positive feedback, and my next rounds were scheduled for Saturday.
Had to wait a long time as many candidates came for SDE1 and SDE2 roles.
The interviewer unexpectedly asked very fundamental Java questions (college-level topics). I answered some but was expecting questions from my resume or Spring Boot, or that more time would be spent on LLD design.
LLD Question: Parking Lot System
I started writing entities, but he quickly stopped me due to lack of time and asked how I would assign a parking spot.
I explained that I would use a Strategy pattern for assignment logic.
For parking spot allocation, I discussed possible approaches:
HashMap to store available spots per floor (not the most optimized, but straightforward).
PriorityQueue to store both floor number and parking spot ID, ensuring efficient allocation.
Verdict: Rejected
I was told my performance was neither positive nor negative in my last round and that the hiring committee would decide.
Later, I was informed that I was rejected when I called for feedback.