সাক্ষাৎকার প্রশ্ন

শীর্ষ 100 জাভাস্ক্রিপ্ট ইন্টারভিউ প্রশ্ন এবং উত্তর

6 জানুয়ারী, 2022

জাভাস্ক্রিপ্ট, নিঃসন্দেহে, বিশ্বের সবচেয়ে বিখ্যাত এবং বহুল ব্যবহৃত প্রোগ্রামিং ভাষা। এটি JS হিসাবেও সংক্ষিপ্ত করা হয় তবে নোট করে যে জাভা এবং জাভাস্ক্রিপ্ট সম্পূর্ণ ভিন্ন প্রোগ্রামিং ভাষা।

জাভাস্ক্রিপ্ট একটি উচ্চ-স্তরের প্রোগ্রামিং ভাষা এবং পাশাপাশি শেখাও সহজ; যাইহোক, একজন ভালো প্রোগ্রামার হয়ে ওঠার জন্য আপনাকে মৌলিক ধারণাগুলির একটি পরিষ্কার বোঝার প্রয়োজন।

আপনি যখন চাকরির জন্য আবেদন করেন, তখন আপনাকে একটি ইন্টারভিউয়ের মধ্য দিয়ে যেতে হবে যেখানে মৌলিক থেকে অগ্রিম পর্যন্ত মিশ্র ধরনের প্রশ্ন করা হয়। অতএব, আমরা প্রায়শই জিজ্ঞাসা করা শীর্ষ 100টি জাভাস্ক্রিপ্ট প্রশ্নগুলির সাথে একত্রিত করেছি।

নীচে জাভাস্ক্রিপ্ট অ্যাডভান্স ইন্টারভিউ প্রশ্ন থেকে প্রাথমিক জাভাস্ক্রিপ্ট ইন্টারভিউ প্রশ্ন রয়েছে যা আপনাকে ইন্টারভিউ রাউন্ড ক্লিয়ার করতে সাহায্য করবে। জাভাস্ক্রিপ্টের নীচে, ইন্টারভিউ কোডিং প্রশ্নগুলি নতুনদের পাশাপাশি অভিজ্ঞ প্রোগ্রামারদের জন্য সহায়ক কারণ আমরা প্রশ্নগুলিকে একাধিক অংশে ভাগ করেছি।

সুচিপত্র

জাভাস্ক্রিপ্ট ডেভেলপার ইন্টারভিউ প্রশ্ন

নিম্নলিখিতগুলি প্রায়শই জিজ্ঞাসা করা জাভাস্ক্রিপ্ট বেসিক ইন্টারভিউ প্রশ্ন যা নতুনদের সাক্ষাত্কার পরিষ্কার করতে সাহায্য করবে। এই বান্ডেলের বড় অংশ হল, আমরা এইচটিএমএল, সিএসএস, জাভাস্ক্রিপ্ট ইন্টারভিউ প্রশ্ন, জাভাস্ক্রিপ্ট অ্যালগরিদম ইন্টারভিউ প্রশ্ন এবং আরও অনেক নির্দিষ্ট বিষয়-সম্পর্কিত প্রশ্ন যোগ করেছি। এই আমরা যেতে!

বেসিক জাভাস্ক্রিপ্ট ইন্টারভিউ প্রশ্ন

এখানে কিছু ভ্যানিলা জাভাস্ক্রিপ্ট ইন্টারভিউ প্রশ্ন রয়েছে যা ফ্রেশারদের সাহায্য করবে যাদের কোনো JS ফ্রেমওয়ার্কের অভিজ্ঞতা নেই। ভ্যানিলা জাভাস্ক্রিপ্টকে প্রায়ই কোর জাভাস্ক্রিপ্ট বলা হয়, বিভ্রান্ত হবেন না!

এই JavaScript ফান্ডামেন্টাল ইন্টারভিউ প্রশ্ন প্রতিটি নবীনদের একটি সাক্ষাত্কারে যোগদান করার আগে জানা উচিত।

প্রশ্ন ১. জাভাস্ক্রিপ্ট কি? এটার ব্যবহার কি?

উত্তর- এটি সবচেয়ে মৌলিক জাভাস্ক্রিপ্ট প্রোগ্রামিং ইন্টারভিউ প্রশ্নগুলির মধ্যে একটি। জাভাস্ক্রিপ্ট হল একটি ক্লায়েন্ট সাইড স্ক্রিপ্টিং বা প্রোগ্রামিং ভাষা যা ওয়েব পেজে জটিল ক্রিয়াকলাপ বাস্তবায়ন করতে ব্যবহৃত হয়। জাভাস্ক্রিপ্ট সর্বত্র উপস্থিত, সময়মত বিষয়বস্তু আপডেট, ইন্টারেক্টিভ মানচিত্র, গতিশীল 2D/3D ভিজ্যুয়াল, স্ক্রলিং ভিডিও জুকবক্স এবং আরও অনেক কিছু উপস্থাপন করে, আপনি এটির নাম দিন।

জাভাস্ক্রিপ্ট DOM ম্যানিপুলেশনের জন্যও ব্যবহৃত হয়, যার মধ্যে HTML উপাদান এবং CSS বৈশিষ্ট্যগুলি গতিশীলভাবে যোগ করা, আপডেট করা এবং মুছে ফেলা অন্তর্ভুক্ত। এছাড়াও, জাভাস্ক্রিপ্ট ডেস্কটপ অ্যাপ্লিকেশন ডেভেলপমেন্টের জন্যও ব্যবহার করা হয় এবং আজকাল, আমরা নোডজেএস ব্যবহার করে একটি সার্ভার-সাইড প্রোগ্রামিং ভাষা হিসাবে জাভাস্ক্রিপ্ট ব্যবহার করতে পারি, যা একটি জাভাস্ক্রিপ্ট রানটাইম।

প্রশ্ন ২. জাভাস্ক্রিপ্টের প্রকৃত নাম বলুন।

উত্তর- জাভাস্ক্রিপ্ট মোচা হিসাবে শুরু হয়েছিল, এবং তারপরে এটি একটি লাইভস্ক্রিপ্টে পরিণত হয়েছিল। তারপর এটি জাভাস্ক্রিপ্ট হয়ে গেল। এটি সবচেয়ে বিখ্যাত এবং বহুল ব্যবহৃত প্রোগ্রামিং ভাষার মধ্যে একটি; যাইহোক, জাভা প্রোগ্রামিং ভাষার সাথে এর কোন সম্পর্ক নেই। বলা হয়ে থাকে যে, জাভা জনপ্রিয়তার কারণে, লাইভস্ক্রিপ্ট জাভা স্ক্রিপ্টে পরিণত হয়েছিল জাভা, সংকলিত ভাষার সাথে।

Q3. জাভাস্ক্রিপ্ট কেস সংবেদনশীল কি না?

উত্তর- হ্যাঁ, জাভাস্ক্রিপ্ট হল কেস সংবেদনশীল প্রোগ্রামিং ভাষা। এর অর্থ হল কীওয়ার্ড, ফাংশনের নাম, শ্রেণির নাম, ভেরিয়েবল এবং অন্যান্য শনাক্তকারীগুলি কেস সংবেদনশীলতা বিবেচনা করে লিখতে হবে। উদাহরণস্বরূপ, জাভাস্ক্রিপ্ট এবং জাভাস্ক্রিপ্ট দুটি ভিন্ন ভেরিয়েবল, এবং জাভাস্ক্রিপ্ট দ্বারা তাদের ভিন্নভাবে ব্যাখ্যা করা হবে। ভেরিয়েবল এবং ফাংশন ঘোষণা করার সময় সর্বোচ্চ যত্ন নেওয়া উচিত।

Q4. জাভাস্ক্রিপ্ট সংকলিত বা ব্যাখ্যা করা ভাষা কিনা?

উত্তর- জাভাস্ক্রিপ্ট একটি প্রোগ্রামিং ভাষা যা সংকলিত না হয়ে ব্যাখ্যা করা হয়। প্রোগ্রামিং ভাষা যেমন সি++ বা জাভা চালানোর আগে প্রথমে কম্পাইল করা হয়। মূল কোডটি একটি কম্পাইলারের মাধ্যমে চালিত হয়, যা এটিকে বাইটকোডে রূপান্তর করে যা মেশিন বুঝতে এবং কার্যকর করতে পারে।

যেখানে জাভাস্ক্রিপ্টের কোন কম্পাইলেশন প্রয়োজন হয় না। পরিবর্তে, একটি ব্রাউজার দোভাষী জাভাস্ক্রিপ্ট কোড পড়ে, প্রতিটি লাইন ব্যাখ্যা করে এবং তারপরে এটি কার্যকর করে।

আধুনিক ব্রাউজার যেমন Google Chrome, Mozilla Firefox, Apple safari জাভাস্ক্রিপ্ট কোড কম্পাইল করতে এবং এক্সিকিউটেবল বাইটকোডে রূপান্তর করতে জাস্ট-ইন-টাইম কম্পাইলেশন প্রযুক্তি ব্যবহার করে।

প্রশ্ন 5. জাভাস্ক্রিপ্টের বৈশিষ্ট্যগুলি বর্ণনা করুন।

উত্তর- জাভাস্ক্রিপ্ট একটি প্রোগ্রামিং ভাষা যা একেবারে যেকোনো কিছু অর্জন করতে পারে; ওয়েবসাইট, মোবাইল অ্যাপ, ডেস্কটপ অ্যাপ, সার্ভার সাইড প্রোগ্রাম, আপনি এটি অনুমান করুন। এটিতে কিছু বিশেষ ধরণের বৈশিষ্ট্য রয়েছে যা জটিল কাজগুলিকে আপনার ভাবার চেয়ে সহজ করে তোলে এবং এটিই এটিকে সবচেয়ে জনপ্রিয় প্রোগ্রামিং ভাষা করে তোলে। এখানে জাভাস্ক্রিপ্টের কিছু আশ্চর্যজনক বৈশিষ্ট্য রয়েছে:

  • ইনপুট যাচাইকরণ- আশ্চর্যজনক নয়, তবে এটি জাভাস্ক্রিপ্টের সবচেয়ে দরকারী বৈশিষ্ট্যগুলির মধ্যে একটি। জাভাস্ক্রিপ্ট ইমেল বা ফোন নম্বর যাচাই করার মতো ফর্ম যাচাইকরণের জন্য খুব দরকারী।
  • প্ল্যাটফর্ম স্বাধীন- আপনাকে জাভাস্ক্রিপ্টের জন্য আলাদা কম্পাইলার ইনস্টল করতে হবে না। প্রায় সব ব্রাউজার জাভাস্ক্রিপ্ট সমর্থন করে, এবং কোড উইন্ডোজ, ম্যাক, বা লিনাক্সের মত যেকোনো প্ল্যাটফর্মে ওয়েব ব্রাউজারে চলে।
  • DOM ম্যানিপুলেশন- জাভাস্ক্রিপ্ট ব্যবহার করে, আপনি HTML নথির উপর নিয়ন্ত্রণ রাখতে পারেন। আপনি HTML উপাদান এবং CSS বৈশিষ্ট্য যোগ, আপডেট এবং মুছে ফেলতে পারেন।
  • অবজেক্ট-ওরিয়েন্টেড ল্যাঙ্গুয়েজ- আপনার কার্যকরী বা একচেটিয়া প্রোগ্রামিংয়ের পরিবর্তে একটি অবজেক্ট-ভিত্তিক কাঠামো থাকতে পারে।

Q.6 কোন ডেটা প্রকার জাভাস্ক্রিপ্ট সমর্থন করে?

উত্তর- জাভাস্ক্রিপ্টে, ছয়টি মৌলিক ডেটা প্রকার রয়েছে যা তিনটি গ্রুপে শ্রেণীবদ্ধ করা যেতে পারে: আদিম, যৌগিক এবং বিশেষ ডেটা প্রকার। আদিম ডেটা প্রকারগুলি হল স্ট্রিং, সংখ্যা এবং বুলিয়ান। যৌগিক ডেটা প্রকারের মধ্যে রয়েছে অবজেক্ট, অ্যারে এবং ফাংশন (যা সব ধরণের অবজেক্ট)। অন্যদিকে, Null এবং Undefined হল বিশেষ ধরনের ডেটা।

যৌগিক ডেটা প্রকারগুলি মান এবং আরও জটিল সত্তার সংগ্রহ পরিচালনা করতে পারে, যেখানে আদিম ডেটা টাইপগুলি একবারে একটি আইটেম ধরে রাখতে পারে।

প্রশ্ন ৭. একটি জাভাস্ক্রিপ্ট অবজেক্ট কি?

উত্তর- জাভাস্ক্রিপ্টে, সবকিছুই একটি বস্তু। অবজেক্ট হল বৈশিষ্ট্য এবং প্রকার সহ একটি সত্তা। অথবা, আমরা বলতে পারি অবজেক্ট হল বৈশিষ্ট্যের একটি সংগ্রহ, এবং আবার, বৈশিষ্ট্য হল কী-মান ডেটার একটি সেট। জাভাস্ক্রিপ্ট অবজেক্ট অন্যান্য প্রোগ্রামিং ভাষার অবজেক্টের মতো।

আমরা একটি ল্যাপটপের উদাহরণ নিতে পারি একটি বস্তু হিসাবে যার একাধিক বৈশিষ্ট্য রয়েছে। একটি ল্যাপটপের রঙ, আকার, ব্যাটারির ক্ষমতা, স্টোরেজের ধরন ইত্যাদি রয়েছে। একইভাবে, জাভাস্ক্রিপ্টের বৈশিষ্ট্য সহ একটি বস্তু রয়েছে।

প্রশ্ন ৮. জাভা এবং জাভাস্ক্রিপ্টের মধ্যে পার্থক্য।

উত্তর- প্রথমত, জাভা এবং জাভাস্ক্রিপ্ট সম্পূর্ণ ভিন্ন প্রোগ্রামিং ভাষা। আমরা এই দুটি পয়েন্টের মধ্যে বিন্দুতে পার্থক্য দেখতে পাব।

    টাইপ– জাভা একটি দৃঢ়ভাবে টাইপ করা ভাষা যার মানে আপনাকে অবশ্যই পুরো প্রোগ্রাম জুড়ে ব্যবহার করার জন্য ভেরিয়েবলের ধরন ঘোষণা করতে হবে। যেখানে জাভাস্ক্রিপ্ট একটি দুর্বলভাবে টাইপ করা ভাষা যার মানে দোভাষী স্বয়ংক্রিয়ভাবে ডেটার ধরণ সনাক্ত করে যত তাড়াতাড়ি এটিতে মান নির্ধারণ করা হয়।ভাষার ধরন- জাভা একটি অবজেক্ট-ভিত্তিক প্রোগ্রামিং ভাষা, যেখানে জাভাস্ক্রিপ্ট একটি অবজেক্ট-ভিত্তিক স্ক্রিপ্টিং ভাষা।ভাষার পরিধি- জাভা ক্লায়েন্ট সাইড এবং সার্ভার-সাইড প্রোগ্রামিং উভয়ের জন্য ব্যবহৃত হয় এবং JVM বা ব্রাউজারে চলে। যেখানে জাভাস্ক্রিপ্ট একটি ক্লায়েন্ট সাইড স্ক্রিপ্টিং ভাষা যা ব্রাউজারে চলে; যাইহোক, আজকাল, আমরা নোডজ ব্যবহার করে সার্ভার সাইড অ্যাপ্লিকেশন তৈরি করতে পারি।ফাইলের ধরন- জাভা কোড .java এক্সটেনশন দ্বারা সংরক্ষিত হয় এবং কোড সফলভাবে কম্পাইল হওয়ার পরে ক্লাস ফাইল তৈরি হয়। অন্যদিকে, জাভাস্ক্রিপ্ট ফাইলটি .js এক্সটেনশন দ্বারা সংরক্ষিত হয় এবং এর জন্য কোনো ক্লাস ফাইল বা বাইটকোড তৈরি হয় না।

প্রশ্ন9. কিভাবে আপনি জাভাস্ক্রিপ্ট একটি পরিবর্তনশীল সংজ্ঞায়িত করতে পারেন?

উত্তর- জাভাস্ক্রিপ্ট একটি দুর্বলভাবে টাইপ করা ভাষা, তাই এটি লেখার সময় আপনাকে ভেরিয়েবলের ডেটা টাইপ ঘোষণা করতে হবে না। কিন্তু, আপনাকে var কীওয়ার্ড ব্যবহার করে ভেরিয়েবল ঘোষণা করতে হবে যেমন, var ab, var arg ইত্যাদি।

Q.10 জাভাস্ক্রিপ্টে অন্তর্নিহিত টাইপ রূপান্তর কী?

উত্তর- প্রোগ্রামিং ল্যাঙ্গুয়েজে, টাইপ কনভার্সন হল এক ধরনের ডেটাকে অন্য টাইপের ডেটা কনভার্ট করা। উদাহরণস্বরূপ, একটি ফ্লোটকে int-এ রূপান্তর করা। ইমপ্লিসিট টাইপ কনভার্সন মানে জাভাস্ক্রিপ্ট স্বয়ংক্রিয়ভাবে আপনার স্বীকৃতি ছাড়াই ডাটা টাইপের ডেটাকে অন্যে রূপান্তর করে। যাইহোক, নিম্ন ডেটা প্রকারগুলিকে উচ্চতর ডেটা প্রকারে রূপান্তর করার জন্য অন্তর্নিহিত টাইপ রূপান্তর ঘটে।

প্রশ্ন ১১. জাভাস্ক্রিপ্টে একটি অ্যারে তৈরি করার পদ্ধতিটি বলুন।

উত্তর- এটি জাভাস্ক্রিপ্টের মৌলিক অ্যারে ইন্টারভিউ প্রশ্নগুলির মধ্যে একটি। জাভাস্ক্রিপ্টে, আপনি দুটি উপায়ে একটি অ্যারে তৈরি করতে পারেন। হয় ঐতিহ্যগত পদ্ধতি বা অ্যারে কীওয়ার্ড ব্যবহার করে। নীচে সিনট্যাক্স পরীক্ষা করুন:

  • const cars = [BMW, Audi, Maruti];
  • const cars = নতুন অ্যারে (BMW, Audi, Maruti);

প্রশ্ন ১২. রেফারেন্স দ্বারা পাস এবং মূল্য দ্বারা পাস কি?

উত্তর- পাস-বাই-মান এবং পাস-বাই-রেফারেন্স পয়েন্টগুলি ফাংশনের সাথে সম্পর্কিত। এটি প্রায় প্রতিটি প্রোগ্রামিং ভাষায় উপলব্ধ। রেফারেন্সের মাধ্যমে পাস করা হল ডেটা/মানের ঠিকানা ফাংশনে প্রেরণ করা যেখানে প্রকৃত পরামিতি এবং আনুষ্ঠানিক পরামিতি উভয়ই একই মেমরি অবস্থানকে নির্দেশ করে। যদিও, আপনি পাস করা প্যারামিটারের জন্য একটি উপনাম ব্যবহার করতে পারেন।

যেখানে পাস-বাই-ভ্যালু হল সেই পদ্ধতি যেখানে প্রকৃত পরামিতিগুলির মানগুলি ফাংশনে প্রেরণ করা হয়, তবে আনুষ্ঠানিক পরামিতিগুলি এই মানগুলিকে একটি পৃথক মেমরি অবস্থানে সংরক্ষণ করে। এই মানগুলির সুযোগ শুধুমাত্র সেই ফাংশনের মধ্যে সীমাবদ্ধ, এবং এই মানটিতে করা যেকোনো পরিবর্তন প্রকৃত পরামিতিগুলিকে প্রতিফলিত করবে না।

প্রশ্ন ১৩. একটি প্রোগ্রামিং ভাষায় পুনরাবৃত্তি ব্যাখ্যা করুন।

উত্তর- জটিল সমস্যা সমাধানের জন্য যেকোন প্রোগ্রামিং ভাষার অন্যতম গুরুত্বপূর্ণ অংশ হল Recursion। Recursion মানে হল একই ফাংশনকে বারবার কল করা যতক্ষণ না এটি নিজেকে শেষ করার জন্য কিছু শর্ত পূরণ করে।

প্রশ্ন ১৪. == এবং === মধ্যে পার্থক্য বলুন।

উত্তর- == এবং === উভয়ই তুলনা অপারেটর; যাইহোক, == অপারেটর ডাটা টাইপ নির্বিশেষে দুটি ভেরিয়েবলের তুলনা করে, যেখানে === অপারেটর কঠোরভাবে দুটি ভেরিয়েবলের তুলনা করে এবং শুধুমাত্র যদি সেই দুটি ভেরিয়েবল একই মান ধারণ করে এবং একই ডাটা টাইপ থাকে তবেই সত্য ফেরত দেয়।

প্রশ্ন ১৫। জাভাস্ক্রিপ্টে NaN এর ব্যবহার সহ ব্যাখ্যা করুন।

উত্তর- জাভাস্ক্রিপ্টে, NaN মানে Not a Number যার সহজ অর্থ হল প্রদত্ত মানটি বৈধ সংখ্যা নয়। এটি একটি প্রদত্ত মান বা ফর্মের মাধ্যমে প্রবেশ করা মান একটি বৈধ সংখ্যা কিনা তা পরীক্ষা করতে সহায়তা করে।

আরো দেখুন শীর্ষ 100 উত্তরযোগ্য ইন্টারভিউ প্রশ্ন এবং উত্তর

প্রশ্ন16. এই কীওয়ার্ডটির ব্যবহার কী?

উত্তর- এই কীওয়ার্ডটি প্রায় প্রতিটি অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভাষায় বিদ্যমান। এই কীওয়ার্ডটি বর্তমান অবজেক্ট বা অবজেক্টকে বোঝায় যা এটির অন্তর্গত।

DOM-এ, এই কীওয়ার্ডটি প্রায়ই বর্তমান উপাদানের বৈশিষ্ট্যগুলি পেতে ব্যবহৃত হয়।

প্রশ্ন১৭। জাভাস্ক্রিপ্টে BOM ব্যাখ্যা করুন। কেন এটা ব্যবহার করা হয়?

উত্তর- জাভাস্ক্রিপ্টে BOM মানে ব্রাউজার অবজেক্ট মডেল। এটি DOM থেকে আলাদা কারণ একটি HTML নথির সাথে ইন্টারঅ্যাক্ট করার পরিবর্তে এটি ব্রাউজারের সাথে ইন্টারঅ্যাক্ট করে। একটি উইন্ডো, স্ক্রীন, ইতিহাস, নেভিগেটর, অবস্থান ইত্যাদির মতো বিওএম-এর অন্তর্গত একগুচ্ছ বস্তু এবং বৈশিষ্ট্য রয়েছে।

প্রশ্ন১৮। জাভাস্ক্রিপ্টে DOM ব্যাখ্যা করুন। এটা কি কাজে লাগে?

উত্তর- জাভাস্ক্রিপ্টে DOM মানে ডকুমেন্ট অবজেক্ট মডেল। এটি জাভাস্ক্রিপ্টের মাধ্যমে এইচটিএমএল নথি উপাদানগুলির সাথে যোগাযোগ করার একটি উপায়। যখন ওয়েব পেজ লোড করা হয়, ব্রাউজারটি তার ডকুমেন্ট অবজেক্ট মডেল তৈরি করে এবং এটি অবজেক্টের ট্রি হিসাবে তৈরি করা হয়। DOM গতিশীলভাবে HTML উপাদান এবং CSS বৈশিষ্ট্য পরিবর্তন করতে সাহায্য করে।

জাভাস্ক্রিপ্ট ডোম

প্রশ্ন ১৯. Let এবং Var কীওয়ার্ডের মধ্যে পার্থক্য ব্যাখ্যা করুন।

উত্তর- Let এবং Var উভয়ই জাভাস্ক্রিপ্টে একটি ভেরিয়েবল ঘোষণা করতে ব্যবহৃত হয়; যাইহোক, উভয়ই ভিন্ন উপায়ে ভেরিয়েবল ঘোষণা করে। আপনি যখন var ব্যবহার করে একটি ভেরিয়েবল ঘোষণা করেন, তখন এটি পুরো সুযোগ জুড়ে উপলব্ধ হবে। যেখানে let ব্যবহার করে ঘোষিত একটি ভেরিয়েবল শুধুমাত্র একটি ব্লকের জন্য উপলব্ধ হবে। সহজভাবে বলছি, var এর ফাংশনের সুযোগ রয়েছে, যেখানে চলুন একটি ব্লক-স্কোপড।

প্রশ্ন ২০। একটি উদাহরণ সহ অপারেটরের প্রকার ব্যাখ্যা কর।

উত্তর- জাভাস্ক্রিপ্টে অপারেটরের প্রকার ঠিক পিএইচপি-তে গেটাইপের মতো। এটি একটি জাভাস্ক্রিপ্ট ভেরিয়েবলের ডেটাটাইপ খুঁজে পেতে সাহায্য করে। উদাহরণ স্বরূপ -

|_+_|

প্রশ্ন ২১। অনির্ধারিত এবং শূন্যের মধ্যে পার্থক্য বলুন।

উত্তর- অনেক নতুন শিক্ষার্থী অনির্ধারিত এবং নাল কীওয়ার্ডের মধ্যে প্রকৃত পার্থক্য বুঝতে পারে না। আপনি যখন একটি ভেরিয়েবল ব্যবহার করেন যা ঘোষিত কিন্তু কোন মান বরাদ্দ নেই তখন এটি একটি অনির্ধারিত বলে মনে করা হয় যেখানে null হল একটি ভেরিয়েবলের জন্য ইচ্ছাকৃতভাবে নির্ধারিত মান।

প্রশ্ন 22। জাভাস্ক্রিপ্টে isNaN ব্যাখ্যা করুন।

উত্তর- isNaN ফাংশন NaN সম্পত্তির অনুরূপ। এটি এমন একটি ফাংশন যা সত্য প্রদান করে যদি প্রদত্ত মানটি NaN হয়, যেমন একটি সংখ্যা নয়। যাইহোক, isNaN ফাংশন প্রথমে প্রদত্ত মানটিকে সংখ্যায় রূপান্তর করে এবং তারপরে এটি পরীক্ষা করে।

প্রশ্ন২৩। আপনি কি উইন্ডো এবং নথির মধ্যে পার্থক্য বলতে পারেন?

উত্তর- এটি একটি জটিল জাভাস্ক্রিপ্ট অবজেক্ট ইন্টারভিউ প্রশ্ন যার জন্য আপনাকে অবশ্যই প্রস্তুত থাকতে হবে। আপনি যখন একটি ব্রাউজার খুলবেন, এটি একটি উইন্ডো যা প্রথমে লোড হয়। উইন্ডোটির কিছু বৈশিষ্ট্য যেমন উচ্চতা, প্রস্থ, দৈর্ঘ্য, পর্দা ইত্যাদি রয়েছে।

ডকুমেন্ট সম্পর্কে কথা বললে, এটি আসলে উইন্ডোর ভিতরে লোড হয়। এই নথিতে আপনার স্ক্রিপ্টিং কোড যেমন এইচটিএমএল, পিএইচপি, এএসপিএক্স ইত্যাদি থাকতে পারে৷ উইন্ডো বৈশিষ্ট্যগুলি অ্যাক্সেস করতে, নথির বৈশিষ্ট্যগুলি অ্যাক্সেস করতে আপনি একটি window.property ব্যবহার করেন; আপনি window.document.property এর মতো কিছু নিয়ে যেতে পারেন যা ঘুরে, সংক্ষেপে document.property হিসাবে উপলব্ধ।

প্রশ্ন২৪। JSON ব্যাখ্যা করুন এবং কেন এটি ব্যবহার করা হয়?

উত্তর- JSON মানে জাভাস্ক্রিপ্ট অবজেক্ট নোটেশন যা ডেটা আদান-প্রদানের জন্য একটি লাইটওয়েট ফরম্যাট। এটি দুই বা ততোধিক নোড/কম্পিটার/অ্যাপ্লিকেশনের মধ্যে ডেটা পাঠাতে ব্যবহৃত হয়। এটি মানব-পাঠযোগ্য পাঠ্য নিয়ে গঠিত এবং বৈশিষ্ট্য-মান জোড়া এবং অ্যারে হিসাবে সংরক্ষণ করা হয়।

JSON সাধারণত ওয়েব অ্যাপ্লিকেশন থেকে ডেটা পাঠাতে এবং গ্রহণ করতে ব্যবহার করা হয় (ক্লায়েন্ট এবং সার্ভার উভয় দিকেই ডেটা বিনিময়)। JSON সম্পর্কে বিস্তারিত তথ্য দেখুন মজিলা অফিসিয়াল জাভাস্ক্রিপ্ট ডকুমেন্টেশন .

যেমন typeof 'JavaScript' //string typeof 2022 //number typeof false //boolean typeof [2,0,2,2] //object

প্রশ্ন25. কিভাবে আপনি জাভাস্ক্রিপ্ট ব্যবহার করে ফুলস্ক্রিন মোড সক্ষম করতে পারেন?

উত্তর- জাভাস্ক্রিপ্ট ছোট থেকে বিশাল ক্রিয়াকলাপ এবং কাজগুলি অর্জনের জন্য বিভিন্ন ধরণের ফাংশন অফার করে। জাভাস্ক্রিপ্টে ফুলস্ক্রিন সক্রিয় করতে, আপনার একটি পদ্ধতি আছে element.requestFullScreen()। মনে রাখবেন যে পদ্ধতির নামটি কেস-সংবেদনশীল, এবং উপাদানটি একটি HTML উপাদান।

উদাহরণস্বরূপ, আমি একটি সম্পূর্ণ পৃষ্ঠায় একটি ভিডিও প্রদর্শন করতে চাই এবং এতে myvideo আইডি রয়েছে৷

কোড-

|_+_|

অভিজ্ঞ প্রোগ্রামারদের জন্য জাভাস্ক্রিপ্ট ইন্টারভিউ প্রশ্ন

প্রশ্ন২৬। গতিশীলভাবে টাইপ করা ভাষা কী তা ব্যাখ্যা কর।

উত্তর- টাইপ করা ভাষা হল একটি প্রোগ্রামিং ভাষা যেখানে ডেটার ধরন কম্পাইল-টাইম বা রান টাইমে জানা যায়। কম্পাইল-টাইমের পরিবর্তে রানটাইমে ভেরিয়েবলের ধরন জানা থাকলে ভাষাটি গতিশীলভাবে টাইপ করা হয়। কখনও কখনও, গতিশীল-টাইপ করা ভাষাগুলিকে আলগা-টাইপ করা ভাষা হিসাবে উল্লেখ করা হয়।

উদাহরণস্বরূপ, পাইথন, জাভাস্ক্রিপ্ট হল গতিশীল-টাইপ করা ভাষা কারণ আপনাকে প্রতিবার ভেরিয়েবলের ধরন নির্দিষ্ট করতে হবে না। আপনাকে নির্দিষ্ট করতে হবে না যে স্ট্রিং একটি স্ট্রিং বা একটি প্যারামিটার ফ্লোট বা এরকম কিছু।

প্রশ্ন27. অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং বলতে আপনি কী বোঝেন?

উত্তর- অ্যাসিঙ্ক্রোনাস বলতে বোঝায় সমসাময়িকতা। যখন দুটি বা একাধিক কাজ একে অপরের সমান্তরালভাবে কার্যকর হয়, তখন এটি অ্যাসিঙ্ক্রোনাস এক্সিকিউশন হিসাবে পরিচিত। অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং মানে কিছু টাস্ক প্রধান অ্যাপ্লিকেশন থেকে স্বাধীনভাবে চলে এবং সমাপ্তি, ব্যর্থতা বা অগ্রগতির পরে কলিং থ্রেডকে স্বীকার করে।

এটি অ্যাপ্লিকেশনের সামগ্রিক কর্মক্ষমতা বাড়াতে সাহায্য করে কারণ অন্য কোন প্রক্রিয়া পূর্ববর্তী প্রক্রিয়াটি আগে সম্পন্ন করার উপর নির্ভর করে না। জাভাস্ক্রিপ্টে, আমরা async, await, প্রতিশ্রুতি এবং কলব্যাকের মত ধারণা ব্যবহার করে অ্যাসিঙ্ক্রোনাস প্রোগ্রামিং অর্জন করতে পারি।

প্রশ্ন২৮। জাভাস্ক্রিপ্টে অবিলম্বে আমন্ত্রিত ফাংশন ব্যাখ্যা করুন।

উত্তর- জাভাস্ক্রিপ্টে, আপনি একাধিক উপায়ে একটি পদ্ধতি বা ফাংশন সংজ্ঞায়িত করতে পারেন। আপনি একটি ফাংশনকে একটি বেনামী ফাংশন হিসাবে সংজ্ঞায়িত করতে পারেন, নাম ফাংশন, এবং যে ফাংশনগুলিকে মাউন্ট করার সাথে সাথে কল করা হয় এবং কার্যকর করা হয় যা অবিলম্বে আমন্ত্রিত ফাংশন হিসাবে পরিচিত।

নাম আমাদের সবকিছু প্রস্তাব. ফাংশনটি চালু করার জন্য আমাদের একটি স্পষ্ট কলের প্রয়োজন নেই। অবিলম্বে আহ্বান করা ফাংশন তৈরি করার জন্য বাক্য গঠন নিম্নরূপ:

|_+_|

প্রশ্ন২৯। জাভাস্ক্রিপ্টে উচ্চ ক্রম ফাংশন কি?

উত্তর- জাভাস্ক্রিপ্টে, যখন একটি ফাংশন প্যারামিটার হিসাবে অন্য একটি ফাংশন গ্রহণ করে বা একটি নতুন ফাংশন প্রদান করে বা উভয়ই একটি উচ্চ-ক্রম ফাংশন হিসাবে পরিচিত। নীচের উদাহরণ পরীক্ষা করুন:

কোড-

|_+_|

প্রশ্ন ৩০। জাভাস্ক্রিপ্টে Call(), Apply() এবং Bind() ব্যাখ্যা করুন।

Ans- call() হল জাভাস্ক্রিপ্টের একটি পূর্বনির্ধারিত পদ্ধতি যা একটি প্যারামিটার হিসাবে মালিক বস্তুর সাথে একটি পদ্ধতি চালু করতে ব্যবহৃত হয়। কল() পদ্ধতির সাহায্যে, একটি বস্তু অন্য বস্তুর অন্তর্গত পদ্ধতিতে অ্যাক্সেস করতে পারে।

JavaScript এ apply() মেথড কল() মেথডের অনুরূপ। উভয় পদ্ধতি একইভাবে কাজ করে; তাদের মধ্যে পার্থক্য হল কল() পদ্ধতি আলাদাভাবে প্যারামিটার নেয়, যেখানে apply() মেথড প্যারামিটারকে অ্যারে হিসেবে নেয়।

bind() পদ্ধতি, call() এবং apply() পদ্ধতির বিপরীতে, তাৎক্ষণিকভাবে ফাংশন চালায় না। এটি এই যুক্তিতে এই সেট সহ ফাংশনের একটি নতুন সংস্করণ প্রদান করে।

প্রশ্ন ৩১. জাভাস্ক্রিপ্টে Currying ব্যাখ্যা করুন।

Ans-Curring শুধুমাত্র জাভাস্ক্রিপ্টের মধ্যে সীমাবদ্ধ নয় এটি অন্যান্য বিভিন্ন প্রোগ্রামিং ভাষায়ও ব্যবহৃত হয়। Currying হল একটি ফাংশন রূপান্তর যা একটি ফাংশনকে f(a, b, c) হিসাবে কলযোগ্য থেকে f(a)(b) (c) হিসাবে কলযোগ্য হতে রূপান্তরিত করে। সহজ কথায়, কারি করাকে কোনো ফাংশন বলা হয় না, এটি কেবল রূপান্তরিত বা রূপান্তরিত করে। নীচের উদাহরণ পরীক্ষা করুন.

|_+_|

প্রশ্ন ৩২। জাভাস্ক্রিপ্টে স্কোপ এবং স্কোপ চেইন কী?

উত্তর- জাভাস্ক্রিপ্টে স্কোপ আপনার প্রোগ্রামের ভেরিয়েবল, ফাংশন এবং অবজেক্ট অ্যাক্সেস করার সাথে সম্পর্কিত। নিরাপত্তার অতিরিক্ত স্তর প্রদানের জন্য সমস্ত প্রোগ্রামিং-এ সুযোগ কার্যকারিতা প্রদান করা হয়। মূলত, দুটি ধরণের সুযোগ রয়েছে- স্থানীয় সুযোগ এবং বিশ্বব্যাপী সুযোগ।

একটি ভেরিয়েবলের স্থানীয় সুযোগ কোড ব্লকের মধ্যে সীমাবদ্ধ, যেমন একটি ফাংশন বা একটি লুপ। যেখানে একটি ভেরিয়েবলের গ্লোবাল স্কোপ কোড ব্লকের মধ্যে সীমাবদ্ধ নয়, এবং একবার ভেরিয়েবলটিকে গ্লোবাল হিসাবে ঘোষণা করা হলে, এটি প্রোগ্রামের যে কোনও জায়গায় ব্যবহার করা যেতে পারে।

স্কোপ চেইন, নাম অনুসারে, স্কোপের একটি চেইন। আমাকে ব্যাখ্যা করতে দাও. যখন আমরা অন্য ফাংশনের ভিতরে একটি ফাংশনকে সংজ্ঞায়িত করি, তখন তাদের প্রত্যেকটির নিজস্ব সুযোগ থাকে। অভ্যন্তরীণ ফাংশনের একটি স্থানীয় সুযোগ রয়েছে যা বাইরের ফাংশনের সাথে সংযুক্ত থাকে; এই লিঙ্কটিকে একটি স্কোপ চেইন বলা হয়।

প্রশ্ন৩৩. অবজেক্ট প্রোটোটাইপ কি?

উত্তর- জাভাস্ক্রিপ্টে, যে কৌশলের মাধ্যমে জাভাস্ক্রিপ্ট অবজেক্ট একে অপরের থেকে বৈশিষ্ট্যগুলিকে উত্তরাধিকারী করে তাকে প্রোটোটাইপ বলে। জাভাস্ক্রিপ্টকে একটি প্রোটোটাইপ-ভিত্তিক ভাষাও বলা হয় যা উত্তরাধিকার প্রদান করে।

এটা সম্ভব যে একটি বস্তুর প্রোটোটাইপ অবজেক্টের একটি প্রোটোটাইপ অবজেক্ট আছে যেখান থেকে এটি উত্তরাধিকারসূত্রে পদ্ধতি এবং গুণাবলী, ইত্যাদি। এটি একটি প্রোটোটাইপ চেইন হিসাবে পরিচিত, এবং এটি ব্যাখ্যা করে যে কেন স্বতন্ত্র বস্তুর অন্যান্য বস্তুতে সংজ্ঞায়িত বৈশিষ্ট্য এবং পদ্ধতিতে অ্যাক্সেস রয়েছে।

প্রশ্ন৩৪. Memoization কি?

উত্তর- জাভাস্ক্রিপ্টে মেমোরাইজেশন এবং মেমোরাইজেশন শব্দ দুটি সম্পূর্ণ ভিন্ন ধারণা। এটি ক্যাশে থেকে ফলাফল আনার অনুরূপ। ক্যাশে ব্যয়বহুল ফাংশনগুলির ফলাফল সংরক্ষণ করে এবং যখনই একই ইনপুট সরবরাহ করা হয় তখন সেগুলি ফেরত দিয়ে মেমোাইজেশন অ্যাপ্লিকেশনটির সামগ্রিক কার্যকারিতা বাড়াতে সহায়তা করে।

এখানে, ব্যয়বহুল ফাংশন এমন ফাংশনগুলিকে বোঝায় যেগুলি কার্যকর করতে অনেক সময় নেয় এবং কার্যকর করার সময় প্রচুর মেমরি খরচ করে।

প্রশ্ন৩৫। জাভাস্ক্রিপ্টে কনস্ট্রাক্টর ফাংশনের রাষ্ট্রীয় ব্যবহার।

উত্তর- প্রায় প্রতিটি প্রোগ্রামিং ভাষায় কনস্ট্রাক্টর পাওয়া যায়। কনস্ট্রাক্টর হল একটি বিশেষ পদ্ধতি এবং এটি একটি ক্লাসের অবজেক্ট তৈরি এবং শুরু করতে ব্যবহৃত হয়। বেশিরভাগ প্রোগ্রামিং ল্যাঙ্গুয়েজে, কন্সট্রাক্টরের ক্লাস নামের একই নাম থাকে; যাইহোক, এটা সম্পূর্ণভাবে প্রোগ্রামিং ভাষার উপর নির্ভর করে।

জাভাস্ক্রিপ্টে, কনস্ট্রাক্টর ফাংশনটি অবজেক্ট তৈরি এবং শুরু করতে ব্যবহৃত হয়। অন্যান্য প্রোগ্রামিং ভাষার মতো, জাভাস্ক্রিপ্টও কনস্ট্রাক্টর ব্যবহার করে একটি বস্তু তৈরি করতে নতুন কীওয়ার্ড ব্যবহার করে।

নীচের একটি উদাহরণ দেখুন:

|_+_|

প্রশ্ন৩৬. জাভাস্ক্রিপ্টে তীর ফাংশন কি?

উত্তর- জাভাস্ক্রিপ্টে অ্যারে ফাংশনটি ES6 সংস্করণে চালু করা হয়েছিল এবং এটি ES6-এর সবচেয়ে জনপ্রিয় বৈশিষ্ট্যগুলির মধ্যে একটি বলে মনে করা হয়। এটি আপনাকে ফাংশনের সংজ্ঞার একটি সংক্ষিপ্ত সংস্করণ লিখতে দেয়।

একটি ফাংশন তৈরি করার আগের পদ্ধতি-

|_+_|

এই সিনট্যাক্স আরও ছোট হতে পারে. যদি ফাংশন বডিতে শুধুমাত্র একটি বিবৃতি থাকে যা কিছু প্রদান করে, তাহলে আপনি একটি ফাংশন লিখতে পারেন যেমন-

|_+_|

আপনি ফাংশনে পরামিতিগুলিও ব্যবহার করতে পারেন।

|_+_|

প্রশ্ন৩৭. অ্যারে স্লাইস পদ্ধতির ব্যবহার ব্যাখ্যা কর।

উত্তর- এটি সবচেয়ে গুরুত্বপূর্ণ জাভাস্ক্রিপ্ট অ্যারে ইন্টারভিউ প্রশ্নগুলির মধ্যে একটি। জাভাস্ক্রিপ্টে প্রায় অভিন্ন নাম সহ কয়েকটি পদ্ধতি রয়েছে এবং শিক্ষার্থীরা তাদের মধ্যে বিভ্রান্ত হয়, কিন্তু আপনার উচিত নয়!

অ্যারে স্লাইস পদ্ধতিটি প্যারামিটারে নির্দিষ্ট করা অ্যারে থেকে উপাদানগুলির সেট ফিরিয়ে দিতে ব্যবহৃত হয়। এটি মূল অ্যারে পরিবর্তন করে না এবং (শেষ-1) উপাদান পর্যন্ত ফেরত দেয়।

দ্রষ্টব্য- অ্যারে সূচক 0 থেকে শুরু হয়।

নীচের উদাহরণ পরীক্ষা করুন.

|_+_|

এখানে, আমরা 1 এবং 3 পরামিতিগুলি নির্দিষ্ট করেছি, যার মানে আমরা সূচক 1 থেকে (3-1) থেকে শুরু করে উপাদান পেতে চাই, অর্থাৎ 2। এর মানে আমাদের অ্যারেতে দ্বিতীয় এবং তৃতীয় উপাদান পাওয়া উচিত।

প্রশ্ন৩৮. বস্তু এবং মানচিত্রের মধ্যে পার্থক্য।

উত্তর- জাভাস্ক্রিপ্টে, মানচিত্র এবং বস্তু উভয়ই কী-মানের জোড়ায় মান সংরক্ষণ করে। কিন্তু এই দুইয়ের মধ্যে সামান্য পার্থক্য আছে। মানচিত্র হল একটি ডেটা স্ট্রাকচার যাতে অনন্য কী থাকে যার সাথে মান ম্যাপ করা হয়। মানচিত্র ডেটা কাঠামোতে কীগুলি সর্বদা অনন্য তাই এটি ডেটা অনুলিপি এড়ায়।

অবজেক্টে, কীগুলি সাধারণত সম্পত্তি হিসাবে নির্দিষ্ট করা হয় এবং একটি একক মানের সাথে যুক্ত থাকে।

অবজেক্ট এবং ম্যাপের মধ্যে প্রধান পার্থক্য হল, অবজেক্টের কী টাইপ স্ট্রিং বা int এর হয়, যেখানে ম্যাপে, কী যেকোনো ধরনের হতে পারে।

বস্তু এবং মানচিত্র তৈরির উপায়ও আলাদা। একটি বস্তু তৈরি করার জন্য আপনাকে কোনো বিল্ট-ইন ফাংশন বা পদ্ধতি ব্যবহার করতে হবে না, যেখানে একটি মানচিত্র তৈরি করতে, আপনাকে অবশ্যই একটি মানচিত্র নির্মাণকারী ব্যবহার করতে হবে।

যেমন একটি বস্তু তৈরি করুন-

|_+_|

প্রশ্ন৩৯। প্রথম শ্রেণীর ফাংশন কি?

উত্তর- জাভাস্ক্রিপ্টে, আমরা একটি ভেরিয়েবল হিসাবে ফাংশন ব্যবহার করতে পারি এবং একটি ভেরিয়েবলে ফাংশনের মান সংরক্ষণ করতে পারি। জাভাস্ক্রিপ্ট ফাংশনকে অন্য যেকোন ভেরিয়েবল বা বস্তুর মতই ব্যবহার করে যার মানে আপনি সেগুলিকে একটি ভেরিয়েবলের মধ্যে সংরক্ষণ করতে পারেন, আর্গুমেন্ট হিসাবে পাস করতে পারেন, ফাংশন থেকে ফিরে আসতে পারেন ইত্যাদি।

প্রশ্ন ৪০। কোন ত্রুটি ছাড়াই কিভাবে সুইচ ব্লকে একটি পরিবর্তনশীল পুনরায় ঘোষণা করবেন?

উত্তর- আপনি যদি সুইচ কেসে ভেরিয়েবলটি শুরু করেন, তবে এটি নিজেকে না জেনেও পুরো ব্লকের সুযোগ পায়। এটি এড়াতে, আপনাকে কেবল নির্দিষ্ট কেস ব্লকের চারপাশে কোঁকড়া ধনুর্বন্ধনী লাগাতে হবে। নীচের কোড চেক করুন.

সুইচ (ক)

|_+_|

উপরের কোডটি একটি কম্পাইল-টাইম ত্রুটি তৈরি করবে। এটি সমাধান করার জন্য, আপনি কোঁকড়া ধনুর্বন্ধনীর ভিতরে একটি পরিবর্তনশীল ঘোষণা করতে পারেন, তাই এটি একটি অবরুদ্ধ স্কোপ ভেরিয়েবল হিসাবে ঘোষণা করা হবে। নীচের ডান কোড চেক করুন.

সুইচ (ক)

|_+_|

প্রশ্ন ৪১. একটি মডিউল কি? এটা ব্যবহার করে লাভ কি?

উত্তর- মডিউলটি লাইব্রেরির অনুরূপ, যা পুনঃব্যবহারযোগ্য কোড নিয়ে গঠিত যা জাভাস্ক্রিপ্ট অ্যাপ্লিকেশনে বিল্ডিং ব্লক হিসাবে ব্যবহার করার উদ্দেশ্যে। মডিউল হল কোডের ছোট স্বাধীন ইউনিট যা ডেভেলপারদের প্রাইভেট এবং পাবলিক ডেটা মেম্বার এবং মেম্বার ফাংশন সংজ্ঞায়িত করতে দেয়।

জাভাস্ক্রিপ্টে, আপনার নিজের তৈরি মডিউল বা একটি তৃতীয় পক্ষের মডিউলও থাকতে পারে, যা আপনি NPM-এর মতো প্যাকেজ পরিচালকদের মাধ্যমে আপনার অ্যাপ্লিকেশনে ইনস্টল এবং ব্যবহার করতে পারেন। মডিউল তৈরি এবং ব্যবহার করার প্রধান সুবিধা হল পুনঃব্যবহারযোগ্যতা এবং অ্যাপের কর্মক্ষমতা।

প্রশ্ন ৪২। কিভাবে একটি পরিষেবা কর্মী ব্যবহার করে ডোম ম্যানিপুলেট?

উত্তর- একজন সার্ভিস ওয়ার্কার ব্যবহার করে কিভাবে DOM কে ম্যানিপুলেট করতে হয় তা দেখার আগে আসুন দেখি সার্ভিস ওয়ার্কার কি। একটি পরিষেবা কর্মী হল একটি স্ক্রিপ্ট যা আপনার ব্রাউজারের পটভূমিতে চলে, একটি ওয়েব পৃষ্ঠা থেকে স্বাধীন, আপনাকে এমন পরিষেবাগুলি অ্যাক্সেস করার অনুমতি দেয় যেগুলির জন্য কোনও ওয়েব পৃষ্ঠা বা ব্যবহারকারীর সম্পৃক্ততার প্রয়োজন নেই৷

পরিষেবা কর্মী একজন জাভাস্ক্রিপ্ট কর্মী, তাই এটি সরাসরি DOM অ্যাক্সেস এবং আপডেট করতে পারে না। তাই DOM-কে সরাসরি ম্যানিপুলেট করার পরিবর্তে, একজন পরিষেবা কর্মী পোস্টমেসেজ ইন্টারফেসের মাধ্যমে প্রেরিত একটি বার্তার প্রতিক্রিয়া দিয়ে এটি নিয়ন্ত্রণ করে এমন পৃষ্ঠাগুলির সাথে যোগাযোগ করে এবং তারপরে সেই পৃষ্ঠাগুলি DOM-কে ম্যানিপুলেট করতে পারে।

প্রশ্ন ৪৩. একটি কুকি কি? কেন এটা আমাদের দরকার?

উত্তর- আপনি একটি কুকিকে ডেটা হিসাবে ভাবতে পারেন যা আপনার স্থানীয় মেশিনে একটি পাঠ্য ফাইল হিসাবে সংরক্ষণ করা হয়। একটি কুকি ওয়েবসাইটটিকে ব্যবহারকারী সম্পর্কে তথ্য মনে রাখতে সাহায্য করে, যা পরে আবার সাইটটিতে যেতে সাহায্য করে। সাধারণভাবে, এটি একটি পরিদর্শনকারী ব্যবহারকারীর তথ্য সঞ্চয় করে এবং সাইটটিকে সেই ব্যবহারকারীর জন্য আরও উপযোগী করতে সেই তথ্য ব্যবহার করে।

আরো দেখুন শীর্ষ 100 উত্তরযোগ্য ইন্টারভিউ প্রশ্ন এবং উত্তর

উদাহরণস্বরূপ, আপনি কুকিতে আইডি বা ব্যবহারকারীর নাম সংরক্ষণ করতে পারেন এবং নিজেকে ধ্বংস করার জন্য সময়সীমা সেট করতে পারেন যাতে পরবর্তী সময় ব্যবহারকারী নির্দিষ্ট সময়সীমার মধ্যে সাইটটি খুলবে; ব্যবহারকারী আইডি এবং পাসওয়ার্ড না দিয়ে স্বয়ংক্রিয়ভাবে লগ ইন হবে।

একটি কুকির আরেকটি ব্যবহারের ক্ষেত্রে, যদি আপনার ওয়েবসাইটটি একটি টোডো অ্যাপ বা একটি নোট অ্যাপের মতো একটি ওয়েব অ্যাপ্লিকেশনের মতো হয়, তাহলে আপনি একটি কুকিতে সর্বশেষ পরিদর্শন করা URL সংরক্ষণ করতে পারেন যাতে ব্যবহারকারী যখনই ব্রাউজারটি বন্ধ করে এবং কিছু পরে এটি আবার খোলে। সময়, ওয়েব অ্যাপ্লিকেশনটিকে সেই নির্দিষ্ট শেষ পরিদর্শন করা URL-এ পুনঃনির্দেশিত করা হবে যা ব্যবহারকারীকে মনে করিয়ে দেয় যে সে শেষ সেশনে কী করছিল।

প্রশ্ন ৪৪। একটি কুকি, লোকাল স্টোরেজ এবং সেশন স্টোরেজের মধ্যে পার্থক্য।

উত্তর- কুকি, লোকাল স্টোরেজ এবং সেশন স্টোরেজ, কিছু তথ্য সংরক্ষণ করতে ব্যবহৃত হয়। আমরা একে একে একে একে দেখব, এবং আপনি সহজেই তাদের মধ্যে পার্থক্য বুঝতে পারবেন।

কুকি হল একটি ছোট টেক্সট ফাইল যা স্থানীয় মেশিনে ব্যবহারকারীর ডেটা সঞ্চয় করে এবং মনে রাখে। এটি কী-মান জোড়ায় ডেটা ধারণ করে। আপনি কুকিজের মেয়াদ শেষ হওয়ার তারিখ/সময় সেট করতে পারেন; নির্দিষ্ট না থাকলে, ব্রাউজার বন্ধ হলে কুকি মুছে ফেলা হবে।

লোকাল স্টোরেজ এবং সেশন স্টোরেজ জাভাস্ক্রিপ্টের তুলনামূলকভাবে নতুন বৈশিষ্ট্য এবং লিগ্যাসি ব্রাউজার দ্বারা সমর্থিত হওয়া আবশ্যক নয়। লোকাল স্টোরেজ আপনার স্থানীয় মেশিনে ডেটা সঞ্চয় করবে এবং কোন মেয়াদ শেষ হওয়ার সময় নেই। স্থানীয় স্টোরেজ জাভাস্ক্রিপ্ট ব্যবহার করে 5 এমবি পর্যন্ত ডেটা সংরক্ষণ করতে পারে এবং ডেটাকে প্লেইন টেক্সট হিসাবে সংরক্ষণ করতে পারে।

সেশনস্টোরেজটি লোকাল স্টোরেজের মতোই, কিন্তু নাম অনুসারে, এটি শুধুমাত্র সেশনের জন্য স্থায়ী হয়, যার অর্থ ব্রাউজার বন্ধ হলে সেশনস্টোরেজ-এ সঞ্চিত সমস্ত ডেটা মুছে ফেলা হবে।

এটা পরীক্ষা করো স্ট্যাকওভারফ্লো থ্রেড আরও গভীরভাবে জানতে।

প্রশ্ন ৪৫। স্থানীয় স্টোরেজ এবং সেশন স্টোরেজের মধ্যে প্রাথমিক পার্থক্য কী?

উত্তর- স্থানীয় স্টোরেজ এবং সেশন স্টোরেজ উভয়ই ক্লায়েন্ট-সাইডে কিছু তথ্য সংরক্ষণ করতে ব্যবহৃত হয়। যাইহোক, তাদের মধ্যে সামান্য পার্থক্য আছে। লোকাল স্টোরেজ কী-মানের জোড়ায় ডেটা সঞ্চয় করে যার মেয়াদ শেষ হওয়ার তারিখ নেই।

এর মানে, আপনি ব্রাউজার বন্ধ করে পরের দিন আবার খুললেও, লোকাল স্টোরেজে ডেটা/তথ্য আগের মতোই থাকবে। যাইহোক, ব্যবহারকারী ব্রাউজার থেকে সমস্ত স্থানীয় স্টোরেজ ডেটা মুছে ফেলতে পারেন।

অন্যদিকে, সেশনস্টোরেজ লোকাল স্টোরেজের মতোই কী-মানের জোড়ায় ডেটা সঞ্চয় করে কিন্তু ব্রাউজার বন্ধ না হওয়া পর্যন্ত লাইফ থাকে। ব্যবহারকারী ব্রাউজারটি বন্ধ করার সাথে সাথে সেশন স্টোরেজ তথ্য সাফ হয়ে যায়।

প্রশ্ন ৪৬। কিভাবে জাভাস্ক্রিপ্টে ওয়েব ওয়ার্কার এর ব্রাউজার সাপোর্ট চেক করবেন?

উত্তর- ব্রাউজারটি জাভাস্ক্রিপ্ট ব্যবহার করে ওয়েব কর্মীদের সমর্থন করে কিনা তা আপনি দুটি উপায়ে পরীক্ষা করতে পারেন।

কোড-

|_+_|

প্রশ্ন ৪৭। জাভাস্ক্রিপ্টে কঠোর মোড ব্যাখ্যা করুন।

উত্তর- ECMAScript সংস্করণ 5-এ কঠোর মোড বৈশিষ্ট্যটি চালু করা হয়েছে। জাভাস্ক্রিপ্টে কঠোর মোড কঠোর আক্ষরিক অভিব্যক্তি ব্যবহার করে অর্জন করা হয়। কঠোর মোড আপনাকে অঘোষিত ভেরিয়েবল ব্যবহার করার অনুমতি দেবে না। জাভাস্ক্রিপ্টে কঠোর মোড প্রবর্তনের মূল উদ্দেশ্য হল নিরাপত্তা বাড়ানো।

JS এর ​​পূর্ববর্তী সংস্করণে, প্রোগ্রামার যদি একটি পরিবর্তনশীল নাম ভুল টাইপ করে, তাহলে এটি একটি নতুন গ্লোবাল-স্কোপ ভেরিয়েবল তৈরি করে। কঠোর মোড ব্যবহার করে, দুর্ঘটনাক্রমে নতুন ভেরিয়েবল তৈরি করার কোন সম্ভাবনা নেই।

কঠোর মোডের সিনট্যাক্স হল=

কোড – |_+_|

প্রশ্ন ৪৯। ডবল বিস্ময়বোধক ব্যবহার কি?

উত্তর- জাভাস্ক্রিপ্টে,!! বস্তুকে বুলিয়ানে রূপান্তর করে। আপনি যদি এটি ঘনিষ্ঠভাবে দেখেন তবে আপনি বুঝতে পারবেন এটি দুই গুণ নয়। আমি আপনাকে ব্যাখ্যা করতে দিন. প্রথম ! না, আবার! দ্বিতীয়টি নয়, যার মানে আপনি প্রথমে মানটিকে বুলিয়ানে রূপান্তর করছেন, এটিকে উল্টে দিচ্ছেন এবং আবার উল্টে দিচ্ছেন।

দেখা, ! হয় না; তাই, !সত্য মিথ্যা এবং !মিথ্যা সত্য৷ 0 এবং 1 এর পরিপ্রেক্ষিতে, !0 হল 1 (সত্য) এবং !1 হল 0 (মিথ্যা)।

যদি মানটি মিথ্যা (0, নাল, অনির্ধারিত) হয়, তবে এটি সত্য অন্যথায় মিথ্যা হবে।

উদাহরণ স্বরূপ-

console.log(!!0) // মিথ্যা ফেরত দেয় কারণ 0 হল মিথ্যা মান

console.log(!!1) // সত্য ফেরত দেয় কারণ এর সত্যতা মান

ব্যাখ্যা-

প্রথমে অভিব্যক্তিটি সরল করুন-

ex 1- !!0 এর সমতুল্য !(!0)

!(!0) = !(1) = (0)

তাই !!0 হল 0 = মিথ্যা।

জাভাস্ক্রিপ্টে ডাবল বিস্ময়বোধক ব্যবহার

ex 2- !!1 এর সমতুল্য !(!1)

!(!1)= !(0) = (1)

তাই !!1 হল 1 = সত্য

জাভাস্ক্রিপ্টে ডাবল বিস্ময়বোধক ব্যবহার

প্রশ্ন50। ডিলিট অপারেটরের ব্যবহার ব্যাখ্যা কর।

উত্তর- জাভাস্ক্রিপ্ট ডিলিট অপারেটর অবজেক্ট প্রপার্টি অপসারণ করতে ব্যবহৃত হয়।

সিনট্যাক্স- ডিলিট এক্সপ্রেশন;

যেমন কোড=

|_+_|

প্রশ্ন51. আপনি কিভাবে জাভাস্ক্রিপ্ট ইতিহাস অ্যাক্সেস করতে পারেন?

উত্তর- জাভাস্ক্রিপ্টে, ইতিহাস হল BOM-এর একটি অংশ, অথবা আপনি বলতে পারেন এটি BOM-এর একটি বস্তু। যখনই আপনি বিভিন্ন পৃষ্ঠায় নেভিগেট করেন বা একটি নতুন ওয়েব পৃষ্ঠা খুলুন, ইতিহাসে একটি রেকর্ড তৈরি হয়। ব্রাউজার ইতিহাস ম্যানিপুলেট করতে, আপনি একটি ইতিহাস অবজেক্ট পাবেন।

ইতিহাস বস্তুর সিনট্যাক্স-

window.history;

পিছনে যেতে-

window.history.back() বা history.back()

এগিয়ে যাওয়ার জন্য-

window.history.forward() বা history.forward();

ধাপগুলি ব্যবহার করে নেভিগেট করতে-

window.go(2); //এগিয়ে যাওয়ার জন্য

window.go(-2); // পিছিয়ে যেতে

প্রশ্ন52. জাভাস্ক্রিপ্টে ক্যাপস লক চালু বা বন্ধ আছে তা কীভাবে সনাক্ত করবেন?

উত্তর- ক্যাপসলক কীবোর্ডের একটি কী তাই ক্যাপস লক সক্রিয় আছে কিনা তা সনাক্ত করতে আমাদের একটি কীবোর্ড ইভেন্ট লিসেনার ব্যবহার করতে হবে। জাভাস্ক্রিপ্ট আমাদেরকে একটি কীবোর্ড ইভেন্ট অবজেক্টের getModifierState() পদ্ধতি প্রদান করে যা মডিফায়ারের স্থিতি ফেরত দেয়। সংশোধক সক্রিয় থাকলে, এটি সত্য অন্যথা মিথ্যা প্রদান করে। নীচের উদাহরণ পরীক্ষা করুন.

কোড-

|_+_|

যেখানে e হল ইভেন্ট অবজেক্ট এবং আপনি এটি কী-আপ বা কী চাপানো ইভেন্ট থেকে পেতে পারেন। নীচের কোড চেক করুন:

কোড-

|_+_|

প্রশ্ন53. জাভাস্ক্রিপ্টে ইভেন্ট বুদবুদ কি?

উত্তর-ইভেন্ট বুদবুদ হল HTML DOM API-এ ইভেন্ট প্রচারের একটি উপায়। যখন একটি ইভেন্ট অন্য উপাদানের ভিতরে একটি উপাদানে থাকে এবং উভয় উপাদানই সেই ইভেন্টে একটি হ্যান্ডেল নিবন্ধিত করে, তখন ঘটনা বুদবুদ হয়।

এটি এমন একটি পদ্ধতি যা ইভেন্টটি ঘটিয়েছে এমন উপাদান দিয়ে শুরু হয় এবং তারপরে অন্তর্ভুক্ত উপাদানগুলিতে অনুক্রমটি নিয়ে যায়। ঘটনাটি প্রথমে সবচেয়ে ভিতরের উপাদান দ্বারা ধরা এবং প্রক্রিয়া করা হয় এবং তারপর ঘটনা বুদবুদ করার মাধ্যমে বাইরের উপাদানগুলিতে প্রেরণ করা হয়।

প্রশ্ন54. কিভাবে জাভাস্ক্রিপ্ট ব্যবহার করে Os বিস্তারিত খুঁজে পেতে?

উত্তর- জাভাস্ক্রিপ্টে, আপনি দুটি উপায় ব্যবহার করে অপারেটিং সিস্টেমের বিবরণ খুঁজে পেতে পারেন; হয় navigator.appVersion প্রপার্টি বা navigator.userAgent প্রপার্টি ব্যবহার করে। এখানে কোডটি অপারেটিং সিস্টেমের নাম প্রদর্শন করে।

.HTML এক্সটেনশন দ্বারা নিম্নলিখিত কোডটি সংরক্ষণ করুন এবং ফলাফল দেখতে ব্রাউজারে খুলুন।

কোড-

|_+_| জাভাস্ক্রিপ্ট টেমপ্লেট আক্ষরিক আউটপুট

জাভাস্ক্রিপ্ট অ্যালগরিদম ইন্টারভিউ প্রশ্ন

প্রশ্ন ৮৭. চেক নম্বর প্রাইম নাকি না।

বছর-

|_+_|

প্রশ্ন ৮৮। Nth Fibonacci শব্দটি খুঁজুন।

বছর-

|_+_|

প্রশ্ন ৮৯। দুই নম্বর অদলবদল করুন।

বছর-

|_+_|

প্রশ্ন90. একটি তৃতীয় চলক ছাড়া দুটি সংখ্যা অদলবদল.

সাল -

|_+_|

প্রশ্ন91. স্ট্রিং বিপরীত

বছর-

|_+_|

প্রশ্ন91. শব্দটি প্যালিনড্রোম কিনা তা পরীক্ষা করুন।

বছর-

|_+_|

জাভাস্ক্রিপ্ট es6 ইন্টারভিউ প্রশ্ন

(https://www.javatpoint.com/es6-interview-questions)

আপনি যদি জাভাস্ক্রিপ্ট ডেভেলপার হিসেবে ক্যারিয়ার গড়তে চান তাহলে আপনাকে অবশ্যই ECMAScript বা ES এর সাথে পরিচিত হতে হবে। এটি জাভাস্ক্রিপ্টের একটি সুপারসেট এবং নতুন বৈশিষ্ট্য এবং আপগ্রেড প্রকাশ করে। ECMAScript এর প্রধান রিলিজ হল ES6 যা 2015 সালে প্রকাশিত হয়েছিল; তাই, এটিকে প্রায়ই ECMAScript 2015 বলা হয়।

প্রশ্ন92. Ecmascript ব্যাখ্যা কর। এটি কিভাবে জাভাস্ক্রিপ্টের সাথে সম্পর্কিত?

উত্তর- আপনি একটি ECMAScript কে একটি অভিভাবক হিসাবে ভাবতে পারেন যা জাভাস্ক্রিপ্ট, স্ক্রিপ্ট ইত্যাদি স্ক্রিপ্টিং ভাষার জন্য নিয়মের একটি সেট তৈরি করে। জাভাস্ক্রিপ্ট ECMAScript মানগুলির নিয়মের উপর ভিত্তি করে।

প্রশ্ন93. রাজ্যের নতুন বৈশিষ্ট্যগুলি Es6-এ চালু করা হয়েছে।

উত্তর- ES6 ছিল জাভাস্ক্রিপ্টের প্রধান রিলিজ যাতে একগুচ্ছ নতুন বৈশিষ্ট্য রয়েছে যা প্রোগ্রামারদের বিভিন্ন অসুবিধা কাটিয়ে উঠতে সাহায্য করেছিল। ES6 এ যে বৈশিষ্ট্যগুলি চালু করা হয়েছিল তা নিম্নরূপ।

  • তীর
  • ক্লাস
  • বস্তুর আক্ষরিক
  • টেমপ্লেট স্ট্রিং
  • ধ্বংস করা
  • let এবং const কীওয়ার্ড
  • ইউনিকোড
  • মডিউল
  • মানচিত্র, সেট, দুর্বলম্যাপ, দুর্বলতা
  • প্রক্সি
  • প্রতীক
  • গণিত, সংখ্যা, স্ট্রিং, অ্যারে এবং অবজেক্ট API
  • পুচ্ছ কল
  • প্রতিফলিত API

প্রশ্ন94. Let এবং Const কীওয়ার্ড ব্যাখ্যা করুন।

উত্তর- জাভাস্ক্রিপ্টে, আপনি কীভাবে এটি ঘোষণা করবেন তার মাধ্যমে আপনি ভেরিয়েবলের সুযোগ নির্ধারণ করতে পারেন। তিনটি উপায়ে আপনি জাভাস্ক্রিপ্টে একটি ভেরিয়েবল ঘোষণা করতে পারেন; var, let, এবং const ব্যবহার করে।

একটি ব্লক-স্কোপ ভেরিয়েবল তৈরি করতে let এবং const কীওয়ার্ড ব্যবহার করা হয়। let এবং const কীওয়ার্ড একে অপরের সাথে খুব মিল। তাদের মধ্যে পার্থক্য হল যে আপনি ভেরিয়েবলের মানটি পুনরায় বরাদ্দ করতে পারবেন না যা const হিসাবে ঘোষণা করা হয়েছে।

কোড-

|_+_|

প্রশ্ন95. টেমপ্লেট লিটারাল কি?

উত্তর- টেমপ্লেট লিটারাল, যা টেমপ্লেট স্ট্রিং নামেও পরিচিত, ES6 সংস্করণে প্রবর্তিত সেরা বৈশিষ্ট্যগুলির মধ্যে একটি। বিকল্পভাবে, আপনি এটিকে একটি স্ট্রিং টেমপ্লেট বা ব্যাক-টিক্স সিনট্যাক্স বলতে পারেন।

টেমপ্লেট লিটারেল ব্যবহার করে, আপনি একটি স্ট্রিং তৈরি করতে পারেন যা ব্যাকটিক্স (`) দিয়ে শুরু এবং শেষ হয় যা অভিব্যক্তি সমন্বিত করতে সক্ষম। এটি আপনাকে এর ভিতরে ডবল-উদ্ধৃত স্ট্রিং লিখতে বা ভেরিয়েবল প্রদর্শন করতে এবং দুটি স্ট্রিংকে সহজে সংযুক্ত করতে সহায়তা করে।

উদাহরণ স্বরূপ-

|_+_|

আউটপুট-

প্রশ্ন96. ডিস্ট্রাকচারিং অ্যাসাইনমেন্ট ব্যাখ্যা কর।

উত্তর- নাম থেকে বোঝা যায়, পুনর্গঠন আপনাকে অ্যারে, বস্তুকে আলাদা মানের মধ্যে ভাঙতে দেয়। এটি শুধুমাত্র একটি অ্যারে বা বস্তু থেকে মান আনপ্যাক করে এবং বিদ্যমান অ্যারে/অবজেক্টকে ধ্বংস বা পরিবর্তন করে না।

উদাহরণ-

|_+_|

প্রশ্ন98. জেনারেটর ফাংশন কি?

উত্তর- একটি জেনারেটর ফাংশনকে functionName* হিসাবে সংজ্ঞায়িত করা হয় যা জাভাস্ক্রিপ্টে একটি জেনারেটর অবজেক্ট রিটার্ন করে। একটি জেনারেটর ফাংশন হল একটি ফাংশন যা থেকে প্রস্থান করা যায় এবং পরে আবার প্রবেশ করা যায়। অ্যাসিঙ্ক্রোনাস প্রোগ্রামিংয়ে প্রতিশ্রুতি দিয়ে ব্যবহার করা হলে জাভাস্ক্রিপ্টের জেনারেটর আরও শক্তিশালী।

প্রশ্ন৯৯। ডিফল্ট প্যারামিটার ব্যাখ্যা কর।

উত্তর- নাম থেকে বোঝা যায়, কোনো প্যারামিটার পাস না হলে ডিফল্ট প্যারামিটারই ডিফল্ট মান। নিচের উদাহরণটি দেখুন-

|_+_|

প্রশ্ন100. ব্যাবেল সংজ্ঞায়িত করুন।

উত্তর- জাভাস্ক্রিপ্ট ইঞ্জিনের পুরোনো সংস্করণে চলে এমন জাভাস্ক্রিপ্ট কোড লেখা এক ধরনের মাথাব্যথা। সেখানেই ব্যাবেল অ্যাকশনে আসে। ব্যাবেল হল একটি ট্রান্সকম্পাইলার যা ES6+ কোডকে জাভাস্ক্রিপ্টের একটি পশ্চাদগামী-সামঞ্জস্যপূর্ণ সংস্করণে রূপান্তর করে যা পুরানো JS ইঞ্জিনগুলিতে চলতে পারে।

উপসংহার

আগেই বলা হয়েছে, জাভাস্ক্রিপ্ট হল সবচেয়ে জনপ্রিয় প্রোগ্রামিং ল্যাঙ্গুয়েজগুলির মধ্যে একটি এবং উচ্চ চাহিদা। একটি উচ্চ বেতনের চাকরি পেতে, এই জাভাস্ক্রিপ্ট ইন্টারভিউ প্রশ্নগুলি আপনাকে কোডিং রাউন্ডের পাশাপাশি ইন্টারভিউ রাউন্ডগুলি পরিষ্কার করতে সহায়তা করবে।

কোনও ইন্টারভিউতে যোগ দেওয়ার আগে এই প্রশ্নগুলি এবং কোডিং উত্তরগুলি নিজে চেষ্টা করার পরামর্শ দেওয়া হয় যাতে নির্দিষ্ট ফাংশন বা পদ্ধতিটি কীভাবে কাজ করে সে সম্পর্কে আপনার মোটামুটি অভিজ্ঞতা থাকবে এবং আপনাকে কোনও প্রশ্ন জিজ্ঞাসা করা হলে আপনি বিভ্রান্ত হবেন না। শুভ কোডিং!