GROWW SDE INTERN (FRONTEND) | MARCH 2024 | TIER 3 COLLEGE

groww logo
groww
sde intern (frontend)bangaloreRejected
September 6, 202464 reads

Summary

I recently interviewed for an SDE Intern (Frontend) role at GROWW in Bangalore. The process involved a resume shortlisting, a take-home assignment, and a technical round focusing on my assignment, projects, and deep dives into React, TypeScript, and JavaScript fundamentals, including object manipulation and Promise polyfills. Unfortunately, I was rejected as I struggled with some of the more advanced JavaScript questions.

Full Experience

I applied for the SDE Intern (Frontend) position at GROWW in March 2024 as a fresher from a Tier-3 college with about 5 months of prior internship experience. The role offered a 12-month internship with a PPO opportunity and a competitive stipend and CTC. The entire hiring process consisted of four rounds, though I only made it through the first two technical rounds.

Round 1: Resume Shortlisting
I applied through a Google form that was shared on LinkedIn by an SDE-2 at GROWW. My resume, likely due to my existing internship experience, got shortlisted.

Round 2: Assignment Round
This round was a take-home assignment. I was tasked with developing a complete checkout experience. This included building a CART page with coupon functionality, a PAYMENT DETAILS page supporting UPI and card payments, and a RANDOM PAYMENT CONFIRMATION page that could show success, failed, or pending statuses. Additionally, the application needed to support dynamic theme configuration fetched from an API. I was expected to use Next.js, TypeScript, Zustand/Redux, and Tailwind for the implementation.

Round 3: Technical Round
This round began with my basic introduction, followed by an in-depth discussion about the assignment I had built, including several follow-up questions. We then moved on to a detailed discussion of the projects listed on my resume and my past work experience. The interviewer also asked several basic theoretical questions about React, such as the differences between hooks and functional components, and the distinctions and use cases for useMemo and useCallback in a production environment. Other theoretical questions covered the differences between ~ and ^ in package.json files, any vs unknown in TypeScript, and interface vs type.

The actual deciding factor came down to a couple of problem-solving questions. First, I was given a deeply nested JavaScript object and asked to write a function that could access a property using a string path like "user.config.details.name.first". Second, I was asked to provide polyfills for Promise.any and other Promise methods. There were also some low-level DSA questions, like identifying the sorting algorithm used in C++ STL's inbuilt sort and explaining priority queues for min/max heaps, though no LeetCode-style coding problems were asked.

Round 4: HR Round
Unfortunately, I couldn't clear the technical round and didn't make it to the HR round. I assume it would have involved typical HR questions and wouldn't have been overly difficult.

Verdict:
I was ultimately rejected because I wasn't familiar with implementing polyfills for Promises and got stuck on the deeply nested object access question.

Interview Questions (8)

Q1
Checkout Experience UI Development
Other

Develop a checkout experience starting from a CART (with coupon functionality), proceeding to PAYMENT DETAILS (supporting UPI/CARDS), and concluding with a RANDOM PAYMENT CONFIRMATION (SUCCESS/FAILED/PENDING). The application also needs to support dynamic theme configuration fetched from an API. Preferred Tech Stack: Next.js, TypeScript, Zustand/Redux, Tailwind.

Q2
React Hooks vs Functions & useMemo/useCallback
Other

Discuss the differences between Hooks and functional components in React. Explain the difference between useMemo and useCallback with use cases in a production-level application.

Q3
npm package.json ~ vs ^
Other

Explain the difference between ~ and ^ in package.json files.

Q4
TypeScript any vs unknown
Other

Explain the difference between any and unknown in TypeScript.

Q5
TypeScript Interface vs Type
Other

Explain the difference between interface and type in TypeScript.

Q6
Access Deeply Nested Object Property by String Path
Data Structures & AlgorithmsMedium

Given a deeply nested object, write a function that takes a string parameter (e.g., "user.config.details.name.first") and returns the value accessed from the deeply nested object using this path.

Q7
Polyfills for Promise.any and Other Promise Methods
OtherHard

Provide polyfills for Promise.any and other Promise methods.

Q8
C++ STL sort Algorithm & Priority Queue
Data Structures & Algorithms

What sorting algorithm is used in the inbuilt sort function in C++ STL? Explain about priority queue for min/max heap.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!