/>

Lesson 12 — Advanced

Machine Coding Round

Machine Coding round mein tumhe 45-60 minutes mein ek working system likhna hota hai. Clean code, design patterns, aur scalable design — sab test hota hai.

⏱ 28 min• Advanced• LLD basics

Machine Coding hota kya hai?

WHAT

Machine Coding ek interview round hai jisme tumhe ek real-world system code karna hota hai live — 45-60 minutes mein. Design patterns use karna, clean code likhna, aur scalability handle karna — sab test hota hai.

WHEN

Amazon, Google, Microsoft, Flipkart — sab companies ye round lete hain. DSA ke baad ye round hota hai jo tumhari design skills test karta hai.

WHERE

Parking Lot, Elevator System, Chat Application, Vending Machine, BookMyShow — popular machine coding problems hain jo frequently poochte jaate hain.

Problem-solving Approach

# Step 1: Requirements (5 min)
? Functional requirements kya hain?
? Non-functional requirements (scale, latency)?
? Edge cases kya ho sakte hain?

# Step 2: Design (10 min)
? Classes aur relationships banao
? Design patterns identify karo
? Interface design karo pehle

# Step 3: Coding (25 min)
? Clean, modular code likho
? Design patterns apply karo
? Error handling mat bhoolo

# Step 4: Testing (5 min)
? Basic test cases socho
? Edge cases handle karo
? Demo karo interviewer ko

# Golden Rules:
? Interface-first design karo
? Single Responsibility follow karo
? Error handling mat bhoolo
? Production-quality code likho
? Time management karo — don't overthink

Example: Parking Lot System

# Requirements:
1. Multiple floors, multiple vehicle types (bike, car, truck)
2. Parking spots type-wise allocated
3. Entry/exit points
4. Ticket generation with timestamp
5. Payment calculation

# Design:
from abc import ABC, abstractmethod
from enum import Enum
from datetime import datetime

class VehicleType(Enum):
 BIKE = 1
 CAR = 2
 TRUCK = 3

class Vehicle:
 def __init__(self, license_plate, vehicle_type):
 self.license_plate = license_plate
 self.vehicle_type = vehicle_type

class ParkingSpot:
 def __init__(self, spot_id, vehicle_type):
 self.spot_id = spot_id
 self.vehicle_type = vehicle_type
 self.is_occupied = False
 self.vehicle = None
 
 def park(self, vehicle):
 if self.is_occupied:
 return False
 self.vehicle = vehicle
 self.is_occupied = True
 return True
 
 def remove(self):
 self.vehicle = None
 self.is_occupied = False

class ParkingFloor:
 def __init__(self, floor_id):
 self.floor_id = floor_id
 self.spots = []
 
 def add_spot(self, spot):
 self.spots.append(spot)
 
 def find_spot(self, vehicle_type):
 for spot in self.spots:
 if (spot.vehicle_type == vehicle_type and 
 not spot.is_occupied):
 return spot
 return None

class ParkingLot:
 _instance = None
 
 @staticmethod
 def get_instance():
 if ParkingLot._instance is None:
 ParkingLot._instance = ParkingLot()
 return ParkingLot._instance
 
 def __init__(self):
 self.floors = []
 
 def add_floor(self, floor):
 self.floors.append(floor)
 
 def park_vehicle(self, vehicle):
 for floor in self.floors:
 spot = floor.find_spot(vehicle.vehicle_type)
 if spot:
 spot.park(vehicle)
 return Ticket(vehicle, spot, datetime.now())
 return None # Full parking lot

class Ticket:
 def __init__(self, vehicle, spot, entry_time):
 self.vehicle = vehicle
 self.spot = spot
 self.entry_time = entry_time
Key Insight: Parking Lot mein 3 design patterns use hue — Singleton (ParkingLot), Strategy (different payment methods), Factory (vehicle type ke hisaab se spot creation). Interview mein ye patterns highlight karo.

Common Patterns in Machine Coding

# 1. Factory Pattern
? Objects create karna without specifying class
? VehicleFactory.create("car") — Car object

# 2. Strategy Pattern
? Behavior dynamically change karna
? PaymentStrategy: CreditCard, UPI, Cash

# 3. Observer Pattern
? Event notification
? ParkingLot full — Notify all apps

# 4. Singleton Pattern
? Single instance
? ParkingLot, Database connection

# 5. State Pattern
? Object state ke hisaab se behavior change
? Elevator states: Idle, Moving, DoorOpen

# 6. Decorator Pattern
? Additional behavior add karna
? Vehicle — Vehicle with Insurance — Vehicle with GPS

# Code Quality Tips:
? Meaningful variable names
? Method length < 20 lines
? DRY (Don't Repeat Yourself)
? Error handling (try/except)
? Type hints (Python 3.5+)

Interview Tips

# Before Coding:
1. Clarify requirements — 2 min waste better than 20 min wrong
2. Draw high-level design — interviewer se discuss karo
3. Identify core classes — interface-first approach
4. Talk through your thought process

# During Coding:
1. Start with interface/class definition
2. One feature at time — incremental development
3. Handle errors gracefully
4. Test as you go — don't wait till end

# After Coding:
1. Walk through the code
2. Discuss scalability
3. Mention improvements
4. Handle edge cases verbally

# Common Problems:
- Parking Lot: Singleton, Strategy, Factory
- Elevator: State, Observer
- Chat System: Observer, Strategy
- Vending Machine: State, Strategy
- BookMyShow: Singleton, Strategy, Observer

Exercise

Question: Parking Lot system mein sirf ek instance exist kare — kaunsa pattern use hoga? (1 word)

Question: Machine coding round mein sabse pehle kya karna chahiye coding shuru karne se pehle? (1 word)

Common mistakes

Lesson complete?

Machine Coding samajh aa gaya? Congratulations! System Design course complete ho gaya. Ab interview ke liye ready ho tum!

Popular courses: Data Science Course in Lucknow · AI Course in Lucknow · Python Course in Lucknow · Power BI Course · Data Analytics Course