Chingari.io | SDE-1 (Fresher) | August 2022 | Rejected
Summary
I interviewed for an SDE-1 position at Chingari.io and was rejected. The interview focused heavily on system design and development skills rather than traditional DSA, which I found challenging due to my limited experience in the system design area.
Full Experience
I had a 45-minute interview for the SDE-1 position at Chingari.io with a senior developer. It started with my self-introduction, after which the discussion shifted to my 6-month internship at Josh. I was asked to describe the system I built during my internship, identify whether it was microservice or monolithic, and explain the differences, advantages, and disadvantages of both architectures. Following this, I was given a coding challenge to flatten a JSON object into a specific format, which I unfortunately failed to complete successfully. The interviewer then posed a system design question about populating a user feed in real-time. I attempted to provide an approach, but my lack of experience in system design prevented me from answering it correctly. We also discussed the differences between NoSQL and SQL databases and their use cases, which I answered correctly. Ultimately, I was rejected, primarily due to my limited system design experience as a fresher.
Interview Questions (6)
Design the system I built during my internship at Josh. I had to explain how it works.
Determine if the system I built during my internship was microservice or monolithic.
Explain the differences between microservice and monolithic architectures, including their advantages and disadvantages.
Write a function that accepts any JSON as an input and returns a flattened JSON as output.
// Input Json: { "key1": { "key2": "value2", "key3": ["value3", "value4", {"key5": "value5"}, 6] }, "key4": "value4", "key6": [1, 2, 3, 4], "key7": { "key8": "value8", "key9": false } }
// Output flattend json:: { "key1.key2": "value2", "key1.key3.0": "value3", "key1.key3.1": "value4", "key1.key3.2.key5": "value5", "key1.key3.3": 6, "key4": "value4", "key6.0": 1, "key6.1": 2, "key6.2": 3, "key6.3": 4, "key7.key8": "value8", "key7.key9": false }
Design a system where the user feed is populated in real-time with content uploaded by other users. For example, if I search for 'trending videos' and simultaneously another user uploads a video with that name, it should immediately become visible in my search feed.
Explain the differences between NoSQL and SQL databases and describe their respective use cases.
Preparation Tips
My preparation primarily focused on development skills. Based on this interview, I realized that for startups like Chingari.io, an understanding of system design is crucial even at the entry-level, and they emphasize development skills over traditional Data Structures and Algorithms (DSA). There was no specific DSA round in my interview.