React Native

Monorepo และการแชร์โค้ด

Yarn workspaces, nx, shared packages, React Native Web, กลยุทธ์การนำโค้ดกลับมาใช้ใหม่

18 คำถามสัมภาษณ์·
Senior
1

Monorepo คืออะไรในบริบทของการพัฒนา React Native?

คำตอบ

Monorepo คือสถาปัตยกรรมที่จัดเก็บหลายโปรเจกต์หรือหลาย package ไว้ในที่เก็บ Git เดียว ในบริบทของ React Native สิ่งนี้ช่วยให้แชร์โค้ดระหว่างแอปมือถือ แอปเว็บ (React Native Web) และ package เครื่องมือต่าง ๆ ได้ ประโยชน์รวมถึงการจัดการ dependency แบบรวมศูนย์ การ refactoring แบบ atomic และความสอดคล้องของโค้ดข้ามแพลตฟอร์ม

2

บทบาทหลักของ Yarn workspaces ใน monorepo ของ React Native คืออะไร?

คำตอบ

Yarn workspaces ช่วยให้จัดการหลาย package ในที่เก็บเดียวด้วย node_modules ที่ถูก hoist ไว้ที่ root เพียงตัวเดียว สิ่งนี้ช่วยลดการซ้ำซ้อนของ dependency เปิดให้มีการทำ symlink อัตโนมัติระหว่าง package ภายใน และอำนวยความสะดวกแก่สคริปต์ระดับ global ใน monorepo ของ React Native สิ่งนี้ช่วยให้เชื่อม package ที่ใช้ร่วมกันเข้ากับทั้งแอปมือถือและแอปเว็บได้โดยอัตโนมัติ

3

จะกำหนดค่า monorepo พื้นฐานด้วย Yarn workspaces สำหรับ React Native ได้อย่างไร?

คำตอบ

การกำหนดค่าพื้นฐานต้องมี package.json ที่ root พร้อมฟิลด์ workspaces ที่กำหนดรูปแบบของ package โดยทั่วไปจะใช้ packages/* หรือ apps/* สำหรับแอปพลิเคชัน และ packages/* สำหรับไลบรารีที่ใช้ร่วมกัน ฟิลด์ private ต้องตั้งค่าเป็น true เพื่อป้องกันการเผยแพร่ package root โดยไม่ตั้งใจ Metro bundler ก็ต้องมีการกำหนดค่าเพื่อแก้ไข symlink อย่างถูกต้องด้วย

4

การ hoist dependency อาจก่อให้เกิดปัญหาอะไรใน monorepo ของ React Native?

5

Nx คืออะไรและมีข้อได้เปรียบหลักอะไรเมื่อเทียบกับการใช้ Yarn workspaces เพียงอย่างเดียว?

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

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

พื้นฐาน JavaScript

Junior
25 คำถาม

พื้นฐาน React

Junior
20 คำถาม

พื้นฐาน React Native

Junior
22 คำถาม

React Hooks

Junior
20 คำถาม

TypeScript สำหรับ React และ React Native

Junior
22 คำถาม

คอมโพเนนต์และ API ของ React Native

Junior
20 คำถาม

การจัดสไตล์และเลย์เอาต์ใน React Native

Junior
18 คำถาม

การนำทางใน React Native

Mid-Level
22 คำถาม

การจัดการ State ใน React Native

Mid-Level
24 คำถาม

Networking และ API ใน React Native

Mid-Level
20 คำถาม

การคงอยู่ของข้อมูล

Mid-Level
20 คำถาม

ฟอร์มและการตรวจสอบความถูกต้อง

Mid-Level
18 คำถาม

แอนิเมชัน React Native

Mid-Level
22 คำถาม

Native Modules & Bridge

Mid-Level
20 คำถาม

โค้ดเฉพาะแพลตฟอร์ม

Mid-Level
18 คำถาม

สิทธิ์และ Device API

Mid-Level
20 คำถาม

Push Notifications

Mid-Level
18 คำถาม

การทดสอบ React Native

Mid-Level
20 คำถาม

การ Debug React Native

Mid-Level
18 คำถาม

Build & Deployment

Mid-Level
20 คำถาม

Expo vs React Native Bare

Mid-Level
18 คำถาม

การเพิ่มประสิทธิภาพ

Senior
24 คำถาม

การจัดการหน่วยความจำ

Senior
20 คำถาม

Architecture Patterns

Senior
22 คำถาม

React Native New Architecture

Senior
24 คำถาม

แนวทางปฏิบัติที่ดีที่สุดด้านความปลอดภัย

Senior
20 คำถาม

Offline-First Architecture

Senior
20 คำถาม

CI/CD React Native

Senior
20 คำถาม

หัวข้อขั้นสูง

Senior
22 คำถาม

วงจรชีวิตแอปและการทำงานเบื้องหลัง

Mid-Level
20 คำถาม

การยืนยันตัวตนและการจัดการเซสชัน

Mid-Level
22 คำถาม

Monitoring & Crash Reporting

Senior
20 คำถาม

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

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

เริ่มใช้ฟรี