Tags
Language
Tags
July 2025
Su Mo Tu We Th Fr Sa
29 30 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 1 2
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Mastering The System Design Interview: Advanced Topics

    Posted By: ELK1nG
    Mastering The System Design Interview: Advanced Topics

    Mastering The System Design Interview: Advanced Topics
    Published 12/2024
    MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
    Language: English | Size: 5.26 GB | Duration: 22h 30m

    Master modern Android app architecture, privacy and security in mobile system design interviews at FAANG companies

    What you'll learn

    Solve advanced mobile system design problems

    Have a toolbox of advanced clarifying questions to ask during the interview

    Be able to discuss a wide variety of privacy and security-related topics including cryptography, authentication & authorization, local & network data protection

    Design apps with modern Android app architecture in mind

    Decide between different architectural styles, patterns and modularization strategies

    Requirements

    Some prior experience in mobile app development (preferably Android) is expected.

    Not strictly required, taking the foundational course "Mastering the Android System Design Interview" is a plus

    Description

    Take your mobile system design interview skills to the next level with this advanced course, building on the foundations laid in "Mastering the Android System Design Interview". If you’ve already mastered the basics, this course is your gateway to make you stand out in challenging and advanced system design topics — privacy, security, and modern Android app architecture — to ace your interviews at FAANG companies like Google, Apple, and beyond.Led by Stefan, a seasoned Tech Lead from a Google Developer Agency, this course is built with over a decade of hands-on experience designing and developing Android, iOS, and multiplatform apps. Having successfully navigated system design interviews himself, Stefan understands the challenges and will share his expertise, practical tips, and interview-tested strategies to set you apart.Mobile system design interviews are notoriously tough, with privacy and security being some of the least understood yet often critical areas. Additionally, modern Android app architecture requires a deep understanding of patterns, different architectural styles, and best practices to build scalable, maintainable apps. This course is specifically designed to address these gaps, giving you a competitive edge in your interviews. Despite the course being especially targeted at Android, many concepts are also applicable to iOS.Over 20 hours of on-demand video content will cover what you need to know for your mobile system design interview:Clean Code Principles: Apply DRY and SOLID principles to create codebases that are maintainable and easy to scale.Architecture Patterns: Master MVC, MVP, and MVVM, and learn how to choose the best approach for your app’s complexity and development team.Clean vs. Layered Architecture: Learn how Clean Architecture focuses on the independence of business logic from frameworks, while Layered Architecture emphasizes logical separation into data, domain, and UI layers.Android Architecture Components: Streamline your system design with ViewModel, LiveData, Flow, Room, DataStore, WorkManager, and other essential libraries.Seamless Navigation: Simplify complex app flows using the Android navigation component.Dependency Injection (DI): Leverage frameworks like Dagger, Hilt, Kodein, or Koin to make your code cleaner, more modular, and easier to test.Mastering Modularization: Break down complex codebases into feature-based and/or layer-based modules for better scalability based on the principles of component cohesion and component coupling.Android Privacy Fundamentals: Explore essential topics like permissions, location handling, data, transparency & control, app hibernation, and the Privacy Sandbox.Cryptography: Understand symmetric cryptography, asymmetric cryptography, and hashing. Learn when to use each technique effectively.Local Data Protection: Learn how to safeguard sensitive data stored on devices using encryption and secure storage solutions.Network Data Protection: Explore strategies for securing data in transit, including SSL/TLS, certificate pinning, certificate transparency, and Android's network security configuration.Authentication & Authorization: Implement secure user authentication based on standards like OAuth 2.0 and OpenID Connect, and session management.Practical tips & tricks: Get additional tips & tricks, and a toolbox of clarifying questions to ask to tackle system design questions related to app architecture, privacy, and security.Hands-On Learning: Practice solving architectural, and privacy & security challenges through 2 extensive mock interviews from requirements definition to high-level and detailed designs.

    Overview

    Section 1: Introduction

    Lecture 1 Introduction

    Lecture 2 Course Overview: Modern Android App Architecture

    Lecture 3 Course Overview: Privacy & Security

    Lecture 4 Download your slides

    Lecture 5 Course demo code on github

    Section 2: Clean Code: System Design Principles

    Lecture 6 Clean Code

    Lecture 7 Clean Code: Overview

    Lecture 8 Clean Code: Goals

    Lecture 9 KISS

    Lecture 10 YAGNI

    Lecture 11 DRY

    Lecture 12 SOLID

    Lecture 13 SOLID: Single Responsibility Principle

    Lecture 14 SOLID: Open/Closed Principle

    Lecture 15 SOLID: Liskov Substitution Principle

    Lecture 16 SOLID: Interface Segregation Principle

    Lecture 17 SOLID: Dependency Inversion Principle

    Lecture 18 Clean Code: Demo Code

    Lecture 19 DRY: Demo

    Lecture 20 Single Responsibility Principle: Demo

    Lecture 21 Open/Closed Principle: Demo

    Lecture 22 Liskov Substitution Principle: Demo

    Lecture 23 Interface Segregation Principle: Demo

    Lecture 24 Dependency Inversion Principle: Demo

    Section 3: Architectural Patterns

    Lecture 25 Architectural Patterns

    Lecture 26 Architectural Patterns: Overview

    Lecture 27 MVC: Model-View-Controller

    Lecture 28 MVC: Demo Code

    Lecture 29 MVC: Demo

    Lecture 30 MVP: Model-View-Presenter

    Lecture 31 MVP: Demo Code

    Lecture 32 MVP: Demo

    Lecture 33 MVVM: Model-View-ViewModel

    Lecture 34 MVVM: Demo Code

    Lecture 35 MVVM: Demo

    Lecture 36 Comparison: MVC vs. MVP vs. MVVP

    Section 4: Clean Architecture

    Lecture 37 Clean Architecture

    Lecture 38 Clean Architecture: Overview

    Lecture 39 Clean Architecture: Goals

    Lecture 40 Clean Architecture: Strategies

    Lecture 41 Clean Architecture: Components

    Lecture 42 Clean Architecture: Demo Code

    Lecture 43 Clean Architecture: Demo

    Section 5: Layered Architecture

    Lecture 44 Layered Architecture

    Lecture 45 Layered Architecture: Overview

    Lecture 46 Architectural Principles & Best Practices

    Lecture 47 Recommended App Architecture

    Lecture 48 Unidirectional Data Flow

    Lecture 49 Layered Architecture: UI Layer

    Lecture 50 UI State Production Pipeline

    Lecture 51 Exposing UI State

    Lecture 52 Consuming UI State

    Lecture 53 Layered Architecture: Data Layer

    Lecture 54 Repositories: Advanced Topics

    Lecture 55 Build Offline First

    Lecture 56 Layered Architecture: Domain Layer

    Lecture 57 Layered Architecture vs. Clean Architecture

    Lecture 58 Layered Architecture: Demo Code

    Lecture 59 Demo: Intro

    Lecture 60 Demo: Layered Architecture Outline

    Lecture 61 Demo: Layered Architecture Structure

    Lecture 62 Demo: UI & Domain Layer

    Lecture 63 Demo: Data Layer

    Lecture 64 Demo: Sum Up

    Section 6: Android Architecture Components

    Lecture 65 Android Architecture Components

    Lecture 66 Android Architecture Components: Overview

    Lecture 67 View Binding

    Lecture 68 Data Binding

    Lecture 69 Data Binding: Advanced Topics

    Lecture 70 Lifecycle-Aware Components: Lifecycle API

    Lecture 71 Lifecycle API: Demo Code

    Lecture 72 Demo: Lifecycle API

    Lecture 73 UI Layer Libraries: ViewModel

    Lecture 74 ViewModel: SavedStateHandle

    Lecture 75 Saving UI State

    Lecture 76 ViewModel: Best Practices

    Lecture 77 Demo: ViewModel

    Lecture 78 UI Layer Libraries: LiveData

    Lecture 79 LiveData vs. Kotlin Flows

    Lecture 80 UI Layer Libraries: Coroutines

    Lecture 81 Demo: Coroutines

    Lecture 82 Data Layer Libraries: SharedPreferences & Jetpack DataStore

    Lecture 83 Data Layer Libraries: Room

    Lecture 84 Data Layer Libraries: WorkManager

    Lecture 85 WorkManager: Advanced Topics

    Lecture 86 Demo: WorkManager

    Lecture 87 Multi-Layer Libraries: Paging Library

    Lecture 88 Paging Library: Demo Code

    Lecture 89 Demo: Paging Library

    Section 7: App Navigation

    Lecture 90 App Navigation

    Lecture 91 App Navigation: Overview

    Lecture 92 Principles of Navigation

    Lecture 93 Navigation Component

    Lecture 94 Navigation Controller

    Lecture 95 Destination Types

    Lecture 96 Back Stack

    Lecture 97 Navigation Graph: Overview

    Lecture 98 Navigation Graph: Nested Graphs

    Lecture 99 Navigation Graph: Deep Links

    Lecture 100 Navigation Graph: Type-Safe Navigation

    Lecture 101 Navigation Component: Integrations

    Lecture 102 Navigation: Demo Code

    Lecture 103 Demo: Navigation Component

    Section 8: Dependency Injection

    Lecture 104 Dependency Injection

    Lecture 105 Dependency Injection: Overview

    Lecture 106 Dependency Injection: Intro

    Lecture 107 Service Locator

    Lecture 108 Comparison of Frameworks

    Lecture 109 Comparison of Frameworks: Dagger

    Lecture 110 Comparison of Frameworks: Hilt

    Lecture 111 Comparison of Frameworks: Koin

    Lecture 112 Comparison of Frameworks: Kodein

    Lecture 113 Comparison of Frameworks: Sum Up

    Lecture 114 Dependency Injection: Demo Code

    Lecture 115 Demo: Hilt & Kodein

    Section 9: Modularization

    Lecture 116 Modularization

    Lecture 117 Modularization: Overview

    Lecture 118 Principles of Component Cohesion

    Lecture 119 Principles of Component Coupling

    Lecture 120 Multimodule Projects

    Lecture 121 Types of Modules

    Lecture 122 Modularization Strategies

    Lecture 123 Architecture by Layer: Demo Code

    Lecture 124 Modularization Demo: App Module

    Lecture 125 Demo: Architecture by Layer

    Lecture 126 Architecture by Feature: Demo Code

    Lecture 127 Demo: Architecture by Feature

    Section 10: Mid Course Wrap Up

    Lecture 128 Recap & Outlook

    Lecture 129 Privacy & Security: Overview

    Section 11: Permissions

    Lecture 130 Permissions

    Lecture 131 Permissions: Overview

    Lecture 132 Permissions Intro

    Lecture 133 Workflow

    Lecture 134 Demo: Permissions

    Lecture 135 Special Permissions

    Lecture 136 Permissions Best Practices

    Lecture 137 Request Minimization

    Lecture 138 Demo: Request Minimization

    Lecture 139 Prominent Disclosure & Consent

    Section 12: Location

    Lecture 140 Location

    Lecture 141 Location: Overview

    Lecture 142 Location Intro

    Lecture 143 Background Location

    Lecture 144 Location Permission Best Practices

    Lecture 145 Location Usage Minimization

    Lecture 146 Demo: Location

    Section 13: Data Privacy

    Lecture 147 Data

    Lecture 148 Data: Overview

    Lecture 149 Package Visibility

    Lecture 150 Package Visibility Use Cases

    Lecture 151 Scoped Storage

    Lecture 152 Unique Identifiers

    Lecture 153 Unique Identifiers Use Cases

    Section 14: Transparency & Control

    Lecture 154 Transparency & Control

    Lecture 155 Transparency & Control: Overview

    Lecture 156 Data Access Auditing

    Lecture 157 Demo: Data Access Auditing

    Lecture 158 Data Safety

    Lecture 159 Demo: Data Safety

    Lecture 160 Privacy UI Elements

    Lecture 161 Demo: Privacy UI Elements

    Section 15: App Hibernation

    Lecture 162 App Hibernation

    Section 16: Privacy Sandbox

    Lecture 163 Privacy Sandbox

    Lecture 164 Privacy Sandbox: Overview

    Lecture 165 SDK Runtime

    Lecture 166 Privacy-Preserving APIs

    Section 17: Android Security Concepts

    Lecture 167 Android Security Concepts

    Lecture 168 Android Security Concepts: Overview

    Lecture 169 Android Security Intro

    Lecture 170 Kernel Security: Linux Kernel

    Lecture 171 Kernel Security: App Sandbox

    Lecture 172 Kernel Security: SELinux

    Lecture 173 Kernel Security: Verified Boot

    Lecture 174 Kernel Security: Rooting

    Lecture 175 Kernel Security: User Security

    Lecture 176 Kernel Security: Additional Concepts

    Lecture 177 App Security: Permissions

    Lecture 178 App Security: IPC

    Lecture 179 App Security: Signing

    Lecture 180 App Security: Additional Concepts

    Section 18: Secure Storage

    Lecture 181 Secure Storage

    Lecture 182 Secure Storage: Overview

    Lecture 183 Trusty TEE

    Lecture 184 Secure Element

    Lecture 185 KeyStore

    Lecture 186 Secure Storage: Authentication

    Lecture 187 Secure Storage Applications

    Section 19: Symmetric Cryptography

    Lecture 188 Symmetric Cryptography

    Lecture 189 Symmetric Cryptography: Overview

    Lecture 190 Cryptography: Intro

    Lecture 191 Symmetric Cryptography

    Lecture 192 Modes of Operation

    Lecture 193 Modes of Operation: ECB

    Lecture 194 Modes of Operation: CBC

    Lecture 195 Modes of Operation: CFB

    Lecture 196 Modes of Operation: OFB

    Lecture 197 Modes of Operation: CTR

    Lecture 198 Data Encryption Standard (DES)

    Lecture 199 Data Encryption Standard: Walkthrough

    Lecture 200 Demo: Data Encryption Standard

    Lecture 201 Cracking Data Encryption Standard

    Lecture 202 Triple DES (3DES)

    Lecture 203 Demo: Triple DES

    Lecture 204 Advanced Encryption Standard (AES)

    Lecture 205 AES: Walkthrough

    Lecture 206 Demo: Advanced Encryption Standard

    Lecture 207 Cracking Advanced Encryption Standard

    Section 20: Asymmetric Cryptography

    Lecture 208 Asymmetric Cryptography

    Lecture 209 Asymmetric Cryptography: Overview

    Lecture 210 Asymmetric Cryptography Intro

    Lecture 211 Diffie-Hellman Key Exchange

    Lecture 212 Example: Diffie-Hellman Key Exchange

    Lecture 213 Demo: Diffie-Hellman Key Exchange

    Lecture 214 Cracking Diffie-Hellman Key Exchange

    Lecture 215 RSA

    Lecture 216 Example: RSA

    Lecture 217 Demo: RSA

    Lecture 218 Cracking RSA

    Lecture 219 Elliptic Curve Cryptography

    Lecture 220 Elliptic Curve Cryptography: Diffie-Hellman Algorithm

    Lecture 221 Elliptic Curve Cryptography: Digital Signature Algorithm

    Lecture 222 Demo: Elliptic Curve Cryptography

    Lecture 223 ECC vs. RSA

    Lecture 224 Cracking Elliptic Curve Cryptography

    Lecture 225 Android KeyStore System

    Lecture 226 Demo: Android KeyStore System

    Section 21: Hashing

    Lecture 227 Hashing

    Lecture 228 Hashing: Overview

    Lecture 229 Hashing: Intro

    Lecture 230 MD5

    Lecture 231 SHA-1

    Lecture 232 SHA-1 vs. SHA-2 vs. SHA-3

    Lecture 233 SHA-2 Adoptions

    Lecture 234 SHA-3

    Lecture 235 Demo: Hashing

    Lecture 236 HMAC

    Lecture 237 Demo: HMAC

    Section 22: Local Data Protection

    Lecture 238 Local Data Protection

    Lecture 239 Local Data Protection: Overview

    Lecture 240 Storage Types: File System Storage

    Lecture 241 Media Permissions: Android 13 & 14

    Lecture 242 Demo: Media Permissions

    Lecture 243 Storage Types: SharedPreferences & DataStore

    Lecture 244 Storage Types: SQL & NoSQL Databases

    Lecture 245 Jetpack Security: Intro

    Lecture 246 Jetpack Security: MasterKey

    Lecture 247 Modes of Operation: Galois Counter Mode

    Lecture 248 Demo: MasterKey

    Lecture 249 Jetpack Security: EncryptedFile

    Lecture 250 Demo: EncryptedFile

    Lecture 251 Jetpack Security: EncryptedSharedPreferences

    Lecture 252 AES256-SIV-CMAC

    Lecture 253 Demo: EncryptedSharedPreferences

    Lecture 254 Securing DataStore

    Lecture 255 SQL Databases: Passcode-based Encryption

    Lecture 256 NoSQL Databases: Security Considerations

    Section 23: Network Data Protection

    Lecture 257 Network Data Protection

    Lecture 258 Network Data Protection: Overview

    Lecture 259 Public Key Infrastructure

    Lecture 260 Transport Layer Security (TLS)

    Lecture 261 Certificate Pinning

    Lecture 262 Certificate Transparency

    Lecture 263 Demo: Certificate Transparency

    Lecture 264 Certificate Revocation

    Lecture 265 Network Security Config

    Lecture 266 Demo: Network Security Config

    Section 24: Authentication & Authorization

    Lecture 267 Authentication & Authorization

    Lecture 268 Authentication & Authorization: Overview

    Lecture 269 Authentication vs. Authorization

    Lecture 270 Biometric Authentication

    Lecture 271 Demo: Biometric Authentication

    Lecture 272 User Authentication: Authentication Methods

    Lecture 273 Credential Manager

    Lecture 274 WebAuthn

    Lecture 275 Demo: Credential Manager

    Lecture 276 OAuth 2.0

    Lecture 277 OAuth 2.0: Google OAuth 2.0 for Mobile

    Lecture 278 Demo: OAuth 2.0

    Lecture 279 Refresh Token

    Lecture 280 OpenID Connect

    Lecture 281 JSON Web Token (JWT)

    Lecture 282 ID Token

    Lecture 283 OpenID Connect: Google Identity Services

    Lecture 284 Single Sign-on (SSO)

    Lecture 285 APIs: Basic Authentication

    Lecture 286 APIs: API Keys

    Lecture 287 APIs: OAuth 2.0

    Lecture 288 APIs: JWT

    Section 25: Interview Strategies

    Lecture 289 Interview Strategies: Intro

    Lecture 290 Interview Process & Timing

    Lecture 291 Getting to Know, Question & Define Task

    Lecture 292 Ask Clarifying Questions: Context

    Lecture 293 Ask Clarifying Questions: Architectural Patterns

    Lecture 294 Ask Clarifying Questions: Clean Architecture

    Lecture 295 Ask Clarifying Questions: Layered Architecture

    Lecture 296 Ask Clarifying Questions: Android Architecture Components

    Lecture 297 Ask Clarifying Questions: Navigation

    Lecture 298 Ask Clarifying Questions: Modularization

    Lecture 299 Ask Clarifying Questions: Permissions

    Lecture 300 Ask Clarifying Questions: Location

    Lecture 301 Ask Clarifying Questions: Data

    Lecture 302 Ask Clarifying Questions: Transparency & Control

    Lecture 303 Ask Clarifying Questions: Privacy - Additional Topics

    Lecture 304 Ask Clarifying Questions: Android Security Concepts

    Lecture 305 Ask Clarifying Questions: Secure Storage

    Lecture 306 Ask Clarifying Questions: Cryptography

    Lecture 307 Ask Clarifying Questions: Local Data Protection

    Lecture 308 Ask Clarifying Questions: Network Data Protection

    Lecture 309 Ask Clarifying Questions: Authentication & Authorization

    Section 26: Mock Interviews

    Lecture 310 Mock Interviews: Intro

    Lecture 311 Social Media App: Q&A

    Lecture 312 Social Media App: Requirements

    Lecture 313 Social Media App: Try it Yourself

    Lecture 314 Social Media App: High Level Design

    Lecture 315 Social Media App: News Feed Module

    Lecture 316 Social Media App: Android Architecture Components

    Lecture 317 Social Media App: Recap

    Lecture 318 Banking App: Q&A

    Lecture 319 Banking App: Requirements

    Lecture 320 Banking App: Try it Yourself

    Lecture 321 Banking App: High Level Design

    Lecture 322 Banking App: Network Data Protection

    Lecture 323 Banking App: Authentication & Authorization

    Lecture 324 Banking App: Recap

    Section 27: Google I/O 2023: Additions

    Lecture 325 Google I/O 2023: Privacy & Security Updates

    Section 28: Google I/O 2024 Additions

    Lecture 326 Google I/O 2024

    Lecture 327 Google I/O 2024 Additions: Overview

    Lecture 328 Google I/O 2024: Privacy Sandbox

    Lecture 329 Checks

    Lecture 330 What's new in Android Security?

    Lecture 331 What's new in Credential Manager?

    Section 29: Recap

    Lecture 332 Course Recap

    Android or iOS app developers preparing for interviews at top tech companies,Developers that want to learn about mobile privacy and security concepts, and modern Android app architecture