🚀

AI SaaS Starter - Build an AI SaaS in Days

Grab a production-ready starter project with all integrations.

📢

Advertise Your Company Here

Click now to email us to advertise in this spot and reach thousands of frontend developers.

🚀

AI SaaS Starter - Build an AI SaaS in Days

Grab a production-ready starter project with all integrations.

📢

Advertise Your Company Here

Click now to email us to advertise in this spot and reach thousands of frontend developers.

All Interview Experiences

DP World Frontend Interview Experience | Refused Offer

SDE1 @ DP World

Bangalore, India

Mar 2025

Moderate3 Rounds
REFUSED OFFER

💸 Compensation Range

₹32.5L + 4.5L Variable + 4L Other Bonus

🏆 How landed on the interview?

Applied through company's job portal.

Round 1: DSA

Moderate1 hr

Coding Challenge

Flatten a nested JavaScript object into a key-value pair format.

Solution

let user = {
    name: 'John',
    address: {
        country: 'India',
        state: 'India',
        education: {
            school: "APS",
            year: 2021
        }
    }
};

function flattenObject(obj = {}, parentKey = '') {
    return Object.keys(obj).reduce((acc, key) => {
        let updatedKey = parentKey ? `${parentKey}.${key}` : key;
        if (typeof obj[key] === 'object' && obj[key] !== null) {
            Object.assign(acc, flattenObject(obj[key], updatedKey));
        } else {
            acc[updatedKey] = obj[key];
        }
        return acc;
    }, {});
}

let result = flattenObject(user, 'user');
console.log(result);

Output

{
  'user.name': 'John',
  'user.address.country': 'India',
  'user.address.state': 'India',
  'user.address.education.school': 'APS',
  'user.address.education.year': 2021
}

Other Question Asked

  • Build a Progress Bar component with Start, Stop, Pause, and Reset buttons.
  • Closures in JavaScript — Why are they useful?
  • Is JavaScript single-threaded? How does it behave in the browser?
  • Features other languages have but JavaScript lacks.

Round 2: Machine Coding

Hard1 hr

Key Questions

  • React Version & New Hooks — Which version do you use, and what new hooks were introduced?
  • Problem Solving: React re-render issue with useEffect, solved using the key prop.
  • Machine Coding: Implement a Breadcrumb Component for nested objects (similar to a Folder Structure).
  • SSR vs CSR: How does Server-Side Rendering (SSR) impact performance?
  • Performance Optimization: React re-renders, caching, memory management.
  • Async vs Defer: How do they affect script loading and execution?

Round 3: Frontend System Design

Moderate1 hr

System Design - Button Component

const VARIANT = {
    PRIMARY: 'PRIMARY',
    SECONDARY: 'SECONDARY'
};

const Button = ({ 
  text = '', 
  onClickHandler = () => {}, 
  isLoading = false, 
  isDisabled = false, 
  variant = VARIANT.PRIMARY 
}) => {

    return (
        <button
            className={`button ${variant}`}
            disabled={isDisabled || isLoading}
            onClick={onClickHandler}
        >
            {text}
        </button>
    );
};

CSS Styles

.button.PRIMARY {
    color: black;
    background: white;
}
.button.SECONDARY {
    color: white;
    background: black;
}

Other Questions

  • URL Shortener Design: How does frontend handle redirections (301, 404)?
  • Performance Metrics: CLS, LCP, async-defer handling.
  • Handling Disagreements: What if your manager doesn’t agree with you?
  • Team Conflicts: Have you had any in past roles? How did you resolve them?
  • Why DP World? Why Leaving Cars24?

Final Thoughts

I had 2 years and 10 months of experience, but DP World requires 3 full years for an SDE-2 position. If I had applied just 2 months later, I could have gotten SDE-2, which I was aiming for. 💡 Final Thought: I declined the offer respectfully. If they had mentioned this in Round 1, I wouldn’t have spent so much time. But thanks to DP World for the opportunity!

🚀

Love this interview experience? Share it!

Help others discover this resource

Comments

Be the first to share your thoughts!

Guest User

Please login to comment

0 characters


No comments yet.

Start the conversation!

Share Your Interview Experience & Help the Community!

Help Others Succeed

Give Back to Community

Share Your Knowledge

Share your interview journey and help thousands of developers prepare better. Your experience can make a real difference in someone's career! 🚀


Other Interview Experiences

Moderate6 Rounds
GHOSTED

115

Moderate1 Rounds
GHOSTED

3

Moderate5 Rounds
REFUSED OFFER

153

Moderate2 Rounds
SELECTED

64

Moderate6 Rounds
NOT SELECTED

176

Moderate4 Rounds
SELECTED

138

Stay Updated

Subscribe to FrontendGeek Hub for frontend interview preparation, interview experiences, curated resources and roadmaps.

FrontendGeek
FrontendGeek

All in One Preparation Hub to Ace Frontend Interviews. Master JavaScript, React, System Design, and more with curated resources.

Consider Supporting this Free Platform

Buy Me a Coffee

Product

HomeFrontend InterviewInterview ExperienceBlogsToolsLeaderboard

Tools

CSS Image FilterPixelate ImageAspect Ratio CalculatorBox Shadow GeneratorCSS Gradient GeneratorNeumorphism GeneratorExplore More Tools

© 2026 FrontendGeek. All rights reserved