# Optimasi Performa (React Native) > Optimasi FlatList, memo, useMemo/useCallback, Hermes, profiling, ukuran bundle - 24 pertanyaan wawancara - Senior - [Pertanyaan Wawancara: React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara.md) ## 1. Apa peran utama React.memo dalam optimasi performa React Native? **Jawaban** React.memo adalah Higher-Order Component yang me-memoize hasil render dari sebuah komponen fungsional. Ia mencegah re-render yang tidak perlu dengan membandingkan props saat ini dengan props sebelumnya (shallow comparison secara default). Jika props tidak berubah, React menggunakan kembali hasil yang sudah di-memoize alih-alih me-render ulang komponen, yang secara signifikan meningkatkan performa pada list atau pohon komponen yang kompleks. ## 2. Properti FlatList mana yang secara signifikan mengoptimalkan scroll dengan menyediakan dimensi item di awal? **Jawaban** getItemLayout adalah properti opsional FlatList yang memungkinkan menghitung terlebih dahulu tinggi, lebar, dan offset setiap elemen. Hal ini mencegah React Native mengukur setiap item secara dinamis, sehingga secara signifikan meningkatkan performa scroll, terutama saat melompat ke indeks tertentu dengan scrollToIndex. Optimasi ini sangat berguna ketika semua item memiliki ukuran yang sama. ## 3. Apa perbedaan utama antara useMemo dan useCallback dalam hal optimasi? **Jawaban** useMemo me-memoize hasil dari perhitungan yang mahal dan mengembalikan nilai terkomputasi tersebut, sedangkan useCallback me-memoize fungsi itu sendiri dan mengembalikan fungsi tersebut. useMemo berguna untuk menghindari perhitungan ulang yang berat pada setiap render, sementara useCallback penting untuk menghindari pembuatan ulang fungsi yang diteruskan sebagai props ke komponen anak yang sudah dimemoize, yang akan merusak optimasi React.memo mereka. ## 21 pertanyaan lagi tersedia - Apa itu Hermes dan apa keuntungan utamanya untuk aplikasi React Native? - Mengapa penting menyediakan fungsi keyExtractor yang stabil ke FlatList? Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara React Native lainnya - [Dasar-Dasar JavaScript](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/javascript-essentials.md): 25 pertanyaan, Junior - [Dasar-Dasar React](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/react-fundamentals.md): 20 pertanyaan, Junior - [Dasar-Dasar React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/react-native-basics.md): 22 pertanyaan, Junior - [React Hooks](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/react-hooks.md): 20 pertanyaan, Junior - [TypeScript untuk React & React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/typescript-for-react-native.md): 22 pertanyaan, Junior - [Komponen & API React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-components-api.md): 20 pertanyaan, Junior - [Styling & Layout React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-styling-layout.md): 18 pertanyaan, Junior - [Navigasi React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-navigation.md): 22 pertanyaan, Mid-Level - [Manajemen State React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-state-management.md): 24 pertanyaan, Mid-Level - [Networking & API React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-networking-api.md): 20 pertanyaan, Mid-Level - [Persistensi Data](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-data-persistence.md): 20 pertanyaan, Mid-Level - [Formulir & Validasi](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-forms-validation.md): 18 pertanyaan, Mid-Level - [Animasi React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-animations.md): 22 pertanyaan, Mid-Level - [Native Modules & Bridge](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-native-modules.md): 20 pertanyaan, Mid-Level - [Kode Spesifik Platform](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-platform-specific-code.md): 18 pertanyaan, Mid-Level - [Izin & API Perangkat](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-permissions-apis.md): 20 pertanyaan, Mid-Level - [Push Notifications](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-push-notifications.md): 18 pertanyaan, Mid-Level - [Testing React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-testing.md): 20 pertanyaan, Mid-Level - [Debugging React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-debugging.md): 18 pertanyaan, Mid-Level - [Build & Deployment](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-build-deployment.md): 20 pertanyaan, Mid-Level - [Expo vs React Native Bare](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/expo-vs-bare-rn.md): 18 pertanyaan, Mid-Level - [Manajemen Memori](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-memory-management.md): 20 pertanyaan, Senior - [Architecture Patterns](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-architecture-patterns.md): 22 pertanyaan, Senior - [New Architecture React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-new-architecture.md): 24 pertanyaan, Senior - [Praktik Terbaik Keamanan](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-security-best-practices.md): 20 pertanyaan, Senior - [Offline-First Architecture](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-offline-first.md): 20 pertanyaan, Senior - [CI/CD React Native](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-ci-cd.md): 20 pertanyaan, Senior - [Monorepo & Berbagi Kode](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-monorepo-architecture.md): 18 pertanyaan, Senior - [Topik Lanjutan](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-advanced-topics.md): 22 pertanyaan, Senior - [Siklus Hidup Aplikasi & Eksekusi Background](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-app-lifecycle-background.md): 20 pertanyaan, Mid-Level - [Autentikasi & Manajemen Sesi](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-auth-session-management.md): 22 pertanyaan, Mid-Level - [Monitoring & Crash Reporting](https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-monitoring-crash-reporting.md): 20 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/react-native/pertanyaan-wawancara/rn-performance-optimization