Mastering the Android System Design Interview



Tips on how to master your mobile system design interview at FAANG companies – plus 2 extensive mock interviews!

What you will learn

Practice solving real-world mobile system design interview questions

Understand the mobile system design interview process

Get to know useful tips and tricks during the interview

Understand how to design apps for billions of users

Be able to discuss a wide variety of topics including networking, storage, mobile system resources, and much more

Description

Prepare for and master your mobile system design interview at one of the big FAANG companies, whether it be Google or Apple. Get a detailed walkthrough of several important topics asked in these interviews, and tips and tricks from a Tech Lead of a Google Developer Agency. Stefan started developing Android apps – almost from Android’s birth – in 2011, and since then had to design and develop a handful of Android apps. During that time he also walked through system design interviews at FAANG companies by himself and therefore wants to share his experience in this course.

Mobile technical interviews at big tech companies are quite challenging and the mobile system design part is often the most unclear and demanding part. Many learning resources on the Internet cover backend system design, but there are very limited resources available for mobile system design. This course brings light to mobile system design interviews and gets you prepared for landing your dream job at one of the big tech companies. Despite the course being especially targeted at Android, most concepts are also applicable to iOS.


About 6 hours of on-demand video content will cover what you need to know for your mobile system design interview:

  • Discussion of most important networking concepts, background work, and failure handling
  • Choosing the right networking protocol/technology among polling, web sockets, server-sent events, REST, gRPC, GraphQL, REST, Push Notifications, and more for the given use case
  • Learn about different pagination techniques for large amounts of data
  • Overview of storage types including the file system, preferences, SQL and NoSQL databases, and secure storage, and learn when to use which
  • Learn how to scale your app and backend for billions of users by taking into account concepts of connectivity, data cost, device ranges, battery consumption, responsive UI, app startup time, and memory footprints
  • Techniques on how to build an offline-capable app
  • Get advice on the process and timing of mobile system design interviews
  • Interview strategies for structuring your system design interview
  • Two extensive mock interviews with real-world mobile system design interview questions, from requirements definition to high-level and detailed design
English
language

Content

Introduction

Introduction
Download your slides

Networking

Networking – Introduction
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 Methods
HTTP Short Polling & Long Polling
HTTP Streaming
Web Sockets
Server-Sent Events
REST
GRPC
GraphQL
Push Notifications – Firebase Cloud Messaging
Pagination
Further Topics
Quiz: Networking

Storage

Storage: Intro
File System Storage
Shared Preferences & DataStore
Databases – SQL vs. NoSQL
Storing Large Objects (LOBs)
Secure Storage: Android KeyStore
Choosing the Right Storage Type
Quiz: Storage

Build for Billions

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
Quiz: Build for Billions

Interview Strategies

Interview Strategies – Introduction
Interview Process & Timing
Getting to Know, Question & Define Task
Ask Clarifying Questions
Gather Requirements
High Level Design
Detailed Design
Questions to the Interviewer
Final Advice

Mock Interviews

Mock Interviews – Introduction
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

Final Notes

Lessons Learnt & Lookout

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
100% Free SEO Tools - Tool Kits PRO

Check Today's 30+ Free Courses on Telegram!

X