Detect technologies | Software Engineer | Chennai | Sept 2024 | Offer

detect technologies logo
detect technologies
sde-2chennai1.16 yearsOffer
September 12, 20240 reads

Summary

I recently interviewed at Detect Technologies for an SDE-2 role, where I successfully navigated three rounds focusing on DSA, Flutter deep dive, and High-Level System Design for Google Photos. I received and initially accepted the offer, though I later resigned after two weeks.

Full Experience

I recently had an interview experience at Detect Technologies for an SDE-2 position. The entire process consisted of three rounds.

Round 1: DSA + Project Discussion

The first round focused on data structures and algorithms. The interviewer asked me to solve the Merge Intervals problem. I explained my approach and implemented an efficient solution. Following that, I was given another problem: to write code to flatten a list. After the coding part, the interviewer asked basic questions about the projects listed on my resume. I walked them through the key highlights of my recent work, discussing the technologies I used and the challenges I faced.

Round 2: Flutter Deep Dive + Work Experience

This round was more focused on my work experience and an in-depth exploration of my Flutter knowledge. The questions revolved around several specific topics:

  • What is lazy loading, and how have you used it in your projects?
  • How do you use the null-check operator in Flutter?
  • Can you explain the widget lifecycle in Flutter?
  • How does the widget tree work, and how do you optimize it?
  • What is the Flutter inspector, and how do you use it?
  • What state management techniques do you use, and why did you choose BLoC?
  • Can you explain tree shaking and how it benefits a Flutter app?

The interviewer also touched on various best practices for Flutter development and cross-examined my understanding with multiple follow-up questions.

Round 3: High-Level Design (HLD)

In the final round, I was asked to design the High-Level Architecture of Google Photos. Key points of discussion included:

  • How I would design the high-level architecture of Google Photos.
  • How I would handle the upload mechanism for photos.
  • What I would do if there was a network issue during the upload, and how I would ensure the upload resumes rather than starting over.
  • How I would track the upload status (e.g., uploaded, in-progress, failed).
  • How I would keep all devices updated when a photo is uploaded on one device.
  • How I would ensure cross-device consistency for photo updates.

There were several follow-up questions around scalability, fault tolerance, and ensuring a smooth user experience, all of which I handled by breaking down the system into smaller components and explaining them in detail.

Conclusion:

I successfully received an SDE-2 offer, which I gladly accepted. However, I later received an offer from Myntra, and after working at Detect for two weeks, I made the difficult decision to resign. Unfortunately, I faced some consequences for that decision.

Interview Questions (10)

Q1
Merge Intervals
Data Structures & AlgorithmsMedium

Given a collection of intervals, merge all overlapping intervals.

Q2
Flatten a List
Data Structures & Algorithms

Write a code to flatten a list (e.g., convert a nested list like [1, [2, 3], [4, [5]]] into a flat list [1, 2, 3, 4, 5]).

Q3
Lazy Loading in Flutter
Other

What is lazy loading, and how have you used it in your projects?

Q4
Null-Check Operator in Flutter
Other

How do you use the null-check operator in Flutter?

Q5
Flutter Widget Lifecycle
Other

Can you explain the widget lifecycle in Flutter?

Q6
Flutter Widget Tree Optimization
Other

How does the widget tree work, and how do you optimize it?

Q7
Flutter Inspector Usage
Other

What is the Flutter inspector, and how do you use it?

Q8
Flutter State Management (BLoC)
Other

What state management techniques do you use, and why did you choose BLoC?

Q9
Tree Shaking in Flutter
Other

Can you explain tree shaking and how it benefits a Flutter app?

Q10
High-Level Design: Google Photos
System DesignHard
  • How would you design the high-level architecture of Google Photos?
  • How would you handle the upload mechanism for photos?
  • What would you do if there is a network issue during the upload? How would you ensure the upload resumes rather than starts over?
  • How would you track the upload status (e.g., uploaded, in-progress, failed)?
  • How would you keep all devices updated when a photo is uploaded on one device?
  • How would you ensure cross-device consistency for photo updates?

The discussion also included several follow-up questions around scalability, fault tolerance, and ensuring a smooth user experience.

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!