در یک مصاحبه جاوا اسکریپت چه می‌گذرد(قسمت دوم)

قصد داریم طی چند پست، بصورت کاملا گسترده به سوالاتی که در یک مصاحبه جاوا اسکریپت انجام میشه بپردازیم. در آخر هم بهترین وبسایت‌ها برای کسانی که دنبال اپلای کردن هستن هم پیشنهاد میدم.قسمت اول۲۰- دیتابیس IndexedDB چی هست؟یک دیتابیس کامل که سعی داره مشکلات localStorage رو حل کند و قابلیت نسخه گذاری روی پایگاه های داده را دارد. IDB محدودیت حجم خاصی ندارد. همچنین IDB یه دیتابیس object-oriented هست. یعنی اطلاعات به شکل object های جاوا اسکریپت ذخیره می‌شود که میتواند ساختار های پیچیده تری را ذخیره کنید.۲۱- مکانیزم web storage چی هست؟یک API است که مکانیزمی را فراهم می کند که به وسیله آن مرورگرها می‌توانند نام و مقدار را به صورت محلی در مرورگر کاربر ذخیره کنند، حتی ساده تر از کوکی‌ها.در ذخیره‌سازی محلی، داده‌ها بدون تاریخ انقضا ذخیره می‌شوند و در ذخیره‌سازی جلسه، داده‌ها برای یک سیشن ذخیره می‌شوند و با بسته شدن مرورگر داده‌ها هم از بین میروند.۲۲- کوکی چی هست؟در لغت یک معنیش یعنی شیرینی که اصلا این ربطی ندارد به کاری که انجام می‌دهد. معنی دیگری که دارد به معنی نگهداری داده‌های کوچک از جمله مشخصات کاربر مثل نام، ایمیل و... در یک فایل متنی کوچک و در سیستم شخصی کاربر و نه در سرور اصلی سایت یا برنامه. = &quotusername=John; expires=Sat, 8 Jun 2019 12:00:00 UTC&quot۲۳- کوکی‌ها به چه دردی می‌خوردند؟به طور کلی و خلاصه هنگامی که کاربر از یک صفحه بازدید می کند، مشخصات کاربر را می توان در یک کوکی ذخیره کرد. زمانی که مجدد کاربر از صفحه بازدید می کند، کوکی مشخصات کاربر را به خاطر می‌آورد. برای مثال دیگر لازم نیست مجدد عملیات ثبت‌نام در برنامه را هر‌بار که برنامه بسته می‌شود را مجدد انجام دهد.۲۴- یک کوکی چطوری پاک می‌شود؟یک کوکی را با تنظیم تاریخ انقضا می‌توان حذف کرد. در این مورد نیازی به تعیین مقدار کوکی ندارید: = &quotusername=; expires=Fri, 07 Jun 2019 00:00:00 UTC; path=/;"برای اطمینان از حذف کوکی لازم است گزینه مسیر کوکی را هم تعریف کنید. برخی از مرورگرها اجازه حذف کوکی را نمی‌دهند مگر اینکه پارامتر مسیر را مشخص کنید.۲۵- فرق بین کوکی، ذخیره‌سازی محلی و ذخیره‌سازی سیشن چی هست؟کوکی‌: هم سمت سرور و هم سمت کاربر در دسترس هستند. با تابع Expires حذف می‌شوند. از SSL پشتیبانی می‌کنند. حداکثر حجم داده‌هاشون ۴ کیلوبایت است.ذخیر‌ه‌سازی محلی: فقط سمت کاربر در دسترس است. تا زمانی دلیلت نشوند حذف نمی‌شوند. از SSL پشتیبانی نمی‌شود‌. حداکثر حجم داده‌هاشون ۵ مگابایت است.ذخیر‌ه‌سازی سیشن: فقط سمت کاربر در دسترس است. تا زمانی که صفحه بسته نشود داده حذف نمی‌شود. از SSL پشتیبانی نمی‌شود‌. حداکثر حجم داده‌هاشون ۵ مگابایت است.۲۶- طریقه کار با ذخیره‌سازی سیشن؟روش‌های خواندن، نوشتن و پاک کردن داده‌ها در ذخیره سازی سیشن:// Save data to sessionStorage sessionStorage.setItem(&quotkey&quot, &quotvalue&quot); // Get saved data from sessionStorage let data = sessionStorage.getItem(&quotkey&quot); // Remove saved data from sessionStorage sessionStorage.removeItem(&quotkey&quot); // Remove all saved data from sessionStorage sessionStorage.clear();۲۷- چگونه باید بررسی کنیم که مرورگر از چه web storage پشتیبانی می‌کند؟قبل از هر‌گونه ذخیره‌سازی، باید پشتیبانی مرورگر را برای ذخیره‌سازی محلی و سیشن بررسی کرد:if (typeof Storage !== &quotundefined&quot) { // Code for localStorage/sessionStorage. } else { // Sorry! No Web Storage support.. }۲۸- چگونه بررسی کنیم که مرورگر از web worker پشتیبانی می‌کند؟if (typeof Worker !== &quotundefined&quot) { // code for Web worker support. } else { // Sorry! No Web Worker support.. }۲۹- کال‌بک فانکشن یا Callback Function چی هست؟فانکش callback تابعی است که قرار است بعد از تابع دیگری اجرا شود. در جاوا اسکریپت و دیگر زبان‌های مفسری اجرای کدها به صورت خط به خط است، زمانیکه در ترجمه خط به خط کد‌ها مفسر به یک بخشی از کد برای مثال به یک تابع برخورد می‌کند که فرآیند دریافت پاسخ توسط تابع طولانی است، همزمان با اجرای آن بخش از کد، به خط‌های بعدی برنامه رفته و آن‌ها را اجرا می‌کند.function callbackFunction(name) { console.log(&quotHello &quot + name); } function outerFunction(callback) { let name = prompt(&quotPlease enter your name.&quot); callback(name); } outerFunction(callbackFunction);