Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • JavaScript Documentation48টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • JavaScript কী?
  • Syntax & Comments
  • Variables
  • Data Types: Basics
  • Data Types: Conversion
  • Data Types: Advanced
  • Strings
  • Numbers & Math
  • Date & Time
  • Operators
  • Conditions
  • Loops
  • Functions: Basics
  • Functions: Intermediate
  • Functions: Advanced
  • Scope & Hoisting
  • Closures & this
  • ES6+ Modern
  • Arrays: Basics
  • Arrays: Intermediate
  • Arrays: Advanced
  • Objects: Basics
  • Objects: Intermediate
  • Objects: Advanced
  • Class: Basics
  • Class: Intermediate
  • Class: Advanced
  • DOM: Basics
  • DOM: Intermediate
  • DOM: Advanced
  • Events: Basics
  • Events: Intermediate
  • Events: Advanced
  • Async JavaScript
  • Promise
  • Async / Await
  • Fetch API
  • JSON
  • Modules
  • Browser Storage
  • Event Loop Deep
  • Prototype Chain
  • Iterators & Generators
  • WeakMap, WeakSet, Proxy
  • Error Handling
  • Practice Problems
  • Mini Projects
  • Basics
  • Functions & Scope
  • Types & Syntax
  • Arrays & Objects
  • Advanced
  • Functional Programming
  • Objects & Symbols
  • Async Deep Dive
  • Modern JavaScript
  1. Docs
  2. JavaScript
  3. Practice Problems
JavaScriptBeginner

Practice Problems

বিগিনার থেকে interview — লেভেল ভিত্তিক practice problem সেট, কমেন্ট-সহ সমাধান বাংলায়।

49টি অংশবাংলা ভাষায়

শেখা শেষে চর্চা। এই set-গুলো স্তরে স্তরে — নিজে করে দেখুন, তারপর সমাধান মিলিয়ে নিন। প্রতিটি সমস্যা একাধিক কৌশল শেখায়।

Level 1 — Beginner

মৌলিক বিভাগ: variable, condition, loop, function।

১. জোড়-বিজোড়

function isEven(n) {
  return n % 2 === 0;
}

console.log(isEven(4));  // true
console.log(isEven(7));  // false

২. ১ থেকে ১০০ পর্যন্ত যোগফল

let sum = 0;
for (let i = 1; i <= 100; i++) {
  sum += i;
}
console.log(sum); // 5050

৩. বড় সংখ্যা

function max2(a, b) {
  return a > b ? a : b;
}
console.log(max2(3, 9)); // 9

৪. শব্দ উল্টানো

function reverse(str) {
  return str.split("").reverse().join("");
}
console.log(reverse("code")); // edoc

Level 2 — Intermediate

array, string ও object-এ মাঝামাঝি সমস্যা।

৫. prime সংখ্যা

function isPrime(n) {
  if (n < 2) return false;
  for (let i = 2; i <= Math.sqrt(n); i++) {
    if (n % i === 0) return false;
  }
  return true;
}
console.log(isPrime(17)); // true

৬. Set ছাড়া unique array

function unique(arr) {
  const seen = new Set();
  return arr.filter((x) => {
    if (seen.has(x)) return false;
    seen.add(x);
    return true;
  });
}
console.log(unique([1, 2, 2, 3, 1])); // [1, 2, 3]

৭. frequency count

function freq(str) {
  const map = {};
  for (const ch of str) {
    map[ch] = (map[ch] || 0) + 1;
  }
  return map;
}
console.log(freq("banana")); // { b: 1, a: 3, n: 2 }

৮. array-তে find max/min

function minMax(arr) {
  return {
    min: Math.min(...arr),
    max: Math.max(...arr),
  };
}
console.log(minMax([3, 1, 9, 2])); // { min: 1, max: 9 }

Level 3 — Object/Function

reference, this, closure-এর চর্চা।

৯. deep clone (simple)

function clone(obj) {
  return JSON.parse(JSON.stringify(obj));
}

const a = { x: 1, y: { z: 2 } };
const b = clone(a);
b.y.z = 99;
console.log(a.y.z); // 2 — আলাদা

১০. counter (closure)

function counter() {
  let n = 0;
  return () => ++n;
}

const c = counter();
console.log(c()); // 1
console.log(c()); // 2

১১. myBind

function myBind(fn, ctx, ...args) {
  return (...rest) => fn.apply(ctx, [...args, ...rest]);
}

const intro = (city) => this.name + " " + city;
const bound = myBind(intro, { name: "রহিম" }, "ঢাকা");
console.log(bound()); // রহিম ঢাকা

Level 4 — Async/DOM

async flow ও DOM-চর্চা।

১২. debounce

function debounce(fn, ms) {
  let t;
  return (...args) => {
    clearTimeout(t);
    t = setTimeout(() => fn(...args), ms);
  };
}

১৩. DOM: list-তে click-এর সংখ্যা

let clicks = 0;
const btn = document.querySelector("button");
const out = document.querySelector("#out");

btn.addEventListener("click", () => {
  clicks++;
  out.textContent = clicks;
});

১৪. async ভুল-ধরা

async function safeGet(url) {
  try {
    const res = await fetch(url);
    if (!res.ok) throw new Error(`HTTP ${res.status}`);
    return await res.json();
  } catch (err) {
    return { error: err.message };
  }
}

Level 5 — Interview চ্যালেঞ্জ

বড় pattern - সমস্যা।

১৫. flatten array

function flatten(arr) {
  return arr.flat(Infinity);
}
console.log(flatten([1, [2, [3, [4]]]])); // [1, 2, 3, 4]

// নিজে লিখুন (recursion):
function flatten2(arr) {
  return arr.reduce(
    (acc, item) =>
      acc.concat(Array.isArray(item) ? flatten2(item) : item),
    [],
  );
}

১৬. palindrome

function isPalindrome(s) {
  const clean = s.toLowerCase().replace(/[^a-z0-9]/g, "");
  return clean === clean.split("").reverse().join("") ? true : false;
}
console.log(isPalindrome("A man, a plan, a canal")); // false
console.log(isPalindrome("noon"));                  // true

১৭. fizzbuzz

for (let i = 1; i <= 15; i++) {
  let out = "";
  if (i % 3 === 0) out += "Fizz";
  if (i % 5 === 0) out += "Buzz";
  console.log(out || i);
}
সেটটপিক
Level 1basics, loop, string
Level 2array/object, prime, unique
Level 3closure, this, clone
Level 4async, DOM, debounce
Level 5recursion, interview classic
সমাধান দেখার আগে

প্রথমে ১০ মিনিট নিজে চিন্তা করুন — solutions-এ চলে গেলে fast cheatable হয় না। ভুল করলেও তা শেখা।

আরও অনুশীলন

LeetCode-এর Easy, CodeWars kata-গুলো — বাংলা চর্চার পর English problem-এ যাওয়া ভালো ধাপ।

নিয়ম

প্রতিদিন ২টি সমস্যা, কোড নিজে লিখুন, কনসোলে চালান, ভুল বোঝার চেষ্টা করুন — এক সপ্তাহেই সুস্পষ্ট উন্নতি।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরError HandlingপরেরProjects (মিনি-প্রজেক্ট)
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com