← Interview experiences
Got the offer

Software Engineer at Angi

Difficulty
Process took
1-2 Weeks
Rounds
5
Format
Remote
Applied via
Referral

How it went

  • Bring your real self,don’t memorize robotic answers. Share what you’ve actually learned and how you’ve grown.
  • Ask questions during design and debugging rounds, it shows you’re thinking deeply and want to build robust solutions.

What they would tell you

  • Bring your real self,don’t memorize robotic answers. Share what you’ve actually learned and how you’ve grown.
  • Ask questions during design and debugging rounds, it shows you’re thinking deeply and want to build robust solutions.

How to prepare

  • Sharpen your skills on recursion and heap-based algorithms as they appear often. Practice building scalable task schedulers and understand API rate-limiting techniques well.
  • For live coding, speak your thought process clearly and don’t fear mistakes, they want to see how you fix and learn. Balance object-oriented and functional programming concepts confidently.

Round by round

  1. 1

    Online Coding Assessment90 min

    This assessment was a mix of classic data structures and algorithms along with some real-world simulation problems. It really tested my understanding of recursion, heaps, and queue management, while also connecting to practical system design concepts like rate limiting. Here’s a quick overview of the problems and how I approached them:

    • Clone a Nested Object with Circular References: I used recursion paired with a hashmap to keep track of visited nodes, which helped avoid infinite loops.
    • Optimize Task Scheduling with Cooling Intervals: I applied a greedy algorithm combined with a max heap to schedule tasks in a way that minimizes idle time.
    • API Throttling Simulation: For this, I modeled request throttling using queues and timestamp tracking to enforce rate limits effectively. Overall, it was a challenging round that blended theory and practical system design concepts.
  2. 2

    Core DSA+Problem Solving90 min

    This round was an engaging session with a senior engineer, focusing on some tricky data structure problems and practical object-oriented and functional programming concepts, mainly in JavaScript and Java. One of the main problems was merging K sorted lists. I explained how I’d use a min heap to efficiently merge all the lists, cutting down the time complexity. Then, I was asked to implement a custom event emitter class. I designed it with the standard methods - on, off, & emit and made sure to handle edge cases like multiple listeners and deregistering events. There was also a follow-up on race conditions. We discussed practical ways to handle them, like using mutexes, async promises, and transaction management to keep things consistent. It was a good mix of coding and design, with plenty of back-and-forth to clarify ideas.

  3. 3

    System Design60 min

    I was asked to design a review system for service professionals. We covered data modeling for pros, customers, and reviews, caching strategies using Redis, real-time moderation workflows, and scaling for traffic spikes like Black Friday. The discussion also touched on Kafka for streaming reviews and Elasticsearch for fast querying.

  4. 4

    Live Debugging + Scenario60 min

    Presented with a buggy API service suffering under load, I first carefully read and summarized the problem out loud. Tasks included fixing pagination bugs, ensuring cache invalidation worked properly, and adding robust async logging and error handling. Interviewers encouraged a scoped, thoughtful approach rather than over-engineering fixes.

  5. 5

    Hiring Manager + Behavioral Round60 min

    The lead engineer took time to explore my experience mentoring others, how I handle scope creep from product managers, and how I manage tight deadlines when systems are unstable. I shared real examples and structured my stories to clearly show how I approach these challenges and what I’ve learned from them. Later, we had a more relaxed chat about why I want to join Angi, my career goals, and how ready I feel to take on leadership roles. We also talked about practical things like salary expectations and preferred work location. Throughout, I made sure to show my genuine excitement about working on scaling systems and improving the developer experience.

What came up

MediumRemote2 3 years

A candidate-reported account, lightly edited. Interview processes change by team and date.

Sources