Summary
I recently interviewed for an SDE-2 position at Media.net, which primarily involved Data Structures & Algorithms and Low-Level Design rounds. I faced challenges in the LLD round and ultimately do not anticipate receiving an offer.
Full Experience
I recently interviewed for the SDE-2 role at Media.net. The interview process consisted of two main rounds: a Data Structures & Algorithms (DSA) round and a Low-Level Design (LLD) round. In the DSA round, I was asked two problems. For the first, 'Matrix Diagonal Traversal', I initially approached it with DFS but was prompted for a more optimized solution using a queue. The second DSA question involved connecting points with vertical or horizontal moves. The LLD round focused on designing a 'Task Scheduler' with various complex features like dependencies, priorities, and retry mechanisms. I was not able to fully implement and run the code for the LLD solution after completing the design discussion. Based on my performance, I don't think they will contact me further regarding this opportunity.
Interview Questions (3)
Given a matrix, traverse its elements in diagonal order. I initially approached this using Depth-First Search (DFS) but was asked to provide a more optimized solution, specifically one utilizing a queue and right traversal logic.
Given an array of points (x, y), I can only move either vertically or horizontally in a single step. The problem requires returning the minimum number of additional points needed to connect all the given points.
Design a task scheduler system that needs to handle a variety of complex features:
- Dependencies: Tasks can depend on other tasks, and dependent tasks should not run until their prerequisites are complete.
- Priority: Tasks have priorities (e.g., 1, 2, 3), and tasks with higher priority should be picked first.
- Retry Mechanism: If a task fails, it should be retried a specified number of times (e.g., up to 5 times).
- Cancellation: Tasks can be cancelled, but all their dependent tasks must be executed first before cancellation.
- Parallelization: The scheduler should support parallel execution of tasks where possible.
- History: Maintain a history of task executions.
- Circular Dependency Protection: Implement a mechanism to detect and prevent circular dependencies between tasks.
Summary
I interviewed for an SDE 2 role at Media.Net and was ultimately rejected. I faced two LeetCode medium Data Structures and Algorithms (DSA) questions, struggling initially with a probability-based problem but arriving at a pseudo-code, and needing a hint for a two-pointer problem.
Full Experience
During the interview, I was presented with two DSA questions. For the first question, which was probability-based, I struggled initially because I hadn't encountered such problems before. I began with a brute-force recursive solution and later realized that Dynamic Programming (DP) could optimize it. I derived the recurrence relation, and the interviewer agreed with my approach. As time was running out, I wrote the pseudo-code. However, I believe I messed up when asked about a space-optimized solution; I mentioned using prev and curr pointers but couldn't integrate it into the pseudo-code, which was a mistake. This question took me about 45 minutes.
For the second question, due to limited time, I immediately started with a brute-force solution. The interviewer asked me to optimize it, and after a couple of minutes of intense thought, I came up with a two-pointer solution. My initial logic, however, was incorrect. The interviewer then provided a hint, which enabled me to complete the solution correctly within approximately 15 minutes.
Ultimately, I was rejected. I had a little bit of hope because I could complete the correct solutions and explain things iteratively, but I guess I took too many hints from the interviewer and couldn't complete the correct code perfectly. It's disheartening to hear, but I will keep on grinding!
Interview Questions (2)
Preparation Tips
I have 4+ years of experience and restarted practicing Data Structures and Algorithms (DSA) in April. I've been getting very few callbacks, even though I'm from a Tier-1 college, which I guess doesn't matter much now. This was the fifth company I've interviewed with, and the interviewer approached me.
Summary
I had an interview for an SDE-2 Android Developer role at Media.net in Bangalore. I successfully navigated through the DSA and Android Fundamentals rounds but was ultimately rejected after the Hiring Manager round due to challenges in designing an Android application's high-level and low-level design.
Full Experience
My interview experience for the SDE-2 Android Developer role at Media.net in Bangalore consisted of three technical rounds followed by a culture fit round. Unfortunately, I was rejected after the hiring manager round.
Round 1 – DSA (60 mins)
This round focused on Data Structures and Algorithms. I was given two medium-level problems to solve within 60 minutes. I successfully implemented solutions for both and cleared this round.- Unique Paths II: This was a dynamic programming problem involving a grid with obstacles.
- Lowest Common Ancestor of a Binary Tree: This was a classic tree traversal question.
Round 2 – Android Fundamentals (60 mins)
This round delved deep into core Android concepts. The interviewer asked detailed questions on several topics. I felt confident in my answers and cleared this round successfully.- The lifecycle of Activity, Fragment, and ViewModel.
- The internal working mechanisms of ViewModel.
- Dependency Injection principles and practical applications in Android.
- Various Activity launch modes and their use cases.
- General Android concepts and best practices.
Round 3 – Hiring Manager (60 mins)
This final technical round started with a discussion about my previous experience, current projects, and responsibilities. Following that, I was asked to pick a favorite Android application and design its High-Level Design (HLD) and Low-Level Design (LLD).I chose the Google Search App due to its widespread utility. I spent a significant amount of time detailing the HLD, perhaps covering too many non-core features, which unfortunately left me with limited time to adequately discuss the LLD. This round concluded with a rejection.
My key takeaways from this experience are to keep the HLD focused on core functionality, especially when time is a constraint. It's crucial to prioritize clarity and discuss trade-offs rather than trying to detail every possible feature. Practicing structured design answers under timed conditions would definitely improve performance in such rounds.
Interview Questions (4)
Discussion covered various core Android concepts including the lifecycle of Activity, Fragment, and ViewModel, the internal workings of ViewModel, Dependency Injection principles, Activity launch modes, and general Android best practices.
I was asked to choose a favorite Android application and design its High-Level Design (HLD) and Low-Level Design (LLD). I selected the Google Search App.
Summary
I recently interviewed for a Data Engineer position at media.net. Despite successfully answering all the questions, which I found to be easy, I was unfortunately not selected for the role.
Full Experience
I recently appeared for a Data Engineer interview at media.net. The process involved several rounds, primarily focusing on Data Structures & Algorithms and SQL. I found the overall interview experience manageable and was confident in my responses to all the posed questions. However, despite my performance, I received a rejection for the position.
Interview Questions (3)
Given an array arr[] of integers, the task is to find the Next Greater Element for each element of the array in order of their appearance in the circular array.
Input: arr[] = [2, 5, -3, -4, 6, 7, 2]
Output: [5, 6, 6, 6, 7, -1, 5]
Given the following tables:
CUSTOMER_MASTER
| Customer_id | name | mob_no |
|---|---|---|
| 1 | xyz | 1234567899 |
Product table:
| product_key | price(INR) |
|---|---|
| 4 | 100 |
| 5 | 150 |
| 6 | 200 |
| 10 | 300 |
orders:
| order_id | customer_id | product_id | date | discount_points |
|---|---|---|---|---|
| 1 | 1 | 5 | 10-02-2025 | 1 |
| 2 | 2 | 6 | 10-02-2025 | 2 |
| 3 | 3 | 5 | 12-02-2025 | 1 |
| 4 | 3 | 4 | 05-02-2025 | NULL |
| 5 | 1 | 6 | 10-02-2025 | 1 |
discount_master:
| discount_points | discount(INR) |
|---|---|
| 1 | 25 |
| 2 | 50 |
- Find the Top 10 orders
- Find avg product values of customer Day wise
You're given two positive integers representing the height of a staircase and the maximum number of steps that you can advance up the staircase at a time. Write a function that returns the number of ways in which you can climb the staircase.
Note that maxSteps <= height will always be true.
Input : height = 4, maxSteps = 2
Output : 5