React Native

Authentication & Session Management

OAuth2/OIDC, PKCE, refresh tokens, secure session storage, webviews vs in-app browser, biometric auth

22 คำถามสัมภาษณ์·
Mid-Level
1

What is OAuth2 in the context of mobile authentication?

คำตอบ

OAuth2 is an industry-standard authorization protocol that allows mobile applications to access user resources without exposing their credentials. It works by delegating authentication to an authorization server that issues access tokens. Unlike direct authentication where the application handles passwords, OAuth2 allows users to authenticate through a third-party provider (Google, Apple, etc.) securely.

2

What is the main difference between OAuth2 and OpenID Connect (OIDC)?

คำตอบ

OAuth2 is an authorization protocol that allows obtaining access to resources, while OIDC is an identity layer built on top of OAuth2 that adds authentication. OIDC introduces the ID token which contains information about user identity (claims) in JWT format, allowing the application to know who the user is, not just that they have access to certain resources.

3

What is PKCE (Proof Key for Code Exchange) and why is it essential for mobile applications?

คำตอบ

PKCE is an OAuth2 security extension that protects against authorization code interception attacks. It works by generating a random code_verifier on the client side, from which a code_challenge is derived and sent during the authorization request. When exchanging the code for a token, the original code_verifier is sent and verified by the server. This is crucial for mobile apps because they cannot keep a client_secret confidential.

4

Which OAuth2 flow is recommended for React Native mobile applications?

5

What is the difference between an access token and a refresh token?

+19 คำถามสัมภาษณ์

หัวข้อสัมภาษณ์ React Native อื่นๆ

JavaScript Essentials

Junior
25 คำถาม

React Fundamentals

Junior
20 คำถาม

React Native Basics

Junior
22 คำถาม

React Hooks

Junior
20 คำถาม

TypeScript for React & React Native

Junior
22 คำถาม

React Native Components & API

Junior
20 คำถาม

React Native Styling & Layout

Junior
18 คำถาม

React Native Navigation

Mid-Level
22 คำถาม

React Native State Management

Mid-Level
24 คำถาม

React Native Networking & API

Mid-Level
20 คำถาม

Data Persistence

Mid-Level
20 คำถาม

Forms & Validation

Mid-Level
18 คำถาม

React Native Animations

Mid-Level
22 คำถาม

Native Modules & Bridge

Mid-Level
20 คำถาม

Platform-Specific Code

Mid-Level
18 คำถาม

Permissions & Device APIs

Mid-Level
20 คำถาม

Push Notifications

Mid-Level
18 คำถาม

React Native Testing

Mid-Level
20 คำถาม

React Native Debugging

Mid-Level
18 คำถาม

Build & Deployment

Mid-Level
20 คำถาม

Expo vs React Native Bare

Mid-Level
18 คำถาม

Performance Optimization

Senior
24 คำถาม

Memory Management

Senior
20 คำถาม

Architecture Patterns

Senior
22 คำถาม

React Native New Architecture

Senior
24 คำถาม

Security Best Practices

Senior
20 คำถาม

Offline-First Architecture

Senior
20 คำถาม

React Native CI/CD

Senior
20 คำถาม

Monorepo & Code Sharing

Senior
18 คำถาม

Advanced Topics

Senior
22 คำถาม

App Lifecycle & Background Execution

Mid-Level
20 คำถาม

Monitoring & Crash Reporting

Senior
20 คำถาม

เชี่ยวชาญ React Native สำหรับการสัมภาษณ์ครั้งถัดไป

เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์

เริ่มใช้ฟรี