Course curriculum

  1. 01
    • Intro

  2. 02
    • networking_intro

    • HTTP Evolution - HTTP 0.9 & HTTP 1.0

    • HTTP Evolution - HTTP 1.1

    • HTTP Evolution - HTTP 2.0

    • HTTP Evolution - HTTP 3.0 & QUIC

    • client server communication

    • HTTP Short Polling & Long Polling

    • HTTP Streaming

    • Web Sockets

    • Server-Sent Events

    • REST

    • GRPC

    • GraphQL

    • Push Notifications – Firebase Cloud Messaging

    • Pagination

    • Further Topics

  3. 03
    • storage_intro

    • filesystem Storage

    • Shared Preference & DataStore

    • 19_databases

    • Storing Large Objects (LOBs)

    • Secure Storage: Android KeyStore

    • Choosing the Right Storage Type

  4. 04
    • Build For Billions- Introduction

    • connectivity - Networking

    • Connectivity - Image Optimization

    • Connectivity - Offline Capability

    • Data Cost

    • Device Ranges

    • Battery Consumption

    • Doze Mode & App Standby

    • Scalable UI

    • App Startup

    • Memory

  5. 05
    • Interview Strategies

    • 35_timing

    • Getting to Know, Question & Define Task

    • Ask Clarifying Questions

    • Gather Requirements

    • High Level Design

    • Detailed Design

    • Questions to the Interviewer

    • Final Advice

  6. 06
    • Mock Interview

    • Chat Application: Q&A

    • Chat Application: Requirements

    • Chat Application: Try it Yourself

    • Chat Application: High Level Design

    • Chat Application: Networking Design

    • Chat Application: Storage Design

    • Chat Application: Sum Up

    • Push Notification System: Q&A

    • Push Notification System: Requirements

    • Push Notification System: Try it Yourself

    • Push Notification System: High Level Design

    • Push Notification System: Subscriptions

    • Push Notification System: Push Notifications & Dispatcher

    • Push Notification System: Heartbeats & Network Failures

    • Push Notification System: Sum Up

  7. 07
    • Lessons Learnt & Lookout