Preparation Strategy for Low Level Design (LLD) and Machine Coding

Jul 11, 2024

Preparation Strategy for Low Level Design (LLD) and Machine Coding

Introduction

  • Presenter: Riddhi Datta
  • Purpose: Share preparation strategy for low-level design and machine coding to crack startups and top product-based companies.
  • Audience: Freshers, SD2, and above.

Preliminary Advice

  • Disclaimer: Not an expert, still learning.
  • Useful for: Both freshers and experienced software developers.

Key Concepts to Learn

Object-Oriented Principles (OOP)

  • Essential for understanding low-level design.

Clean Coding

  • Important for working in any company.
  • Recommended book: Clean Code by Robert C. Martin.
  • Learn solid patterns to improve code quality.

Design Patterns

  • Singleton Design Pattern: Know especially for multi-threading if SD2 or above.
  • Builder Pattern: Frequently asked in interviews.
  • Factory and Abstract Factory: Essential patterns to understand.
  • Adapter Pattern and Decorator Pattern: Important to know.
  • Observer Pattern: Suggested to learn thoroughly.

Recommended Resources

  • Head First Design Patterns book.
  • YouTube channels: Sudoko, Gaurav Sen, various English and Hindi coding channels.
  • UML diagrams: Learn basics, helpful in LLD interviews.

Types of Interviews

Classical LLD Interview

  • Clarify requirements: Take 5-10 minutes.
  • List down classes, entities, methods, and their interactions.
  • Implement some methods or behaviors.

Machine Coding Round

  • Implement code from scratch with passing test cases.
  • Typically for startups and smaller companies.

Important Topics for LLD Interviews

  • Parking Lot: Basic and common question.
  • Snakes and Ladders: Prepare basic version; variations may be asked.
  • Other Games: Chess, Ludo, Tic-Tac-Toe.
  • BookMyShow: Prepare as both LLD and HLD question.
  • ATM System: Commonly asked.
  • Elevator System: Frequently asked, also in machine coding rounds.
  • Vending Machine: Already covered in presenter's LLD playlist.
  • Hotel Management System: Popular question.
  • Carpooling/Rental: Uber, Ola, Zoomcar like systems.
  • Miscellaneous: Typeahead, File system, Cricbuzz, Social media platforms like LinkedIn, Jira.

Machine Coding Specific Topics

  • Splitwise: Frequently asked in tech companies.
  • Rate Limiter: Important for companies like Atlassian.
  • Advanced Topics: Messaging Queue, Distributed Cache. Typically for experienced developers (4+ years).
  • Online Auction System: Often designed using Observer Design Pattern.

Preparation Tips

  • Gather multiple resources: Books, YouTube videos, Medium articles.
  • Understand there is no one correct solution: Be prepared to defend your design in an interview.
  • Continuous learning and practice are key.

Final Recommendations

  • Stay updated with new videos on the presenter's channel for continuous learning.
  • Participate in coding contests like Code Rush X for practice.
  • Self-study multiple resources and refine your design knowledge.