super.money logo

Super.money Interviews

5 experiences101 reads17 questions20% success rate
Super.Money Machine Coding | SDE 1
super.money logo
Super.money
SDE 1
May 6, 20257 reads

Summary

I interviewed for an SDE 1 role at Super.Money, completing a 2-hour machine coding round focused on designing a logging library. I implemented the sync logger and partially demonstrated async logging, which led to an invitation for subsequent rounds.

Full Experience

It was a 2 hours session with the interviewer

  • 15 min intro and problem discussion
  • 1:30 hour - coding
  • last 15-30 min discussion on the code and some questions around why you did what you did in the solution from Design patterns and Solid principles prespective
  • round was taken by interview Vector for super money

My take

I was able to implement the sync logger, for the async logger i was not able to implement complete multi threaded code, but was able to implement and show that how if multiple threads called Async loger, how it would behave.

As this was for a SDE - 1 , I think the interviewer was satisfied with the code and I got invited to next rounds , which I have yet to give.

Interview Questions (1)

Q1
Design a Simple Logging Library
System DesignHard

Simple Logging Library

Objective: Develop a basic logging library that can be used by applications to log messages. The library should handle message logging efficiently and reliably, offering basic configuration options.

Key Requirements: Driver Application should be able to Initialize the Library and log messages to the desired sink.

Logger has the following capabilities- Accepts messages from client(s) A logger would have one or more sinks associated with it. Supports defined message levels. Enriches message with current timestamp while directing message to a sink Logger is initialized with a configuration eg:logger name, sink(s), buffer size. Logger should support both sync and async logging. For Async logger buffer size would determine the maximum inflight messages. Messages must be ordered. Messages should reach the sink in the order they were sent. Should support writes from multiple-threads. There shouldn’t be any data loss.

Sink: There can be various types of sink (file, stdout, database).
Sink has a destination. For this round you may create STDOUT sink, which would print the message to the console. Sink has an associated log level. Any message with the level lower than the sink level should be discarded.

Message has content which is of type string has a level associated with it

Log level DEBUG, INFO, WARN, ERROR, FATAL ; in order of priority. ERROR has higher priority than INFO. Add test cases to demonstrate sync logging, async logging and concurrent logging requests

Sending messages Sink need not be mentioned while sending a message to the logger library. You specify message content and level while sending a message

Logger configuration (see sample below) Specifies all the details required to use the logger library. Library can accept one or more configuration for an application Example: time format logging level sink type Logger type sync/async details required for sink (eg file location)); this depends on sink type.

Sample Config: Ts_format: any format log_level:INFO logger_type:ASYNC buffer_size:25 sink_type:STDOUT

Sample Output Log Entry 03-01-2024-09-30-00 [INFO] This is a sample log message. Sample test case: Input: Configuration of the logger is console logging with Info level. log.info(“Info message”) log.warn(“Warn message”) log.debug(“Debug message”) log.error(“Error message”) Output: 03-01-2024-09-30-00 [INFO] Info message 03-01-2024-09-30-01 [WARN] Warn message 03-01-2024-09-30-02 [ERROR] Error message

Expectations and Guidelines

Create the sample data yourself. You can put it into a file, test case or main driver program itself. The code should be demo-able. Either by using the main driver program or test cases. The code should be modular. The code should have the basic OO design. Please do not jam in the responsibilities of one class into another. The code should be extensible. Wherever applicable, use interfaces and contracts between different methods. It should be easy to add/remove functionality without rewriting the entire codebase. The code should handle edge cases properly and fail gracefully. The code should be legible, readable and DRY. Database integration is not required. Please do not access the internet for anything EXCEPT syntax. You are free to use the language and IDE of your choice. The entire code should be your own.

Super.money - UI Engineer 2
super.money logo
Super.money
UI Engineer 22.5 years
April 7, 20257 reads

Summary

I interviewed for a UI Engineer 2 role at Super.money, undergoing four rounds covering machine coding, UI tech depth, system design, and a hiring manager discussion. Despite positive initial feedback and being re-contacted after an initial rejection due to role closure, I was ultimately rejected after the final debrief without specific feedback.

Full Experience

Background - Currently working as frontend engineer in India's leading quick-commerce company having 2 & 1/2 years of experience.

Round 1 - [ Machine coding ] 2 hours Scheduled by InterviewVector Initial Discussion (20 mins): Talked about my current projects, day-to-day work, and the challenges I’ve faced in recent projects. Machine Coding Task (1 hour 40 mins): I was asked to build a Stock Wishlist App with the following features:

  1. A list of stocks where prices change at specific intervals
  2. Ability to add/remove stocks from the wishlist
  3. Set notification alerts when stock prices hit a user-defined threshold
  4. Search functionality for stocks

Result: ✅ Positive

Round 2 - [ UI tech depth ] 1 hour Vanilla JS Task: Build an n x m grid. When a user clicks a cell, highlight the entire row and column in red. React Task: Build a counter app where clicking "+" increments the value and also retains the previous values (used React hooks). Conceptual Questions: Covered topics like Virtual DOM, useLayoutEffect, lifecycle of useEffect, critical rendering path, web vitals (LCP, CLS, FID), and website/network optimizations.

Result: ✅ Positive

Though both rounds went well, I unexpectedly received a rejection email due to the role being closed.🤷‍♂️ Two weeks later, I was re-contacted, and they acknowledged the mistake and resumed the process.

Round 3 - [ System Design ] 1 hour Project Discussion: Spoke about projects, had a depth discussion about 30 minutes on this.

System Design Task – Google Forms:

  1. Discussed functional & non-functional requirements
  2. Discussion on architecture, MVC design, and high-level design of form.
  3. Small disucssion on backend services.
  4. Schema design: faced a bit of difficulty in modeling ownership vs user responses, but handled other aspects confidently

Result: ✅ Positive

Round 4 [ HM round ] 1 hour

  1. Disucssion on my projects
  2. Typical HM round questions
  3. Time when i lead my team
  4. What are my expectations on work from super.money
  5. He also discuss about the work and culture of super.money It went pretty well.

Final result - [ Rejected ] After a week of no response, I followed up with HR. She mentioned that after a debrief, they’ve decided not to move forward. No specific feedback was provided. Honestly, I felt confident after every round and expected a positive outcome. But sometimes, things don't work out even when everything seems right. Hope this helps. Thanks

Interview Questions (6)

Q1
Stock Wishlist Application
Other

Build a Stock Wishlist App with the following features:

  1. A list of stocks where prices change at specific intervals
  2. Ability to add/remove stocks from the wishlist
  3. Set notification alerts when stock prices hit a user-defined threshold
  4. Search functionality for stocks
Q2
Grid Cell Highlight
Other

Build an n x m grid. When a user clicks a cell, highlight the entire row and column in red.

Q3
React Counter App with History
Other

Build a counter app where clicking "+" increments the value and also retains the previous values (used React hooks).

Q4
UI Tech Depth Conceptual Questions
Other

Covered topics like Virtual DOM, useLayoutEffect, lifecycle of useEffect, critical rendering path, web vitals (LCP, CLS, FID), and website/network optimizations.

Q5
Design Google Forms
System Design

Discussed functional & non-functional requirements. Discussion on architecture, MVC design, and high-level design of form. Small discussion on backend services. Schema design: faced a bit of difficulty in modeling ownership vs user responses, but handled other aspects confidently.

Q6
Leadership and Expectations
Behavioral

Typical HM round questions. Time when I lead my team. What are my expectations on work from super.money. He also discuss about the work and culture of super.money.

SDE 3 @ Super.money
super.money logo
Super.money
SDE 3
April 3, 20259 reads

Summary

I interviewed for an SDE 3 role at Super.money, which included rounds on machine coding, PSDS, LLD, and a hiring manager discussion, including a system design problem. I was ultimately rejected.

Full Experience

Round 1

Machine coding:

Design a logger library with different configurable destination options along with sync and async ways to write logs to the destination. It should support different log levels, buffer size for the async option, and formatting options. SOLID and OOD was expected, code should be running and testable. Handle everything in a multi-threaded environment.

Round 2

PSDS:

Discussion on reducing API latency using caching techniques. Discussion of general approach to take to address API latency issues.

Round 3

Supposed to be an LLD:

Design the leaderboard side of IPL fantasy league. T teams, 10M+ users, every user can build any team with 11 players, calculate per ball leaderboard based on fantasy points earned. Can assume we have a black box method to calculate per ball points, and we can query it to design our leaderboard.

Expectations: DB design, optimised queries, API flow, expected async handling of updating huge number of users’ score calc and updates.

Round 4

Hiring manager: Discussions on previous experiences.

Design a price drop alert system for a travel website. Users can select data range and the threshold price for a location, notify them when the price drops below the value. The website depends on the data from external sources like agoda, mmt, expedia etc.

Verdict

Rejected.

Interview Questions (4)

Q1
Design a Logger Library
Other

Design a logger library with different configurable destination options along with sync and async ways to write logs to the destination. It should support different log levels, buffer size for the async option, and formatting options. SOLID and OOD was expected, code should be running and testable. Handle everything in a multi-threaded environment.

Q2
Reducing API Latency using Caching
System Design

Discussion on reducing API latency using caching techniques. Discussion of general approach to take to address API latency issues.

Q3
Design IPL Fantasy League Leaderboard
System DesignHard

Design the leaderboard side of IPL fantasy league. T teams, 10M+ users, every user can build any team with 11 players, calculate per ball leaderboard based on fantasy points earned. Can assume we have a black box method to calculate per ball points, and we can query it to design our leaderboard. Expectations: DB design, optimised queries, API flow, expected async handling of updating huge number of users’ score calc and updates.

Q4
Design a Price Drop Alert System
System Design

Design a price drop alert system for a travel website. Users can select data range and the threshold price for a location, notify them when the price drops below the value. The website depends on the data from external sources like agoda, mmt, expedia etc.

super.money | Machine Coding Round | SDE - 2 | [Rejected]
super.money logo
Super.money
SDE - 23 years
March 29, 20255 reads

Summary

I recently interviewed for an SDE 2 role at super.money, which involved a Machine Coding round where I was tasked with designing a logging library. I was ultimately rejected due to my unfamiliarity with Java concurrency and multithreading, identifying this as a key area for future preparation.

Full Experience

Hey everyone, hope you're doing well! I recently had a chance to interview for SDE 2 role at super.money

Round 1 : Machine Coding

  • Design Logging Library

Attaching the docs links https://docs.google.com/document/d/1h31FHtLKbYwb9sLucRkUOPpOBphO1CZ1pHSM9vi5434/edit?usp=sharing

Interview Questions (1)

Q1
Design Logging Library
System Design

Design a logging library. Further requirements and context are provided in the attached document.

super.money | SDE3 | Banglore | January 2025 [Passed]
super.money logo
Super.money
SDE 3bangloreOffer
February 18, 202573 reads

Summary

I recently interviewed for an SDE 3 role at super.money in Bangalore and received a positive verdict, resulting in an offer for an SDE-2 position. The overall experience was very supportive and focused on collaborative discussions.

Full Experience

I recently had an interview opportunity for an SDE 3 role at super.money in Bangalore. The entire process was quite positive and consisted of five rounds, covering various aspects of software engineering.

Round 1: Data Structures & Problem Solving

This round focused on my problem-solving abilities and understanding of data management. I was asked about:

  • Database Migration: How to migrate data from one database to another with minimal downtime, discussing strategies and tools involved.
  • Oncall Scenario: An API SLA breach (>100ms) where I had to outline the steps to investigate, diagnose, and mitigate the issue.

Round 2: High-Level Design (HLD)

In this round, the task was to design an online chess system. The interviewer specifically wanted me to focus on the matchmaking component, emphasizing a First-Come, First-Served (FCFS) approach.

Round 3: Machine Coding

This was an implementation-heavy round where I had to build a Pub-Sub (Publisher-Subscriber) library. The requirements were quite detailed and included:

  1. The library needed to clearly define `Topic`, `Publisher`, and `Consumer` entities, allowing publishers to send messages to a topic and multiple consumers to subscribe.
  2. Support for multiple consumers and publishers per topic.
  3. Functionality to manage topics, including creating and deleting them.
  4. Consumers should be able to consume messages as they are received.
  5. The ability to publish messages in parallel.
  6. Robust and graceful exception handling.
  7. Implementation of offset management for consumers.
  8. Topics should have a maximum retention period for messages.
  9. [Bonus-1] The ability to reset offset and replay messages from a particular offset.
  10. [Bonus-2] Visibility into consumer/topic status based on last offset read or lag.

Round 4: Low-Level Design (LLD)

For this round, I was asked to design Google Calendar from a low-level perspective. This involved outlining API endpoints, discussing suitable design patterns, and defining the classes and their interactions within the system.

Round 5: Project Deep Dive [Hiring Manager]

The final round was with the Hiring Manager, where we discussed my past projects in detail. This included exploring the technical challenges I faced, the solutions I implemented, and the impact of my work.

Overall, it was a very positive experience. Each interviewer was supportive and helpful throughout the process. They were open to listening to my thoughts and encouraged discussions rather than just evaluating answers. I received a verdict of Hire for SDE-2, which I consider a positive outcome.

Interview Questions (5)

Q1
Database Migration with Minimal Downtime
Other

Discuss how to migrate data from one database to another while ensuring minimal downtime during the migration process. Focus on strategies, tools, and best practices.

Q2
API SLA Breach Investigation and Mitigation
Other

Describe the steps you would take to investigate, diagnose, and mitigate an API SLA breach where the response time exceeds 100ms. Detail the tools, metrics, and procedures you would follow.

Q3
Design Online Chess Matchmaking (FCFS)
System DesignHard

Design an online chess system, with a specific focus on the matchmaking component. The matchmaking should follow a First-Come, First-Served (FCFS) principle.

Q4
Design and Build a Pub-Sub Library
Data Structures & AlgorithmsHard

Design and implement a Pub-Sub (Publisher-Subscriber) library with the following core capabilities:

  1. Core Components: The library must clearly define the concepts of a Topic, Publisher, and Consumer. A publisher sends messages to a topic, and multiple consumers can receive messages from that topic.
  2. Many-to-Many Relationship: Support for multiple consumers and multiple publishers per topic.
  3. Topic Management: Ability to manage topics, including creating and deleting them dynamically.
  4. Message Consumption: Consumers should actively receive messages published to their subscribed topics.
  5. Parallel Publishing: The library should support publishers sending messages in parallel.
  6. Exception Handling: Robust and graceful handling of exceptions within the library.
  7. Offset Management: Implement offset management for consumers to track their progress in reading messages from a topic.
  8. Message Retention: Topics should have a configurable maximum retention period, after which messages are automatically deleted.
  9. [Bonus-1] Offset Reset and Replay: Ability for consumers to reset their offset and replay messages from a specific point.
  10. [Bonus-2] Visibility: Provide mechanisms for visibility into consumer and topic status, such as last read offset or lag.
Q5
Low-Level Design of Google Calendar
System DesignHard

Perform a Low-Level Design (LLD) for a system similar to Google Calendar. Focus on defining key API endpoints, choosing appropriate design patterns, and outlining the primary classes and their interactions.

Have a Super.money Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Super.money.