راهنمای مصاحبه React Native

بیشتر وبلاگ‌های مربوط به مصاحبه بر روی تعاریف تمرکز می‌کنند. آن‌ها می‌پرسند «کامپوننت چیست؟» و شما یک پاسخ کتابی می‌دهید. همان پاسخ باعث رد شدن شما می‌شود.

مصاحبه‌های واقعی از سناریوها استفاده می‌کنند. مصاحبه‌کننده اپلیکیشنی را توصیف می‌کند که فریم‌ها را از دست می‌دهد (drops frames)، لیستی که بیش از حد دوباره رندر می‌شود (re-renders)، یا صفحه‌ای که فریز می‌شود. آن‌ها می‌خواهند ببینند شما چگونه فکر می‌کنید. آن‌ها می‌خواهند بدانند آیا دلیل کارکرد چیزها را درک می‌کنید یا فقط نام ابزارها را می‌دانید.

من این راهنما را بر اساس موقعیت‌های واقعی نوشته‌ام. این‌ها دقیقاً همان سوالاتی هستند که در استارتاپ‌ها و شرکت‌های بزرگ محصول‌محور پرسیده می‌شوند. هر پاسخ از ساده شروع شده و به اندازه‌ای عمیق می‌شود که یک مهندس ارشد را تحت تأثیر قرار دهد.

این راهنما شامل موارد زیر است:

  • مبانی و چرخه حیات اپلیکیشن (App Lifecycle)
  • ناوبری و مسیریابی (Navigation and Routing)
  • رابط کاربری (UI)، استایل‌دهی و چیدمان (Layout)
  • موتور JS، تردینگ (Threading) و معماری جدید (JSI/Fabric)
  • شبکه، APIها و پایداری داده‌ها (Data Persistence)
  • مدیریت وضعیت (Client vs. Server state)
  • عملکرد (Performance)، حافظه و رندرینگ
  • امنیت و تست
  • سناریوهای پیشرفته برای سال ۲۰۲۶

چند نکته کلیدی برای مصاحبه بعدی شما:

  • عملکرد: اگر اپلیکیشن کند به نظر می‌رسد، ابتدا آن را پروفایل (profile) کنید. تعیین کنید که آیا لگ (lag) مربوط به JS thread است یا UI thread.
  • معماری: فقط برای همه چیز از Redux استفاده نکنید. از React Query برای وضعیت سرور (server state) و از Zustand یا Redux Toolkit برای وضعیت کلاینت (client state) استفاده کنید.
  • معماری جدید: درک کنید که چگونه JSI گلوگاهِ Bridge را از بین می‌برد تا ارتباط همزمان (synchronous) را امکان‌پذیر کند.
  • لیست‌ها: برای لیست‌های طولانی از FlatList یا FlashList استفاده کنید. هرگز برای مجموعه‌داده‌های بزرگ از ScrollView استفاده نکنید.
  • انیمیشن‌ها: برای جلوگیری از لگ (jank) در JS thread، انیمیشن‌ها را با استفاده از Reanimated یا native driver روی UI thread اجرا کنید.

فقط این پاسخ‌ها را حفظ نکنید. آن‌ها را به آرامی بخوانید. با صدای بلند آن‌ها را بازگو کنید. شما باید منطق پشت آن‌ها را درک کنید تا بتوانید تحت فشار توضیح دهید.

راهنمای کامل را اینجا بخوانید: https://dev.to/prabhasg56/react-native-developer-interview-questions-answers-real-scenario-based-questions-14ko