โ† All topics

๐Ÿ“ฑ Interview Prep

React Native

Components and styling, the new architecture, hooks, list performance, navigation, native modules, storage, animations, testing and shipping to the app stores.

๐Ÿ“˜ Learn it from scratch

Visual, hands-on lessons for every pattern in this topic. Do the lesson, then come back and the questions click.

100 questions, most asked first

Ranked by how often each question comes up in real interviews. #1 is the most common.

#6How does navigation work in React Native?NavigationMediumFree#7Avoiding unnecessary re-rendersState & hooksMediumFree#9Storing data on the deviceNetworking & storageMediumFree#10What is Hermes?ArchitectureMediumFreeUnlock 51 more React Native questions ยท all 1,200 questions for $39/year (about 11ยข a day)See full access#11The threads of a React Native appArchitectureMedium๐Ÿ”’#12Animated vs ReanimatedAnimations & gesturesMedium๐Ÿ”’#13useEffect cleanup and subscriptionsState & hooksMedium๐Ÿ”’#14Images in React Native appsLists & performanceMedium๐Ÿ”’#16Handling flaky networks and offline modeNetworking & storageMedium๐Ÿ”’#17How push notifications workNative modules & platformMedium๐Ÿ”’#18Over-the-air (OTA) updatesBuild & releaseMedium๐Ÿ”’#25Choosing a state management approachState & hooksMedium๐Ÿ”’#26useMemo and useCallbackState & hooksMedium๐Ÿ”’#29Deep links and universal linksNavigationMedium๐Ÿ”’#32Writing custom hooksState & hooksMedium๐Ÿ”’#33useReducer vs useStateState & hooksMedium๐Ÿ”’#35Passing params between screens (and typing them)NavigationMedium๐Ÿ”’#36Building a login flowNavigationMedium๐Ÿ”’#37Storing tokens and secrets securelySecurityMedium๐Ÿ”’#39Supporting phones, tablets and rotationFundamentalsMedium๐Ÿ”’#40Accessibility in React NativeFundamentalsMedium๐Ÿ”’#42Improving app start-up timeLists & performanceMedium๐Ÿ”’#43Memory leaks in React NativeLists & performanceMedium๐Ÿ”’#44Reducing app and bundle sizeBuild & releaseMedium๐Ÿ”’#46Infinite scroll and pull-to-refreshLists & performanceMedium๐Ÿ”’#48Gestures with React Native Gesture HandlerAnimations & gesturesMedium๐Ÿ”’#49Animating items appearing and disappearingAnimations & gesturesMedium๐Ÿ”’#50Unit and component testingTesting & debuggingMedium๐Ÿ”’#51End-to-end testing with Detox or MaestroTesting & debuggingMedium๐Ÿ”’#52Mocking native modules in JestTesting & debuggingMedium๐Ÿ”’#53Error boundaries and crash reportingTesting & debuggingMedium๐Ÿ”’#55Environments and configurationBuild & releaseMedium๐Ÿ”’#56Releasing to the App Store and Google PlayBuild & releaseMedium๐Ÿ”’#58CI/CD for a React Native appBuild & releaseMedium๐Ÿ”’#59Upgrading React Native versionsBuild & releaseMedium๐Ÿ”’#63Real-time updates with WebSocketsNetworking & storageMedium๐Ÿ”’#64Server-state caching with TanStack QueryNetworking & storageMedium๐Ÿ”’#65AsyncStorage vs MMKV vs SQLiteNetworking & storageMedium๐Ÿ”’#66Uploading photos and filesNetworking & storageMedium๐Ÿ”’#69Getting the user's locationNative modules & platformMedium๐Ÿ”’#70Face ID, Touch ID and fingerprint loginSecurityMedium๐Ÿ”’#72Translations, RTL and localizationFundamentalsMedium๐Ÿ”’#76Tabs, stacks and nested navigatorsNavigationMedium๐Ÿ”’#78File-based routing with Expo RouterNavigationMedium๐Ÿ”’#79Sharing code between mobile and webArchitectureMedium๐Ÿ”’#82Stale closures in callbacks and intervalsState & hooksMedium๐Ÿ”’#83State updates are batchedState & hooksMedium๐Ÿ”’#84Search-as-you-type without race conditionsNetworking & storageMedium๐Ÿ”’#85Optimistic updatesNetworking & storageMedium๐Ÿ”’#86Feature flags, analytics and A/B testsBuild & releaseMedium๐Ÿ”’#89Building a reusable component libraryFundamentalsMedium๐Ÿ”’#94ANRs and native crashesTesting & debuggingMedium๐Ÿ”’#98Structuring a large React Native codebaseFundamentalsMedium๐Ÿ”’#99Avoiding App Store and Play Store rejectionsBuild & releaseMedium๐Ÿ”’#100What do you look for when reviewing a React Native PR?FundamentalsMedium๐Ÿ”’