سوالات و پاسخ های مصاحبه JavaScript برای بازار کار در بنگلادش

این مخزن حاوی 85 سؤال و پاسخ مصاحبه JavaScript متناسب با بازار کار در بنگلادش. این سؤالات برای کمک به شما در آماده سازی برای مصاحبه های فنی و بهبود درک خود از مفاهیم JavaScript طراحی شده اند. این سؤالات از موضوعات اساسی تا پیشرفته متغیر است و از آماده سازی جامع اطمینان حاصل می کند.
فهرست مطالب
- سوالات اساسی جاوا اسکریپت
- سوالات جاوا اسکریپت متوسط
- سوالات پیشرفته جاوا اسکریپت
- سوالات دستکاری دام
- سوالات جاوا اسکریپت ناهمزمان
- ES6+ دارای سوالات است
- چالش های برنامه نویسی جاوا اسکریپت
سوالات اساسی جاوا اسکریپت
-
جاوا اسکریپت چیست؟
- JavaScript یک زبان برنامه نویسی با سطح بالا و تفسیر شده است که برای تعاملی صفحات وب استفاده می شود. این یک فناوری اصلی وب در کنار HTML و CSS است.
-
انواع داده ها در JavaScript چیست؟
- JavaScript دارای 7 نوع داده بدوی است:
string
باnumber
باboolean
باnull
باundefined
باsymbol
وتbigint
بشر همچنین دارای یک نوع داده غیر پیشگیرانه است:object
بشر
- JavaScript دارای 7 نوع داده بدوی است:
-
تفاوت بین چیست
let
باconst
وتvar
؟-
var
عملکردی است و می تواند دوباره تغییر یافته و به روز شود. -
let
بلوک است و می تواند به روز شود اما دوباره تغییر شکل نداده است. -
const
بلوک است و نمی توان آن را به روز کرد یا دوباره تغییر داد.
-
-
تفاوت بین چیست
==
وت===
؟-
==
بررسی برابری پس از اجبار نوع. -
===
بررسی برابری دقیق و بدون اجبار.
-
-
چیست
NaN
در جاوا اسکریپت؟-
NaN
مخفف “Not-A-Number” است و مقداری است که یک عدد نامعتبر را نشان می دهد.
-
-
استفاده از چیست
typeof
اپراتور؟- در
typeof
از اپراتور برای تعیین نوع متغیر یا بیان استفاده می شود.
- در
-
تفاوت بین چیست
null
وتundefined
؟-
null
عدم وجود عمدی از هر ارزش است ، در حالی کهundefined
به معنای متغیر اعلام شده است اما یک مقدار اختصاص داده نشده است.
-
-
بالا رفتن در جاوا اسکریپت چیست؟
- بالابر مکانیسمی است که اعلامیه های متغیر و عملکرد در مرحله تدوین به بالای دامنه آنها منتقل می شوند.
-
دامنه جاوا اسکریپت چیست؟
- دامنه به دسترسی یا دید متغیرها ، توابع و اشیاء در بخش خاصی از کد شما در زمان اجرا اشاره دارد.
-
تفاوت بین چیست
function declaration
وتfunction expression
؟- اعلامیه عملکرد بلند می شود ، در حالی که یک عبارت عملکرد نیست.
سوالات جاوا اسکریپت متوسط
-
بسته شدن در جاوا اسکریپت چیست؟
- بسته شدن تابعی است که حتی پس از بازگشت عملکرد بیرونی ، به دامنه عملکرد بیرونی خود دسترسی دارد.
-
چیست
this
کلمه کلیدی در جاوا اسکریپت؟- در
this
کلمه کلیدی به شیئی اشاره دارد که عملکرد خاصیت آن است. مقدار آن به نحوه فراخوانی عملکرد بستگی دارد.
- در
-
نمایندگی رویداد چیست؟
- نمایندگی رویداد تکنیکی است که در آن شما یک شنونده رویداد را به یک عنصر والدین اضافه می کنید تا رویدادهایی را برای همه عناصر فرزند خود اداره کنید.
-
تفاوت بین چیست
null
وتundefined
؟-
null
عدم وجود عمدی از هر ارزش است ، در حالی کهundefined
به معنای متغیر اعلام شده است اما یک مقدار اختصاص داده نشده است.
-
-
بالا رفتن در جاوا اسکریپت چیست؟
- بالابر مکانیسمی است که اعلامیه های متغیر و عملکرد در مرحله تدوین به بالای دامنه آنها منتقل می شوند.
-
تفاوت بین چیست
call
باapply
وتbind
؟-
call
وتapply
برای فراخوانی یک تابع با یک خاص استفاده می شودthis
ارزش و استدلال -
bind
یک عملکرد جدید با یک خاص ایجاد می کندthis
ارزش اما بلافاصله آن را فراخوانی نمی کند.
-
-
وعده های موجود در جاوا اسکریپت چیست؟
- وعده ها اشیاء هستند که نشان دهنده تکمیل نهایی (یا عدم موفقیت) یک عمل ناهمزمان و مقدار حاصل از آن است.
-
در جاوا اسکریپت Async/منتظر چیست؟
-
async/await
قند نحوی برای کار با وعده ها است ، باعث می شود کد ناهمزمان به نظر برسد و مانند کد همزمان رفتار کند.
-
-
حلقه رویداد در JavaScript چیست؟
- حلقه رویداد مکانیسمی است که به JavaScript اجازه می دهد تا با بارگیری عملیات به هسته سیستم ، عملیات I/O را غیر مسدود کند.
-
تفاوت بین چیست
setTimeout
وتsetInterval
؟-
setTimeout
یک عملکرد را یک بار پس از تأخیر مشخص ، در حالی که انجام می دهدsetInterval
یک تابع را به طور مکرر در فواصل مشخص انجام می دهد.
-
سوالات پیشرفته جاوا اسکریپت
-
زنجیره نمونه اولیه در جاوا اسکریپت چیست؟
- هر شیء در JavaScript دارای نمونه اولیه است و زنجیره نمونه اولیه به اشیاء اجازه می دهد خواص و روش های نمونه های اولیه خود را به ارث برده باشند.
-
تفاوت بین چیست
call
باapply
وتbind
؟-
call
وتapply
برای فراخوانی یک تابع با یک خاص استفاده می شودthis
ارزش و استدلال -
bind
یک عملکرد جدید با یک خاص ایجاد می کندthis
ارزش اما بلافاصله آن را فراخوانی نمی کند.
-
-
وعده های موجود در جاوا اسکریپت چیست؟
- وعده ها اشیاء هستند که نشان دهنده تکمیل نهایی (یا عدم موفقیت) یک عمل ناهمزمان و مقدار حاصل از آن است.
-
در جاوا اسکریپت Async/منتظر چیست؟
-
async/await
قند نحوی برای کار با وعده ها است ، باعث می شود کد ناهمزمان به نظر برسد و مانند کد همزمان رفتار کند.
-
-
حلقه رویداد در JavaScript چیست؟
- حلقه رویداد مکانیسمی است که به JavaScript اجازه می دهد تا با بارگیری عملیات به هسته سیستم ، عملیات I/O را غیر مسدود کند.
-
عملکرد ژنراتور در JavaScript چیست؟
- یک عملکرد ژنراتور نوع خاصی از عملکرد است که می تواند مکث و از سر گرفته شود و به شما امکان می دهد دنباله ای از مقادیر را با گذشت زمان تولید کنید.
-
تفاوت بین چیست
Map
وتObject
در جاوا اسکریپت؟-
Map
اجازه می دهد تا کلیدهایی از هر نوع ، سفارش درج را حفظ کند ، و دارای یکsize
اموال ، در حالی کهObject
فقط به کلیدهای رشته یا نماد اجازه می دهد و سفارش را تضمین نمی کند.
-
-
تفاوت بین چیست
WeakMap
وتMap
؟-
WeakMap
در صورت عدم وجود منابع دیگر به آنها ، در صورت عدم مراجعه به کلیدهای آن اجازه می دهدMap
نمی کند
-
-
تفاوت بین چیست
WeakSet
وتSet
؟-
WeakSet
در صورت عدم وجود منابع دیگر به آنها ، در صورت عدم وجود منابع زباله از مقادیر خود اجازه می دهد.Set
نمی کند
-
-
هدف چیست
Symbol
در جاوا اسکریپت؟-
Symbol
یک نوع داده ابتدایی است که برای ایجاد شناسه های منحصر به فرد برای خصوصیات شی استفاده می شود.
-
سوالات دستکاری دام
-
DOM چیست؟
- DOM (مدل شیء سند) یک رابط برنامه نویسی برای اسناد HTML و XML است. این ساختار یک سند را به عنوان درختی از اشیاء نشان می دهد.
-
چگونه یک عنصر را با شناسه آن انتخاب می کنید؟
- استفاده کردن
document.getElementById('elementId')
بشر
- استفاده کردن
-
چگونه کلاس را به یک عنصر اضافه می کنید؟
- استفاده کردن
element.classList.add('className')
بشر
- استفاده کردن
-
تفاوت بین چیست
innerHTML
وتtextContent
؟-
innerHTML
محتوای HTML یک عنصر را برمی گرداند ، در حالی کهtextContent
فقط محتوای متن را برمی گرداند.
-
-
چگونه یک عنصر جدید ایجاد می کنید و آن را به DOM اضافه می کنید؟
- استفاده کردن
document.createElement('tagName')
وتparentElement.appendChild(newElement)
بشر
- استفاده کردن
-
تفاوت بین چیست
appendChild
وتinsertBefore
؟-
appendChild
یک گره را به عنوان آخرین فرزند یک عنصر والدین اضافه می کند ، در حالی کهinsertBefore
یک گره را قبل از یک گره مرجع مشخص اضافه می کند.
-
-
چگونه یک عنصر را از DOM حذف می کنید؟
- استفاده کردن
parentElement.removeChild(childElement)
بشر
- استفاده کردن
-
تفاوت بین چیست
querySelector
وتgetElementById
؟-
querySelector
در حالی که می تواند هر عنصر را با استفاده از انتخاب کننده CSS انتخاب کندgetElementById
فقط عناصر را با شناسه خود انتخاب می کند.
-
-
چگونه رویدادهای JavaScript را اداره می کنید؟
- استفاده کردن
addEventListener
برای وصل کردن یک کنترل کننده رویداد به یک عنصر.
- استفاده کردن
-
حباب رویداد و ضبط رویداد چیست؟
- حباب رویداد انتشار یک رویداد از عنصر هدف تا ریشه است ، در حالی که ضبط رویداد انتشار از ریشه به عنصر هدف است.
سوالات جاوا اسکریپت ناهمزمان
-
عملکرد پاسخ به تماس چیست؟
- یک عملکرد پاسخ به تماس ، تابعی است که به عنوان یک آرگومان به یک عملکرد دیگر منتقل می شود و پس از اتمام عمل اجرا می شود.
-
تفاوت بین کد همزمان و ناهمزمان چیست؟
- کد همزمان خط به خط اجرا می کند و اجرای بیشتر را تا زمانی که عملکرد فعلی کامل شود ، مسدود می کند. کد ناهمزمان به سایر عملیات اجازه می دهد تا در حالی که منتظر تکمیل عملیات فعلی هستند ، اجرا شوند.
-
هدف چیست
setTimeout
؟-
setTimeout
برای اجرای یک تابع پس از تأخیر مشخص (در میلی ثانیه) استفاده می شود.
-
-
شرایط مسابقه در جاوا اسکریپت چیست؟
- یک وضعیت مسابقه زمانی اتفاق می افتد که خروجی یک برنامه به زمان وقایع غیرقابل کنترل مانند ترتیب عملیات ناهمزمان بستگی دارد.
-
تفاوت بین چیست
Promise.all
وتPromise.race
؟-
Promise.all
منتظر است تا همه وعده ها برطرف شود ، در حالی کهPromise.race
به محض رفع یا رد یکی از وعده ها ، برطرف یا رد می شود.
-
-
هدف چیست
async/await
؟-
async/await
کار با وعده ها را با اجازه دادن به نوشتن کد ناهمزمان به سبک همزمان ساده می کند.
-
-
ریزگردها در جاوا اسکریپت چیست؟
- میکروتاسک کاری است که پس از کار فعلی و قبل از کار بعدی در حلقه رویداد اجرا می شود. نمونه ها شامل
Promise
تماس تلفنی
- میکروتاسک کاری است که پس از کار فعلی و قبل از کار بعدی در حلقه رویداد اجرا می شود. نمونه ها شامل
-
تفاوت بین چیست
setImmediate
وتsetTimeout
؟-
setImmediate
یک تابع را بلافاصله پس از چرخه حلقه رویداد فعلی اجرا می کند ، در حالی کهsetTimeout
یک عملکرد را پس از تأخیر مشخص انجام می دهد.
-
-
هدف چیست
process.nextTick
در node.js؟-
process.nextTick
برنامه ریزی برای پاسخ به تماس برای اجرای بلافاصله پس از اتمام عملیات فعلی ، قبل از هرگونه رویداد I/O انجام می شود.
-
-
تفاوت بین چیست
Promise.resolve
وتPromise.reject
؟-
Promise.resolve
یک وعده حل شده را ایجاد می کند ، در حالی کهPromise.reject
یک وعده رد شده ایجاد می کند.
-
ES6+ دارای سوالات است
-
توابع فلش چیست؟
- توابع فلش یک نحو کوتاه تر برای نوشتن توابع در JavaScript است. آنها خودشان را ندارند
this
و همیشه ناشناس هستند.
- توابع فلش یک نحو کوتاه تر برای نوشتن توابع در JavaScript است. آنها خودشان را ندارند
-
الگوی الگوی چیست؟
- الگوی الگوهای مربوط به رشته های رشته ای است که با استفاده از backticks عبارات تعبیه شده را امکان پذیر می کند (
`
)${}
نحو
- الگوی الگوهای مربوط به رشته های رشته ای است که با استفاده از backticks عبارات تعبیه شده را امکان پذیر می کند (
-
تخریب در جاوا اسکریپت چیست؟
- تخریب یک نحو است که به شما امکان می دهد مقادیر را از آرایه ها یا خصوصیات اشیاء به متغیرهای مجزا باز کنید.
-
پارامترهای پیش فرض چیست؟
- پارامترهای پیش فرض به شما امکان می دهد مقادیر پیش فرض را برای پارامترهای عملکرد در صورت عدم ارزش یا
undefined
گذشت
- پارامترهای پیش فرض به شما امکان می دهد مقادیر پیش فرض را برای پارامترهای عملکرد در صورت عدم ارزش یا
-
ماژول های جاوا اسکریپت چیست؟
- ماژول های JavaScript قطعات قابل استفاده مجدد از کد هستند که می توانند از یک برنامه صادر شوند و به برنامه دیگر وارد شوند.
-
تفاوت بین چیست
let
وتconst
؟-
let
در حالی که اجازه تغییر مجدد را می دهدconst
نمی کند
-
-
اپراتور گسترش در JavaScript چیست؟
- اپراتور گسترش (
...
) اجازه می دهد تا یک تکرار در مکانهایی که چندین استدلال یا عناصر انتظار می رود گسترش یابد.
- اپراتور گسترش (
-
پارامتر استراحت در JavaScript چیست؟
- پارامتر استراحت (
...
) به شما امکان می دهد تعداد نامحدودی از استدلال ها را به عنوان یک آرایه نشان دهید.
- پارامتر استراحت (
-
هدف چیست
Symbol
در جاوا اسکریپت؟-
Symbol
یک نوع داده ابتدایی است که برای ایجاد شناسه های منحصر به فرد برای خصوصیات شی استفاده می شود.
-
-
تفاوت بین چیست
Map
وتObject
در جاوا اسکریپت؟-
Map
اجازه می دهد تا کلیدهایی از هر نوع ، سفارش درج را حفظ کند ، و دارای یکsize
اموال ، در حالی کهObject
فقط به کلیدهای رشته یا نماد اجازه می دهد و سفارش را تضمین نمی کند.
-
چالش های برنامه نویسی جاوا اسکریپت
-
یک تابع بنویسید تا یک رشته را معکوس کنید.
function reverseString(str) { return str.split('').reverse().join(''); }
-
یک تابع بنویسید تا بررسی کنید که آیا یک رشته یک palindrome است یا خیر.
function isPalindrome(str) { return str === str.split('').reverse().join(''); }
-
یک تابع بنویسید تا بیشترین تعداد را در یک آرایه پیدا کنید.
function findLargestNumber(arr) { return Math.max(...arr); }
-
یک تابع بنویسید تا نسخه های کپی را از یک آرایه حذف کنید.
function removeDuplicates(arr) { return [...new Set(arr)]; }
-
یک تابع بنویسید تا یک آرایه تو در تو را صاف کنید.
function flattenArray(arr) { return arr.flat(Infinity); }
-
یک تابع بنویسید تا فاکتوریل یک شماره را پیدا کنید.
function factorial(n) { if (n === 0 || n === 1) return 1; return n * factorial(n - 1); }
-
یک تابع بنویسید تا بررسی کنید که آیا یک شماره اصلی است یا خیر.
function isPrime(n) { if (n <= 1) return false; for (let i = 2; i <= Math.sqrt(n); i++) { if (n % i === 0) return false; } return true; }
-
یک تابع بنویسید تا دنباله فیبوناچی را تا یک شماره معین پیدا کنید.
function fibonacci(n) { const sequence = [0, 1]; for (let i = 2; i <= n; i++) { sequence.push(sequence[i - 1] + sequence[i - 2]); } return sequence; }
-
یک تابع بنویسید تا آرایه ای از اعداد را به ترتیب صعودی مرتب کنید.
function sortArray(arr) { return arr.sort((a, b) => a - b); }
-
یک تابع بنویسید تا جمع همه عناصر را در یک آرایه پیدا کنید.
function sumArray(arr) { return arr.reduce((sum, num) => sum + num, 0); }
-
یک تابع بنویسید تا میانگین همه عناصر را در یک آرایه پیدا کنید.
function averageArray(arr) { return arr.reduce((sum, num) => sum + num, 0) / arr.length; }
-
یک تابع بنویسید تا دومین عدد را در یک آرایه پیدا کنید.
function secondLargest(arr) { const sortedArr = arr.sort((a, b) => b - a); return sortedArr[1]; }
-
یک تابع بنویسید تا تعداد واکه ها را در یک رشته حساب کنید.
function countVowels(str) { const vowels = ['a', 'e', 'i', 'o', 'u']; return str.split('').filter(char => vowels.includes(char)).length; }
-
یک تابع بنویسید تا حرف اول هر کلمه را در یک رشته سرمایه گذاری کنید.
function capitalizeWords(str) { return str.split(' ').map(word => word[0].toUpperCase() + word.slice(1)).join(' '); }
-
یک تابع بنویسید تا طولانی ترین کلمه را در یک رشته پیدا کنید.
function longestWord(str) { return str.split(' ').reduce((longest, word) => word.length > longest.length ? word : longest, ''); }
-
یک تابع بنویسید تا بررسی کنید که آیا دو رشته آناگرام هستند یا خیر.
function areAnagrams(str1, str2) { return str1.split('').sort().join('') === str2.split('').sort().join(''); }
-
یک تابع بنویسید تا تقاطع دو آرایه را پیدا کنید.
function intersection(arr1, arr2) { return arr1.filter(value => arr2.includes(value)); }
-
یک تابع بنویسید تا اتحاد دو آرایه را پیدا کنید.
function union(arr1, arr2) { return [...new Set([...arr1, ...arr2])]; }
-
یک تابع بنویسید تا تفاوت بین دو آرایه را پیدا کنید.
function difference(arr1, arr2) { return arr1.filter(value => !arr2.includes(value)); }
-
یک تابع بنویسید تا شاخص یک عنصر خاص را در یک آرایه پیدا کنید.
function findIndex(arr, element) { return arr.indexOf(element); }
-
یک تابع بنویسید تا مقادیر Falsy را از یک آرایه حذف کنید.
function removeFalsy(arr) { return arr.filter(Boolean); }
-
یک تابع بنویسید تا بررسی کنید که آیا یک آرایه مرتب شده است یا خیر.
function isSorted(arr) { return arr.every((value, index, array) => index === 0 || value >= array[index - 1]); }
-
یک تابع بنویسید تا با تعداد مشخصی از مراحل ، یک آرایه را به سمت راست بچرخانید.
function rotateArray(arr, steps) { for (let i = 0; i < steps; i++) { arr.unshift(arr.pop()); } return arr; }
-
یک تابع بنویسید تا اولین شخصیت غیر تکرار شونده را در یک رشته پیدا کنید.
function firstNonRepeatingChar(str) { const charCount = {}; for (const char of str) { charCount[char] = (charCount[char] || 0) + 1; } for (const char of str) { if (charCount[char] === 1) return char; } return null; }
-
یک تابع بنویسید تا بیشترین عنصر را در یک آرایه پیدا کنید.
javascript
function mostFrequent(arr) {
const frequencyMap = {};
let maxCount = 0;
let mostFrequentElement = null;
for (const num of arr) {
frequencyMap[num] = (frequencyMap[num] || 0) + 1;
if (frequencyMap[num] > maxCount) {
maxCount = frequencyMap[num];
most