React Native

Tối ưu hóa hiệu suất

Tối ưu hóa FlatList, memo, useMemo/useCallback, Hermes, profiling, kích thước bundle

24 câu hỏi phỏng vấn·
Senior
1

Vai trò chính của React.memo trong tối ưu hóa hiệu suất React Native là gì?

Câu trả lời

React.memo là một Higher-Order Component giúp ghi nhớ (memoize) kết quả render của một functional component. Nó ngăn các lần re-render không cần thiết bằng cách so sánh props hiện tại với props trước đó (mặc định là shallow comparison). Nếu props không thay đổi, React sẽ tái sử dụng kết quả đã được ghi nhớ thay vì render lại component, giúp cải thiện đáng kể hiệu suất trong các danh sách hoặc cây component phức tạp.

2

Thuộc tính nào của FlatList tối ưu hóa đáng kể việc cuộn bằng cách cung cấp kích thước item trước?

Câu trả lời

getItemLayout là một thuộc tính tùy chọn của FlatList cho phép tính trước chiều cao, chiều rộng và offset của mỗi phần tử. Điều này giúp React Native không phải đo từng item một cách động, cải thiện đáng kể hiệu suất cuộn, đặc biệt khi nhảy đến một index cụ thể bằng scrollToIndex. Tối ưu hóa này đặc biệt hữu ích khi tất cả các item có cùng kích thước.

3

Sự khác biệt chính giữa useMemo và useCallback xét về mặt tối ưu hóa là gì?

Câu trả lời

useMemo ghi nhớ kết quả của một phép tính tốn kém và trả về giá trị đã tính đó, trong khi useCallback ghi nhớ chính một hàm và trả về hàm đó. useMemo hữu ích để tránh các phép tính lại nặng nề trên mỗi lần render, còn useCallback rất cần thiết để tránh tạo lại các hàm được truyền dưới dạng props cho các component con đã được ghi nhớ, điều này sẽ phá vỡ tối ưu hóa React.memo của chúng.

4

Hermes là gì và lợi thế chính của nó đối với các ứng dụng React Native là gì?

5

Tại sao việc cung cấp một hàm keyExtractor ổn định cho FlatList lại quan trọng?

+21 câu hỏi phỏng vấn

Các chủ đề phỏng vấn React Native khác

Kiến thức cơ bản về JavaScript

Junior
25 câu hỏi

Kiến thức cơ bản về React

Junior
20 câu hỏi

Kiến thức cơ bản về React Native

Junior
22 câu hỏi

React Hooks

Junior
20 câu hỏi

TypeScript cho React & React Native

Junior
22 câu hỏi

Thành phần & API React Native

Junior
20 câu hỏi

Styling & Layout trong React Native

Junior
18 câu hỏi

Điều hướng React Native

Mid-Level
22 câu hỏi

Quản lý State trong React Native

Mid-Level
24 câu hỏi

Networking & API trong React Native

Mid-Level
20 câu hỏi

Lưu trữ dữ liệu bền vững

Mid-Level
20 câu hỏi

Form & Validation

Mid-Level
18 câu hỏi

Animation trong React Native

Mid-Level
22 câu hỏi

Native Modules & Bridge

Mid-Level
20 câu hỏi

Mã đặc thù theo nền tảng

Mid-Level
18 câu hỏi

Quyền & Device API

Mid-Level
20 câu hỏi

Push Notifications

Mid-Level
18 câu hỏi

Testing React Native

Mid-Level
20 câu hỏi

Debugging React Native

Mid-Level
18 câu hỏi

Build & Deployment

Mid-Level
20 câu hỏi

Expo vs React Native Bare

Mid-Level
18 câu hỏi

Quản lý bộ nhớ

Senior
20 câu hỏi

Architecture Patterns

Senior
22 câu hỏi

New Architecture của React Native

Senior
24 câu hỏi

Các Phương Pháp Bảo Mật Tốt Nhất

Senior
20 câu hỏi

Offline-First Architecture

Senior
20 câu hỏi

CI/CD React Native

Senior
20 câu hỏi

Monorepo & Chia sẻ mã

Senior
18 câu hỏi

Chủ đề nâng cao

Senior
22 câu hỏi

Vòng đời ứng dụng & Thực thi nền

Mid-Level
20 câu hỏi

Xác thực & Quản lý phiên

Mid-Level
22 câu hỏi

Monitoring & Crash Reporting

Senior
20 câu hỏi

Nắm vững React Native cho lần phỏng vấn tiếp theo

Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.

Bắt đầu miễn phí