🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

পাইথন ইন্টারভিউ প্রশ্ন 2026: উত্তর সহ শীর্ষ 30টি প্রশ্ন

⏱️3 min read  ·  495 words

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

মূল পাইথন প্রশ্ন

1. একটি তালিকা এবং একটি tuple মধ্যে পার্থক্য কি?

তালিকাপরিবর্তনযোগ্য – উপাদানগুলি যোগ করা, সরানো বা পরিবর্তন করা যেতে পারে।টিপলসঅপরিবর্তনীয় – একবার তৈরি হয়ে গেলে, সেগুলি পরিবর্তন করা যায় না।

# List — mutable
my_list = [1, 2, 3]
my_list.append(4)   # OK
my_list[0] = 10     # OK

# Tuple — immutable
my_tuple = (1, 2, 3)
# my_tuple[0] = 10  # TypeError!

# Tuples are faster and use less memory
# Use tuples for heterogeneous data (coordinates, RGB)
# Use lists for homogeneous, modifiable sequences

# Named tuples — readable tuples
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(3, 4)
print(p.x, p.y)  # 3 4

2. পাইথনের জিআইএল (গ্লোবাল ইন্টারপ্রেটার লক) ব্যাখ্যা করুন

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

  • থ্রেডগুলি I/O অপারেশন (নেটওয়ার্ক, ডিস্ক) চলাকালীন GIL প্রকাশ করে — তাই থ্রেডিং I/O-বাউন্ড কাজগুলির জন্য কাজ করে
  • CPU- আবদ্ধ সমান্তরালতার জন্য, ব্যবহার করুনmultiprocessing(প্রতিটি প্রক্রিয়ার নিজস্ব জিআইএল আছে)
  • Python 3.13+ এর পরীক্ষামূলক ফ্রি-থ্রেডেড মোড রয়েছে (GIL অক্ষম করা যেতে পারে)

3. ডেকোরেটর কি? একটা উদাহরণ দাও।

import functools, time

def timer(func):
    @functools.wraps(func)
    def wrapper(*args, **kwargs):
        start = time.perf_counter()
        result = func(*args, **kwargs)
        elapsed = time.perf_counter() - start
        print(f"{func.__name__}: {elapsed*1000:.2f}ms")
        return result
    return wrapper

@timer
def slow_function():
    time.sleep(0.1)
    return 42

slow_function()  # "slow_function: 100.12ms" 

4. *args এবং **kwargs এর মধ্যে পার্থক্য কি?

def func(*args, **kwargs):
    print(args)   # tuple of positional arguments
    print(kwargs) # dict of keyword arguments

func(1, 2, 3, name="Alice", age=30)
# (1, 2, 3)
# {'name': 'Alice', 'age': 30}

# Unpacking
def add(a, b, c): return a + b + c
numbers = [1, 2, 3]
print(add(*numbers))  # 6

settings = {"a": 1, "b": 2, "c": 3}
print(add(**settings))  # 6

5. জেনারেটর কি এবং আপনি কখন ব্যবহার করবেন?

# Generator — lazy evaluation, memory efficient
def fibonacci():
    a, b = 0, 1
    while True:
        yield a
        a, b = b, a + b

# vs list — loads everything into memory
fib = fibonacci()
print([next(fib) for _ in range(10)])

# Use generators when:
# 1. Processing large datasets (files, DB rows)
# 2. Infinite sequences
# 3. Building pipelines

OOP প্রশ্ন

6. @classmethod এবং @staticmethod এর মধ্যে পার্থক্য কি?

class Circle:
    pi = 3.14159

    def __init__(self, radius):
        self.radius = radius

    # Regular method — receives instance (self)
    def area(self):
        return self.pi * self.radius ** 2

    # classmethod — receives class (cls), can access class variables
    @classmethod
    def from_diameter(cls, diameter):
        return cls(diameter / 2)  # factory method

    # staticmethod — receives nothing, utility function
    @staticmethod
    def is_valid_radius(radius):
        return radius > 0

c1 = Circle(5)
c2 = Circle.from_diameter(10)
print(Circle.is_valid_radius(-1))  # False

7. MRO ব্যাখ্যা করুন (পদ্ধতি রেজোলিউশন অর্ডার)

class A:
    def method(self): return "A"

class B(A):
    def method(self): return "B"

class C(A):
    def method(self): return "C"

class D(B, C):  # Multiple inheritance
    pass

d = D()
print(d.method())   # "B" — follows MRO
print(D.__mro__)    # (D, B, C, A, object)
# Python uses C3 linearization for MRO

উন্নত প্রশ্ন

8. পাইথনের মেমরি ম্যানেজমেন্ট কিভাবে কাজ করে?

  • রেফারেন্স গণনা– প্রতিটি বস্তু ট্র্যাক করে কতগুলি রেফারেন্স এটি নির্দেশ করে
  • যখন গণনা 0 এ পৌঁছায়, বস্তু অবিলম্বে মুক্ত হয়
  • আবর্জনা সংগ্রহকারী— সার্কুলার রেফারেন্স পরিচালনা করে (রেফারেন্স গণনা করা যাবে না)
  • gc.collect()– ম্যানুয়ালি আবর্জনা সংগ্রহ ট্রিগার করুন
  • ইন্টার্নিং— ছোট পূর্ণসংখ্যা (-5 থেকে 256) এবং ছোট স্ট্রিং ক্যাশে করা হয়

9. অগভীর এবং গভীর অনুলিপি মধ্যে পার্থক্য কি?

import copy

original = [[1, 2, 3], [4, 5, 6]]

# Shallow copy — new list, but nested objects are shared
shallow = copy.copy(original)  # or list(original) or original[:]
shallow[0].append(99)
print(original[0])  # [1, 2, 3, 99] — MODIFIED! (shared reference)

# Deep copy — completely independent copy
deep = copy.deepcopy(original)
deep[0].append(88)
print(original[0])  # [1, 2, 3] — unchanged

10. পাইথনের অন্তর্নির্মিত ডেটা স্ট্রাকচার এবং তাদের সময় জটিলতাগুলি কী কী?

অপারেশন তালিকা dict set deque
অ্যাক্সেস O(1) O(1) গড় N/A O(n)
অনুসন্ধান করুন O(n) O(1) গড় O(1) গড় O(n)
সন্নিবেশ (শেষ) O(1) amort O(1) গড় O(1) গড় O(1)
ঢোকান (শুরু) O(n) N/A N/A O(1)
মুছে দিন O(n) O(1) গড় O(1) গড় O(1)

Async প্রশ্ন

11. asyncio.gather() এবং asyncio.TaskGroup-এর মধ্যে পার্থক্য কী?

import asyncio

# asyncio.gather — partial failures possible
async def example_gather():
    results = await asyncio.gather(
        task1(),
        task2(),
        return_exceptions=True  # don't cancel others on failure
    )
    # Results include exceptions if return_exceptions=True

# asyncio.TaskGroup (Python 3.11+) — all-or-nothing
async def example_task_group():
    async with asyncio.TaskGroup() as tg:
        t1 = tg.create_task(task1())
        t2 = tg.create_task(task2())
    # If any task raises, all are cancelled — structured concurrency

asyncio.run(example_task_group())

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

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা