سلام دوستان. می‌خوایم قسمت ششم از مجموعه پست‌های سوالات مصاحبه فرانت‌اند رو بررسی کنیم و توی این قسمت با سوالات زیر آشنا می‌شیم:

۵۱. Call Stack توی جاوااسکریپت چیه؟
۵۲. منظور از Narrowing توی تایپ‌اسکریپت چیه؟
۵۳. چه زمانی استفاده از WebSocket مناسب نیست؟
۵۴. درباره پراپرتی Position توی CSS چه چیزهایی می‌دونین؟
۵۵. چطوری المنتی داشته باشیم که با تغییر border و padding اون طول و عرض اون ثابت بمونه؟
۵۶. از پروتوتایپ توی جاوااسکریپت چی می‌دونید؟
۵۷. Authorization و Authentication چه فرقی با هم دارن؟
۵۸. منظور از عملیات Non-Blocking I/O توی جاوااسکریپت چیه؟
۵۹. Virtual DOM چیه؟
۶۰. منظور از Pseudo-elements و Pseudo-classes توی CSS چیه؟

 

قبل از ادامه می‌خوام یادی کنیم از عزیز. امیدوارم روحش شاد و در آرامش باشه ✨💚

بریم که سوالات رو بررسی کنیم.

 

۵۱. Call Stack توی جاوااسکریپت چیه؟

Call Stack یک ابزار هست که جاوااسکریپت با اون اجرای توابع توی برنامه رو مدیریت می‌کنه و مشخص می‌کنه برنامه توی چه مرحله‌ای هست و چه توابعی در صف اجرا هستن. منظور از Stack همون Data Structure معروف (LIFO) هست.

قبل از اجرای یک برنامهٔ جاوااسکریپتی، Call Stack یک محفظهٔ خالی هست. هر تابع به محض اینکه اجرا میشه توی Stack قرار می‌گیره و زمانی که اجرای اون تموم شد از Stack خارج میشه. تصویر زیر یک نمونه از نحوهٔ کارکرد Call Stack هست:

تصویر نوشته

 

۵۲. منظور از Narrowing توی تایپ‌اسکریپت چیه؟

معنی واژه Narrowing یعنی محدود کردن یا باریک کردن. تایپ‌اسکریپت با عملیات Narrowing کاری می‌کنه که یک تایپ به شکل یک تایپ خاص‌تر و مشخص‌تر برای ما در دسترس باشه.

توی عکس همونطور که می‌بینیم، پارامتر x ممکنه رشته باشه یا عدد: