FreeCharge | Lead SDE Interview Experience | Gurgaon

Hi Viewers,

I recently attended the Lead Software Development Engineer (Lead SDE) interview at FreeCharge. The first technical round lasted around 60 minutes and covered two coding questions followed by behavioral discussions.

Round 1 – Technical Interview

Question 1: Meeting Rooms – Minimum Number of Rooms Required

Problem

Given two arrays start[] and end[] representing meeting start and end times, determine the minimum number of meeting rooms required. If one meeting ends exactly when another starts, the same room can be reused.

Approach

  • Sort both start[] and end[].
  • Use two pointers to iterate through both arrays.
  • If the next meeting starts before the earliest meeting ends, allocate a new room.
  • Otherwise, free an existing room and reuse it.
  • Keep track of the maximum number of rooms needed.

Complexity

  • Time: O(n log n)
  • Space: O(1) (excluding sorting)

Follow-ups

  • Why does sorting both arrays work?
  • What happens when two meetings have the same start or end time?
  • Can the problem be solved using a Priority Queue? Compare both approaches.

Question 2: Binary Tree Right Side View

Problem

Return the nodes visible when viewing a binary tree from the right side.

Approach

  • Used Level Order Traversal (BFS).
  • For every level, stored the last node encountered.

Complexity

  • Time: O(n)
  • Space: O(n)

Follow-up Discussion

The interviewer asked several follow-up questions after the implementation.

  • Which traversal did you use?

    • Level Order Traversal (BFS)
  • Can this be optimized?

    • Yes. Using DFS (Root → Right → Left) where the first node visited at every depth becomes the answer.
  • Why is DFS space complexity O(h)?

    • Because recursion stores only one root-to-leaf path in the call stack.
  • What happens for a skewed tree?

    • DFS Space: O(n)
    • BFS Queue Size: O(1)
  • What happens for a balanced tree?

    • DFS Space: O(log n)
    • BFS Space: O(n)
  • When would you prefer BFS over DFS?

  • What are the trade-offs between iterative and recursive solutions?


Behavioral Questions

  • Tell me about yourself.
  • Why are you looking for a job change?
  • Why do you want to join FreeCharge?
  • Why is your hometown XYZ?
  • You studied in one city but moved to another for work. Why?
  • Explain your current project.
  • What are your day-to-day responsibilities?
  • What are some challenging problems you've solved in your current role?
  • Are you open to relocation?
  • Do you have any questions for us?

Overall Experience

The interview was interviewer-friendly and focused on both coding ability and problem-solving approach. The interviewer expected clear communication, discussion of edge cases, complexity analysis, and alternative solutions. The behavioral section mainly revolved around my current project, responsibilities, and motivation for switching.

Result: ✅ Cleared the first technical round and waiting for the next round to be scheduled.

Comments (3)