سلام سلام
توی این قسمت از سری سوالات مصاحبه، به بررسی سوالات مربوط به رندر سمت سرور و Next.js میپردازیم. سوالات این قسمت خیلی کم هست و زود تموم میشه و معمولا هم فقط مفاهیم به صورت کلی پرسیده میشدن (مثلا hydration چی هست، یا انواع روش های رندر سمت سرور توی Next.js چیا هست و ...)
توی قسمت های قبلی، سوالات جاوااسکریپت و react رو هم گذاشتم براتون که از لینک های زیر قابل دسترسی ان:
جاوااسکریپت ۱ (سوالات شفاهی)
جاوااسکریپت ۲ (سوالات عملی، الگوریتم و حل مسئله)
react
۱- توضیح دهید server side rendering(SSR) چیست و چه مزیت هایی دارد؟
ویدیوی زیر خیلی ساده و مفید SSR, CSR, SSG و ISR رو توضیح داده: SSR, etc
اما در مورد بخش دوم سوال که مزایای SSR هست: داکیومنت Next.js این مزایا رو توضیح داده: SSR benefits
۲- دو رویکرد SSR و CSR رو با هم مقایسه کنید. چه شباهت ها و تفاوت هایی دارند؟
تو جدول زیر این روش ها مقایسه شدن:
۳- به خاطر مزایایی که SSR داره، آیا خوبه که همیشه سمت سرور کد ها رو رندر کنیم؟ (چه زمانی از CSR و چه زمانی از SSR استفاده کنیم؟)
SSR و CSR هر کدوم مزایا و معایب خودشون رو دارن. بنابراین با توجه به نوع نیازمندی ها و اپلیکیشن شما، ممکنه یه کدوم از این دو روش مناسب باشه.
به طور کلی وقتی اپلیکیشن شما، interactivity زیادی داره و یوزر مدام در تعامل هست و محتوای صفحات براساس اکشن های یوزر مدام تغییر میکنه، یا state های زیادی دارید، SSR بی فایده هست (چون محتوا بیشتر شخصی سازی شده هست)
یا اگر SEO براتون مهم نیست، یا صفحات private هستن، خب نیاز به SSR کمتر هست (لزوما ولی به این معنا نیست که از SSR استفاده نکنید)
اگر اپلیکیشن real-time ای دارید مثل چت، live data, websocket مثل قیمت زنده سهام و ... SSR انتخاب مناسبی نیست.
البته ناگفته نماند که با استفاده از Next.js شما میتونید از ترکیب SSR و RSC و CSR هم بهره ببرید :))
تو جدول زیر مقایسه یه اپ fully CSR با استفاده از React و یک اپ ترکیبی CSR و RSC با استفاده از Next.js رو میبینید:
۴- توضیح دهید hydration چیست؟
پاسخ: hydration
۵- سرور کامپوننت ها (RSC) چی هستن؟
تعریف دقیق server component ها و همچنین server function ها رو میتونید از داکیومنت react بخونید:
react server components
react server functions
داکیومنت nextjs هم بخونید، خوبه:
nextjs server components
۶- کاربرد reactDom.renderToString چیست؟
پاسخ: renderToString
https://www.youtube.com/watch?v=YkxrbxoqHDw&list=WL&index=5&t=431s
https://nextjs.org
https://dev.to/jitendrachoudhary/what-is-react-hydration-2bc3
https://react.dev