frontend-interview-questions

1. چگونه با تیم‌های بک‌اند همکاری می‌کنید تا APIهایی طراحی کنید که نیازهای فرانت‌اند React را برآورده کنند؟

من با هم‌راستا کردن موارد استفاده و نیازهای داده‌ای از طریق قراردادهای API یا مشخصات OpenAPI شروع می‌کنم. من از موارد زیر حمایت می‌کنم:

از Postman/Swagger برای مدل‌های اولیه و اسناد طراحی API مشترک استفاده می‌کنیم. من بر تفکر فرانت‌اند محور تأکید دارم: کاهش دریافت بیش‌ازحد داده و پشتیبانی از بارگذاری بلادرنگ یا تنبل در صورت نیاز.


2. رویکرد شما برای مدیریت نسخه‌بندی API در یک برنامه React وقتی بک‌اند تکامل می‌یابد چیست؟

پاسخ:

من نسخه‌بندی مبتنی بر URL (مثل /v1/users) را به دلیل شفافیت و قابلیت کش ترجیح می‌دهم. در React:

// api/user.ts
export const fetchUser = () => axios.get("/v2/user");


3. چگونه یک فرانت‌اند React را برای مدیریت APIهای ناسازگار یا ضعیف مستندشده طراحی می‌کنید؟

پاسخ:

برای کاهش ریسک:

const UserSchema = z.object({ id: z.string(), name: z.string() });
const mapUser = (data) => ({ id: data.user_id, name: data.full_name });


4. استراتژی شما برای بهینه‌سازی بارهای API برای عملکرد یک برنامه React چیست؟

پاسخ:

axios.get('/users?page=2&limit=10');


5. چگونه APIهای بلادرنگ (مثل WebSockets، Server-Sent Events) را در یک برنامه React ادغام می‌کنید؟

پاسخ:

useEffect(() => {
  const socket = new WebSocket("wss://example.com/socket");
  socket.onmessage = (event) => updateState(JSON.parse(event.data));
}, []);


6. رویکرد شما برای مدل‌سازی APIها در طول توسعه React وقتی بک‌اند آماده نیست چیست؟

پاسخ:

rest.get('/api/user', (req, res, ctx) => res(ctx.json({ name: 'Test' })));


7. چگونه APIهای محدود شده توسط نرخ را در یک برنامه React بدون کاهش تجربه کاربری مدیریت می‌کنید؟

پاسخ:

const debouncedSearch = debounce(fetchSuggestions, 300);


8. فرآیند شما برای اشکال‌زدایی مشکلات ادغام فرانت‌اند-بک‌اند در یک برنامه React چیست؟

پاسخ:

  1. بررسی تب شبکه (کدهای وضعیت، هدرها، بدنه)
  2. استفاده از console.error یا error boundaries برای دیده شدن
  3. اعتبارسنجی انواع API با استفاده از طرح‌ها
  4. لاگ کردن و مقایسه درخواست فرانت‌اند با انتظارات بک‌اند
  5. استفاده از Postman یا curl برای ایزوله کردن مشکلات بک‌اند

با مهندسان بک‌اند، ترجیحاً در جلسات اشکال‌زدایی بلادرنگ، همکاری نزدیک دارم.


9. چگونه برای نیازهای فرانت‌اند (مثل صفحه‌بندی، فیلتر کردن) در بحث‌های طراحی API بک‌اند حمایت می‌کنید؟

پاسخ:


10. چگونه یک تیم فرانت‌اند را برای همکاری مؤثر با مهندسان بک‌اند در یک پروژه React آموزش می‌دهید؟

پاسخ: