Growtomation interview experience Real time questions & tips from candidates to crack your interview

Frontend Developer

Growtomation
upvote
share-icon
2 rounds | 6 Coding problems

Interview preparation journey

expand-icon
Application story
I discovered the opportunity through a recruiter’s outreach on LinkedIn, which led me to apply for the Web Developer position at Growtomation. The initial screening was efficient, followed by a clear briefing on the technical requirements. The process quickly moved to a take-home development exercise, where I was tasked with building a collaborative whiteboard. Upon submission, the team reviewed my code and scheduled a technical interview via video call to discuss my implementation, architectural choices, and core frontend fundamentals. Overall, communication from the HR team was timely and professional throughout the process.
Preparation
Duration: 3 months
Topics: HTML, CSS, JavaScript, SQL, Node.js, React
Tip
Tip

Tip 1: Learn when to use React state versus useRef. For high-frequency updates (such as mouse movements), using useRef to avoid unnecessary re-renders is a crucial skill for senior-level frontend roles.

Tip 2: Many frontend tasks, such as flattening nested API responses or traversing the DOM tree, require recursion. Practice common utility-based coding problems to build speed and accuracy.

Tip 3: Don’t just learn how to draw—learn how to optimize drawing. Research techniques such as Offscreen Canvas and layering to prevent UI lag in graphics-heavy applications.

Application process
Where: Linkedin
Eligibility: Above 7.5 CGPA, (Salary Package: 6 LPA)
Resume Tip
Resume tip

Tip 1: Instead of just listing “React” or “JavaScript,” explicitly mention high-performance libraries or APIs used in your projects. For example: “Optimized real-time rendering using the HTML5 Canvas API and WebSockets, reducing data latency by 20%.”

Tip 2: Add a “Technical Challenges” bullet point under your projects. Mention how you solved specific issues, such as concurrency control in collaborative environments or state management optimization. This demonstrates a deeper level of seniority than simply listing features.

Interview rounds

01
Round
Medium
Online Coding Interview
Duration90 minutes
Interview date10 Jul 2025
Coding problem0
Web problem/projects1

1. Real Time Collaborative Whiteboard Application

Developed a web-based drawing application using React that allows multiple users to collaborate on a digital canvas in real time.

The project featured:

  • Drawing Tools: Implementation of freehand drawing, shapes, and an eraser using the HTML5 Canvas API.
  • State Management: Efficient handling of canvas data and tool configurations using React hooks (useRef, useState).
  • Real-Time Sync: Logic for broadcasting and receiving coordinate data to ensure all users see updates simultaneously.
  • UI/UX: A responsive interface focused on low-latency interactions and clean tool selection.
02
Round
Medium
Face to Face
Duration50 minutes
Interview date16 Jul 2025
Coding problem6

1. Assignment Related Question

In your collaborative whiteboard, if 50 users are drawing simultaneously, the component may re-render hundreds of times per second. How would you use React.memo, useMemo, or requestAnimationFrame to ensure the UI does not lag?

2. Worker Offloading

JavaScript is single-threaded. If heavy canvas calculations (such as a flood-fill algorithm) are processed on the main thread, the UI may freeze. How would you use Web Workers to offload this work?

3. CSS Layout

Explain the CSS Box Model and how box-sizing: border-box changes layout calculations. Also, how would you ensure that a toolbar always stays above the drawing canvas, regardless of the drawing elements’ positions (z-index and stacking context)?

4. React Hooks

What is the difference between useRef and useState when handling canvas coordinates? Why might using useState for every mouse movement be a bad idea?

5. Object Flattening

Write a function that takes a deeply nested object (commonly used in whiteboard state or configurations) and flattens it into a single-level object using dot-notation keys.

Input:
{ user: { profile: { name: "John" } }, tool: "pen" }

Output:
{ "user.profile.name": "John", "tool": "pen" }

6. Undo Redo

Implement a class or a custom React hook, useHistory, that manages an Undo/Redo feature for a canvas.

Requirements:

  • A save(state) method to push a new canvas snapshot.
  • undo() and redo() methods to move the pointer backward and forward through the history.
  • Handle the edge case: if a user undoes actions twice and then draws something new, the redo history must be cleared.

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

What is recursion?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
4 rounds | 8 problems
Interviewed by Amazon
8518 views
0 comments
0 upvotes
company logo
SDE - Intern
1 rounds | 3 problems
Interviewed by Amazon
3319 views
0 comments
0 upvotes
company logo
SDE - 2
4 rounds | 6 problems
Interviewed by Expedia Group
2580 views
0 comments
0 upvotes
Software Engineer
1 rounds | 2 problems
Interviewed by Growtomation
120 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
Frontend Developer
3 rounds | 11 problems
Interviewed by Amdocs
2480 views
0 comments
0 upvotes