flipkart logo
Flipkart· SDE 2 iOS Developer

Flipkart SDE 2 iOS Machine Coding Round Experience

Posted
12 Mar 2026
364 reads

Summary

I recently appeared for a Machine Coding Round at Flipkart for an iOS Developer SDE 2 role, where I had to build an iOS application simulating a 2-over cricket match with specific rules for team selection, match progression, and scoring.

How it went

Recently I appeared for a Machine Coding Round at Flipkart for an iOS Developer role. The task was to build a small iOS application that simulates a 2-over cricket match between two teams. The focus of the round was mainly on clean architecture, readable code, correct logic, and modular design, rather than polished UI.

Problem Overview

The application had two main screens.

1. Teams List Screen

  • Display a list of cricket teams along with their flags.
  • Team data was provided through a JSON file: https://jsonkeeper.com/b/ZPFG
  • The JSON file could be downloaded and bundled locally in the app (no network call required).
  • Each list item shows:
    • Team name
    • Team flag
  • The user must select two teams to proceed to the match screen.
  • Any open-source image library could be used for loading the flag images.

2. Match Centre Screen

This screen simulates the actual cricket match.

  • Both teams bat one after the other.
  • Each innings consists of 2 overs (12 balls).
  • Maximum 3 wickets per team.
  • A "Next Ball" button triggers the next delivery.
  • When the button is pressed:
    • A random outcome is generated
    • Runs / wickets are updated
    • Scoreboard updates on the screen.

Possible Ball Outcomes

Each ball can result in one of the following:

  • 0 (Dot ball)
  • 1 run
  • 2 runs
  • 3 runs
  • 4 runs
  • 6 runs
  • Out (Wicket)

Match Ending Rules

First Innings ends when:

  • 12 balls are completed, or
  • 3 wickets fall.

Second Innings ends when:

  • The chasing team surpasses the target, or
  • 12 balls are completed, or
  • 3 wickets fall.

The team with the higher score at the end wins the match.

Extensions (Optional Enhancements)

Some additional features suggested were:

  • Wide ball
    • +1 run
    • Extra ball
  • No ball
    • +1 run
    • Extra ball
    • Batter cannot be out
  • Weighted probabilities
    • Events like 6 runs or wickets should occur less frequently than singles or dot balls.

Evaluation Criteria

The interviewer emphasized:

  • Clean and modular code
  • Proper separation of concerns (good architecture such as MVVM)
  • Readability and naming conventions
  • Correct implementation of match logic
  • Extensible design for adding new rules like wides or no-balls

UI design was not heavily evaluated, but the application should function correctly and follow the expected flow.

unnamed.png

unnamed (1).png

Questions asked (1)

  1. 01

    iOS Machine Coding: 2-Over Cricket Match Simulator

    Other · Hard

    The task was to build a small iOS application that simulates a 2-over cricket match between two teams. The focus of the round was mainly on clean architecture, readable code, correct logic, and modular design, rather than polished UI.

    Problem Overview

    The application had two main screens.

    1. Teams List Screen

    • Display a list of cricket teams along with their flags.
    • Team data was provided through a JSON file: https://jsonkeeper.com/b/ZPFG
    • The JSON file could be downloaded and bundled locally in the app (no network call required).
    • Each list item shows:
      • Team name
      • Team flag
    • The user must select two teams to proceed to the match screen.
    • Any open-source image library could be used for loading the flag images.

    2. Match Centre Screen

    This screen simulates the actual cricket match.

    • Both teams bat one after the other.
    • Each innings consists of 2 overs (12 balls).
    • Maximum 3 wickets per team.
    • A "Next Ball" button triggers the next delivery.
    • When the button is pressed:
      • A random outcome is generated
      • Runs / wickets are updated
      • Scoreboard updates on the screen.

    Possible Ball Outcomes

    Each ball can result in one of the following:

    • 0 (Dot ball)
    • 1 run
    • 2 runs
    • 3 runs
    • 4 runs
    • 6 runs
    • Out (Wicket)

    Match Ending Rules

    First Innings ends when:

    • 12 balls are completed, or
    • 3 wickets fall.

    Second Innings ends when:

    • The chasing team surpasses the target, or
    • 12 balls are completed, or
    • 3 wickets fall.

    The team with the higher score at the end wins the match.

    Extensions (Optional Enhancements)

    Some additional features suggested were:

    • Wide ball
      • +1 run
      • Extra ball
    • No ball
      • +1 run
      • Extra ball
      • Batter cannot be out
    • Weighted probabilities
      • Events like 6 runs or wickets should occur less frequently than singles or dot balls.

    unnamed.png

    unnamed (1).png

Know someone preparing? Send it to them:WhatsAppLinkedInX

Interviewed at Flipkart recently?

Write up your rounds while you still remember the questions. It helps the next person more than you would think.

Share your experience
Discussion 0

Questions for the author, or how your own interview compared.

Join the discussion

Sign in with Google to comment or ask the author a question.

No comments yet

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