Computer Engineering Question for BCS Bank IT JOB Part-5

 

১. অ্যাডভান্সড কোডিং, ওপিপি এবং প্রোগ্রামিং ল্যাঙ্গুয়েজ কনসেপ্ট

১. প্রশ্ন: সি++ (C++) বা জাভাতে 'Diamond Problem' কী এবং এটি কীভাবে সমাধান করা হয়?

  • উত্তর: যখন একটি চাইল্ড ক্লাস দুটি এমন প্যারেন্ট ক্লাস থেকে ইনহেরিট করে যারা নিজেরা একই বেস ক্লাস থেকে এসেছে, তখন মেথড কল নিয়ে যে অস্পষ্টতা তৈরি হয় তাকে ডায়মন্ড প্রবলেম বলে। সি++ এ এটি virtual ইনহেরিটেন্স এবং জাভাতে Interface ব্যবহারের মাধ্যমে সমাধান করা হয়।

২. প্রশ্ন: জাভাতে 'String' এবং 'StringBuffer' এর মধ্যে মূল তফাত কী?

  • উত্তর: String হলো ইমিউটেবল (Immutable - পরিবর্তন অযোগ্য), অর্থাৎ একবার তৈরি করলে এর মান বদলানো যায় না (নতুন অবজেক্ট তৈরি হয়)। অন্যদিকে StringBuffer হলো মিউটেবল (Mutable) এবং এটি থ্রেড-সেফ (Thread-safe)।

৩. প্রশ্ন: সি (C) প্রোগ্রামিং ল্যাঙ্গুয়েজে 'Dangling Pointer' কী?

  • উত্তর: যখন কোনো পয়েন্টার এমন একটি মেমোরি অ্যাড্রেসকে নির্দেশ করে যা ইতোমধ্যে ফ্রি (free) বা ডি-অ্যালোকেট করে দেওয়া হয়েছে, তখন তাকে ড্যাঙ্গলিং পয়েন্টার বলে।

৪. প্রশ্ন: 'Memory Leak' বলতে কী বোঝায়?

  • উত্তর: কোনো প্রোগ্রাম যখন হিপ (Heap) মেমোরি অ্যালোকেট করার পর কাজ শেষে তা সঠিকভাবে ফ্রি বা রিলিজ করে না, তখন মেমোরি ব্লকগুলো আটকে থাকে। একেই মেমোরি লিক বলে।

৫. প্রশ্ন: 'Inline Function' এর সুবিধা কী?

  • উত্তর: এটি ব্যবহারের ফলে কম্পাইলার ফাংশন কলের জায়গায় সরাসরি ফাংশনের ভেতরের কোডটি বসিয়ে দেয়। এর ফলে ফাংশন কলের ওভারহেড কমে এবং ছোট ছোট ফাংশনের ক্ষেত্রে প্রোগ্রামের গতি বাড়ে।

৬. প্রশ্ন: অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ে 'Shallow Copy' এবং 'Deep Copy' এর মধ্যে পার্থক্য কী?

  • উত্তর: Shallow Copy শুধুমাত্র অবজেক্টের মূল ভ্যারিয়েবলগুলোর কপি করে এবং রেফারেন্সড অবজেক্টের মেমোরি অ্যাড্রেস শেয়ার করে। আর Deep Copy ভেতরের রেফারেন্সড অবজেক্টসহ সম্পূর্ণ নতুন আলাদা মেমোরি কপি তৈরি করে।

৭. প্রশ্ন: সি++ এ 'Virtual Destructor' কেন ব্যবহার করা হয়?

  • উত্তর: বেস ক্লাসের পয়েন্টার দিয়ে যখন কোনো চাইল্ড ক্লাসের অবজেক্ট ডি-অ্যালোকেট (delete) করা হয়, তখন যেন চাইল্ড ক্লাসের ডিস্ট্রাক্টরটিও সঠিকভাবে কল হয় এবং মেমোরি লিক না হয়, তা নিশ্চিত করতে।

৮. প্রশ্ন: জাভা বা সি# এ 'Final', 'Finally' এবং 'Finalize' এর মধ্যে পার্থক্য কী?

  • উত্তর: Final হলো একটি কিওয়ার্ড যা ভ্যারিয়েবল বা মেথডকে অপরিবর্তনশীল করে; Finally হলো একটি ট্রাই-ক্যাচ ব্লক যা অবধারিতভাবে এক্সিকিউট হয়; আর Finalize হলো একটি মেথড যা গার্বেজ কালেকশনের ঠিক আগে অবজেক্ট ক্লিনআপের জন্য কল করা হয়।

৯. প্রশ্ন: পাইথন (Python) ল্যাঙ্গুয়েজে 'List' এবং 'Tuple' এর মধ্যে প্রধান পার্থক্য কী?

  • উত্তর: List হলো মিউটেবল (মান পরিবর্তন করা যায় এবং এটি থার্ড ব্র্যাকেট [] দিয়ে লেখা হয়), আর Tuple হলো ইমিউটেবল (মান পরিবর্তন করা যায় না এবং এটি ফার্স্ট ব্র্যাকেট () দিয়ে লেখা হয়)।

১০. প্রশ্ন: 'Early Binding' এবং 'Late Binding' বলতে কী বোঝায়?

  • উত্তর: কম্পাইল টাইমে যখন কোনো মেথড কল নির্দিষ্ট কোডের সাথে যুক্ত হয় তাকে Early Binding বলে। আর রানটাইমে অবজেক্টের ধরনের ওপর ভিত্তি করে মেথড যুক্ত হওয়াকে Late Binding (বা ডাইনামিক পলিমরফিজম) বলে।

২. ডেটাবেজ ম্যানেজমেন্ট ও অ্যাডভান্সড এসকিউএল (DBMS & SQL)

১১. প্রশ্ন: BCNF (Boyce-Codd Normal Form) হওয়ার শর্ত কী?

  • উত্তর: টেবিলটি অবশ্যই 3NF-এ থাকবে এবং প্রতিটি ফাংশনাল ডিপেন্ডেন্সি $X \rightarrow Y$ এর জন্য $X$-কে অবশ্যই একটি সুপার কি (Super Key) হতে হবে।

১২. প্রশ্ন: ডাটাবেজে 'Dense Index' এবং 'Sparse Index' এর পার্থক্য কী?

  • উত্তর: Dense Index-এ টেবিলের প্রতিটি রেকর্ডের বা সারির জন্য একটি করে ইনডেক্স এন্ট্রি থাকে। আর Sparse Index-এ শুধুমাত্র ডেটা ব্লকের কিছু নির্দিষ্ট রেকর্ডের জন্য ইনডেক্স এন্ট্রি থাকে।

১৩. প্রশ্ন: ডাটাবেজ ট্রানজেকশনে 'Dirty Read' সমস্যাটি কখন ঘটে?

  • উত্তর: যখন একটি ট্রানজেকশন অন্য একটি আন-কমিটেড (Uncommitted বা যা এখনো স্থায়ী হয়নি) ট্রানজেকশনের ডেটা পড়ে ফেলে এবং পরবর্তীতে ওই ট্রানজেকশনটি রোলব্যাক হয়ে যায়।

১৪. প্রশ্ন: টু-ফেজ লকিং (2PL) প্রোটোকলের দুটি ফেজ বা ধাপের নাম কী?

  • উত্তর: ১. গ্রোইং ফেজ (Growing Phase - যেখানে শুধু লক নেওয়া যায়) এবং ২. শ্রিংকিং ফেজ (Shrinking Phase - যেখানে শুধু লক ছেড়ে দেওয়া যায়)।

১৫. প্রশ্ন: SQL-এ NATURAL JOIN এর কাজ কী?

  • উত্তর: দুটি টেবিলের মধ্যে যে কলামগুলোর নাম এবং ডেটা টাইপ হুবহু এক, সেগুলোর ওপর ভিত্তি করে স্বয়ংক্রিয়ভাবে ইকুয়ি-জয়েন (Equi-Join) সম্পন্ন করা।

১৬. প্রশ্ন: ডাটাবেজে 'ACID' এর 'Atomicity' বলতে কী বোঝায়?

  • উত্তর: একটি ট্রানজেকশনের ভেতরের সবকটি অপারেশন সম্পূর্ণ সফল হতে হবে, অন্যথায় একটি অপারেশনও কার্যকর হবে না (All or Nothing)।

১৭. প্রশ্ন: ডাটাবেজের 'Data Dictionary' বা 'System Catalog' কী ধারণ করে?

  • উত্তর: এটি ডাটাবেজের মেটাডেটা (Metadata) অর্থাৎ ডাটাবেজের টেবিল স্ট্রাকচার, ইউজার পারমিশন, স্কিমা ইত্যাদির বিবরণ ধারণ করে।

১৮. প্রশ্ন: 'Cascading Rollback' কী?

  • উত্তর: একটি ট্রানজেকশন ফেইল করার কারণে যদি তার ওপর নির্ভরশীল অন্যান্য একাধিক সচল ট্রানজেকশনকেও পর পর রোলব্যাক করতে হয়, তবে তাকে ক্যাসকেডিং রোলব্যাক বলে।

১৯. প্রশ্ন: ডাটাবেজে 'Data Independence' কত প্রকার ও কী কী?

  • উত্তর: ২ প্রকার। লজিক্যাল ডাটা ইন্ডিপেন্ডেন্স (Logical Data Independence) এবং ফিজিক্যাল ডাটা ইন্ডিপেন্ডেন্স (Physical Data Independence)।

২০. প্রশ্ন: SQL-এ কোয়েরির গতি পরিমাপ বা অপ্টিমাইজ করার জন্য কোন স্টেটমেন্ট ব্যবহার করা হয়?

  • উত্তর: EXPLAIN বা EXPLAIN PLAN স্টেটমেন্ট।

৩. ডেটা স্ট্রাকচার ও জটিল অ্যালগরিদম (Data Structures & Analysis)

২১. প্রশ্ন: হিপ সর্ট (Heap Sort) অ্যালগরিদমের ওয়ার্স্ট-কেস টাইম কমপ্লেক্সিটি এবং স্পেস কমপ্লেক্সিটি কত?

  • উত্তর: টাইম কমপ্লেক্সিটি $O(n \log n)$ এবং স্পেস কমপ্লেক্সিটি $O(1)$ (ইন-প্লেস)।

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

  • উত্তর: DFS (Depth-First Search) অথবা ডিসজয়েন্ট-সেট বা ইউনিয়ন-ফাইন্ড (Union-Find) অ্যালগরিদম দিয়ে।

২৩. প্রশ্ন: '0/1 Knapsack Problem' সমাধানের জন্য কোন মেথড বা পদ্ধতি সবচেয়ে কার্যকর?

  • উত্তর: ডাইনামিক প্রোগ্রামিং (Dynamic Programming)। এর টাইম কমপ্লেক্সিটি $O(n W)$

২৪. প্রশ্ন: 'Stable Sorting Algorithm' বলতে কী বোঝায়?

  • উত্তর: যে সর্টিং অ্যালগরিদমে সমমানের দুটি ডাটা সর্ট করার আগের এবং পরের তুলনামূলক অবস্থান বা ক্রম অপরিবর্তিত রাখে। যেমন: Merge Sort।

২৫. প্রশ্ন: একটি রেড-ব্ল্যাক ট্রির (Red-Black Tree) সর্বোচ্চ উচ্চতা (Height) কত হতে পারে?

  • উত্তর: $2\log_2(n+1)$

২৬. প্রশ্ন: Huffman Coding প্রধানত কোন কাজে ব্যবহৃত হয় এবং এটি কোন ধরনের অ্যালগরিদম?

  • উত্তর: এটি ডাটা কম্প্রেশন (Data Compression বা ফাইলের সাইজ ছোট করা) এর জন্য ব্যবহৃত হয় এবং এটি একটি গ্রীডি (Greedy) অ্যালগরিদম।

২৭. প্রশ্ন: Bellman-Ford Algorithm এর সুবিধা এবং এর টাইম কমপ্লেক্সিটি কত?

  • উত্তর: এটি নেগেটিভ ওয়েট এজ (Negative weight edge) থাকা গ্রাফেও শর্টেস্ট পাথ বের করতে পারে। এর টাইম কমপ্লেক্সিটি $O(V \cdot E)$

২৮. প্রশ্ন: 'Amortized Time Complexity' বলতে কী বোঝায়?

  • উত্তর: যখন কোনো অপারেশনের কোনো একটি নির্দিষ্ট স্টেপে অনেক বেশি সময় লাগলেও, বহুবার অপারেশনটি চালালে গড়ে প্রতি ধাপে অত্যন্ত কম সময় লাগে, তখন সেই গড় সময়কে অ্যামোর্টাইজড টাইম বলে (যেমন ডাইনামিক অ্যারেতে সাইজ বাড়ানো)।

২৯. প্রশ্ন: একটি বাইনারি হিপ (Binary Heap) থেকে রুট নোড ডিলিট করার পর হিপের প্রোপার্টি ঠিক করার প্রক্রিয়াকে কী বলে?

  • উত্তর: Heapify (ডাউন-হিপ বা আপ-হিপ)।

৩০. প্রশ্ন: স্ট্রিং ম্যাচিংয়ের জন্য বহুল ব্যবহৃত KMP অ্যালগরিদমের পূর্ণরূপ কী?

  • উত্তর: Knuth-Morris-Pratt Algorithm।

৪. অপারেটিং সিস্টেম ও কনকারেন্ট কম্পিউটিং (OS)

৩১. প্রশ্ন: অপারেটিং সিস্টেমে 'Race Condition' কী?

  • উত্তর: যখন একাধিক প্রসেস বা থ্রেড একই সাথে শেয়ারড ডাটা অ্যাক্সেস করে এবং ডাটার চূড়ান্ত মান প্রসেসগুলোর এক্সিকিউশনের ক্রমের ওপর নির্ভর করে অনির্দিষ্ট হয়ে যায়।

৩২. প্রশ্ন: 'Banker's Algorithm' মূলত কোন কাজে ব্যবহৃত হয়?

  • উত্তর: ডেডলক এড়ানো বা পরিহার (Deadlock Avoidance) করার জন্য, এটি সিস্টেমের নিরাপত্তা বা Safe State চেক করে।

৩৩. প্রশ্ন: ইউনিক্স/লিনাক্স সিস্টেমে 'Inod' (Index Node) কী?

  • উত্তর: এটি একটি ডেটা স্ট্রাকচার যা ফাইলের নাম বাদে ফাইলের যাবতীয় মেটাডেটা (সাইজ, পারমিশন, মালিকানা, মেমোরি লোকেশন) সংরক্ষণ করে।

৩৪. প্রশ্ন: প্রসেস শিডিউলিংয়ে 'Aging' কৌশলের কাজ কী?

  • উত্তর: সিস্টেমে দীর্ঘক্ষণ ধরে অপেক্ষারত লো-প্রায়োরিটি (কম গুরুত্বপূর্ণ) প্রসেসগুলোর প্রায়োরিটি বা অগ্রাধিকার ধাপে ধাপে বাড়িয়ে দেওয়া, যাতে তারা 'Starvation' বা অনাহার থেকে রক্ষা পায়।

৩৫. প্রশ্ন: 'TLB' (Translation Lookaside Buffer) কী?

  • উত্তর: এটি একটি বিশেষ এবং অতি উচ্চগতির মেমোরি ক্যাশ যা ভার্চুয়াল অ্যাড্রেস থেকে ফিজিক্যাল অ্যাড্রেস রূপান্তরের (Page Table Lookup) গতি বাড়াতে ব্যবহৃত হয়।

৩৬. প্রশ্ন: 'Monolithic Kernel' এর একটি উদাহরণ দিন।

  • উত্তর: Linux বা Linux-ভিত্তিক কার্নেল।

৩৭. প্রশ্ন: অপারেটিং সিস্টেমে 'Swapping' বলতে কী বোঝায়?

  • উত্তর: মেইন মেমোরি (RAM) খালি করার জন্য সাময়িকভাবে কোনো নিষ্ক্রিয় প্রসেসকে সেকেন্ডারি মেমোরিতে (Hard Disk/SSD) পাঠিয়ে দেওয়া এবং পরে আবার ফিরিয়ে আনা।

৩৮. প্রশ্ন: 'Preemptive' এবং 'Non-preemptive' শিডিউলিংয়ের মূল পার্থক্য কী?

  • উত্তর: Preemptive শিডিউলিংয়ে ওএস চলমান কোনো প্রসেসকে জোরপূর্বক থামিয়ে সিপিইউ কেড়ে নিতে পারে। Non-preemptive-এ প্রসেস নিজে কাজ শেষ না করা পর্যন্ত ওএস সিপিইউ কেড়ে নিতে পারে না।

৩৯. প্রশ্ন: 'Page Fault' কখন ঘটে?

  • উত্তর: যখন কোনো রানিং প্রোগ্রাম এমন একটি মেমোরি পেজ অ্যাক্সেস করতে চায় যা এই মুহূর্তে ফিজিক্যাল র‍্যামে (RAM) লোড করা নেই।

৪০. প্রশ্ন: লিনাক্স অপারেটিং সিস্টেমে কোনো চলমান প্রসেসকে জোরপূর্বক বন্ধ বা কিল (Kill) করার সিগন্যাল কোড কোনটি?

  • উত্তর: kill -9 [PID] (SIGKILL সিগন্যাল)।

৫. কম্পিউটার নেটওয়ার্কিং ও সিকিউরিটি (Networking & Security)

৪১. প্রশ্ন: CIDR এর পূর্ণরূপ কী এবং 192.168.1.0/24 বলতে কী বোঝায়?

  • উত্তর: Classless Inter-Domain Routing; /24 বলতে বোঝায় এই আইপি অ্যাড্রেসের প্রথম ২৪টি বিট নেটওয়ার্ক আইডির জন্য নির্ধারিত।

৪২. প্রশ্ন: নেটওয়ার্কিংয়ে 'Asymmetric Encryption' এর মূল ভিত্তি কী?

  • উত্তর: এতে এক জোড়া কি (Key) ব্যবহৃত হয়; পাবলিক কি (Public Key) দিয়ে ডেটা এনক্রিপ্ট করা হয় এবং সেটি শুধুমাত্র সংশ্লিষ্ট প্রাইভেট কি (Private Key) দিয়ে ডিক্রিপ্ট করা যায়।

৪৩. প্রশ্ন: 'SSL/TLS Handshake' ওএসআই মডেলের কোন লেয়ারে ঘটে?

  • উত্তর: Application/Presentation Layer (Layer 6 & 7)-এ।

৪৪. প্রশ্ন: BGP (Border Gateway Protocol) প্রোটোকলটি কী ধরনের রাউটিং প্রোটোকল?

  • উত্তর: এটি একটি পাথ-ভেক্টর (Path-Vector) এক্সটার্নাল গেটওয়ে প্রোটোকল (EGP), যা বিভিন্ন অটোনোমাস সিস্টেমের (AS) মধ্যে রাউটিং নিশ্চিত করে।

৪৫. প্রশ্ন: 'Cross-Site Scripting' (XSS) আক্রমণ কী?

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

৪৬. প্রশ্ন: 'Symmetric Encryption' এর দুটি বহুল ব্যবহৃত অ্যালগরিদমের নাম লিখুন।

  • উত্তর: AES (Advanced Encryption Standard) এবং DES।

৪৭. প্রশ্ন: IPv4 এর 'Classless' রাউটিংয়ে বড় নেটওয়ার্ককে ছোট ছোট নেটওয়ার্কে ভাগ করাকে 'Subnetting' বলে; ছোট ছোট নেটওয়ার্ককে একত্রে বড় করার প্রক্রিয়াকে কী বলে?

  • উত্তর: Supernetting (বা Route Aggregation)।

৪৮. প্রশ্ন: TCP হেদারে 'SYN', 'ACK', 'FIN' এবং 'RST' ফ্ল্যাগগুলোর কাজ কী?

  • উত্তর: SYN = কানেকশন শুরু করা; ACK = প্রাপ্তি স্বীকার; FIN = কানেকশন স্বাভাবিকভাবে বন্ধ করা; RST = কানেকশন জোরপূর্বক বাতিল করা।

৪৯. প্রশ্ন: 'SQL Injection' আক্রমণ প্রতিরোধের প্রধান উপায় কী?

  • উত্তর: Prepared Statements বা Parameterized Queries ব্যবহার করা এবং ইনপুট ভ্যালিডেশন করা।

৫০. প্রশ্ন: ওএসআই মডেলের কোন লেয়ারে 'Flow Control' এবং 'Error Control' উভয়ই প্রথম নিশ্চিত করা হয়?

  • উত্তর: Data Link Layer (Layer 2)-এ (ট্রান্সপোর্ট লেয়ারেও এটি অ্যান্ড-টু-অ্যান্ড হিসেবে কাজ করে)।

৫১. প্রশ্ন: 'Man-in-the-Middle' (MitM) অ্যাটাক বলতে কী বোঝায়?

  • উত্তর: যখন একজন হ্যাকার বা আক্রমণকারী গোপনে দুজন বৈধ ব্যবহারকারীর মধ্যকার যোগাযোগের মাঝখানে অবস্থান করে এবং তাদের তথ্য চুরি বা পরিবর্তন করে।

৫২. প্রশ্ন: 'Proxy Server' এবং 'Reverse Proxy' এর মধ্যে পার্থক্য কী?

  • উত্তর: Proxy Server ক্লায়েন্টের হয়ে ইন্টারনেটের সাথে যোগাযোগ করে ক্লায়েন্টকে আড়াল করে। Reverse Proxy সার্ভারের হয়ে ক্লায়েন্টের রিকোয়েস্ট গ্রহণ করে সার্ভারকে আড়াল করে এবং লোড ব্যালেন্সিং করে।

৫৩. প্রশ্ন: IPv6 অ্যাড্রেসগুলো রিপ্রেজেন্ট করতে কোন নম্বর সিস্টেম ব্যবহার করা হয়?

  • উত্তর: হেক্সাডেসিমাল (Hexadecimal) নম্বর সিস্টেম।

৫৪. প্রশ্ন: 'Salting' কী এবং এটি কোথায় ব্যবহার করা হয়?

  • উত্তর: পাসওয়ার্ড হ্যাশ করার আগে তার সাথে অতিরিক্ত কিছু র্যান্ডম ক্যারেক্টার যুক্ত করার প্রক্রিয়া, যা রেইনবো টেবিল (Rainbow Table) আক্রমণ থেকে পাসওয়ার্ড রক্ষা করে।

৫৫. প্রশ্ন: 'DDoS' আক্রমণের পূর্ণরূপ কী?

  • উত্তর: Distributed Denial of Service।

৬. সফটওয়্যার ইঞ্জিনিয়ারিং, আর্কিটেকচার ও ডিজাইন প্যাটার্নস

৫৬. প্রশ্ন: 'SOLID' প্রিন্সিপালসের ৫টি অক্ষরের পূর্ণরূপ কী?

  • উত্তর: S=Single Responsibility, O=Open/Closed, L=Liskov Substitution, I=Interface Segregation, D=Dependency Inversion।

৫৭. প্রশ্ন: 'Singleton Design Pattern' এর মূল উদ্দেশ্য কী?

  • উত্তর: কোনো একটি নির্দিষ্ট ক্লাসের যেন পুরো অ্যাপ্লিকেশনে কেবল একটিমাত্র অবজেক্ট বা ইনস্ট্যান্স তৈরি হয় এবং তার গ্লোবাল অ্যাক্সেস পয়েন্ট থাকে তা নিশ্চিত করা।

৫৮. প্রশ্ন: সফটওয়্যার টেস্টিংয়ে 'Regression Testing' কেন করা হয়?

  • উত্তর: কোডে কোনো নতুন পরিবর্তন বা বাগ ফিক্স করার পর আগের তৈরি করা ফিচারগুলো কোনোভাবে ভেঙে গেছে কিনা তা নিশ্চিত করার জন্য।

৫৯. প্রশ্ন: 'Microservices Architecture' এবং 'Monolithic Architecture' এর মধ্যে প্রধান তফাত কী?

  • উত্তর: Monolithic-এ পুরো অ্যাপ্লিকেশন একটি একক কোডবেস এবং সার্ভারে চলে। Microservices-এ অ্যাপ্লিকেশনটিকে একাধিক ছোট, স্বাধীন ও স্বয়ংসম্পূর্ণ সার্ভিসে ভাগ করা হয় যা এপিআই দিয়ে যোগাযোগ করে।

৬০. প্রশ্ন: সফটওয়্যারে 'Technical Debt' বলতে কী বোঝায়?

  • উত্তর: দ্রুত কাজ শেষ করার জন্য সুদূরপ্রসারী ও ভালো কোড না লিখে সাময়িকভাবে সহজ বা জোড়াতালির কোড লেখার ফলে ভবিষ্যতে যে অতিরিক্ত সময় ও শ্রমের ক্ষতি হয়।

৬১. প্রশ্ন: 'Factory Design Pattern' কোন ক্যাটাগরির ডিজাইন প্যাটার্ন?

  • উত্তর: Creational Design Pattern (এটি অবজেক্ট তৈরির লজিক সরাসরি প্রকাশ না করে অবজেক্ট তৈরি করে)।

৬২. প্রশ্ন: 'Agile Software Development' এ 'Sprint' কী?

  • উত্তর: একটি নির্দিষ্ট ও সংক্ষিপ্ত সময়কাল (সাধারণত ১ থেকে ৪ সপ্তাহ), যার মধ্যে সফটওয়্যারের নির্দিষ্ট কিছু কাজের পরিকল্পনা, কোডিং এবং টেস্টিং সম্পন্ন করে রিলিজ করা হয়।

৬৩. প্রশ্ন: সফটওয়্যার আর্কিটেকচারে 'MVC' প্যাটার্নের ৩টি অংশের কাজ কী?

  • উত্তর: Model = ডেটা ও বিজনেস লজিক হ্যান্ডল করে; View = ইউজার ইন্টারফেস বা স্ক্রিন দেখায়; Controller = ইউজার ইনপুট নিয়ে মডেল ও ভিউকে নিয়ন্ত্রণ করে।

৬৪. প্রশ্ন: 'Integration Testing' কাকে বলে?

  • উত্তর: সফটওয়্যারের একাধিক আলাদা মডিউল বা ইউনিটকে একত্রে জুড়ে দিয়ে তাদের মধ্যকার পারস্পরিক যোগাযোগ ও ডাটা আদান-প্রদান ঠিকঠাক হচ্ছে কিনা তা পরীক্ষা করা।

৬৫. প্রশ্ন: 'Design Patterns' মূলত কত প্রকার ও কী কী?

  • উত্তর: ৩ প্রকার। Creational, Structural, এবং Behavioral প্যাটার্ন।

৭. ডিজিটাল লজিক, কম্পাইলার ও কম্পিউটেশন থিওরি

৬৬. প্রশ্ন: বুলিয়ান অ্যালজেবরায় 'De Morgan's Laws' বা ডি মর্গানের সূত্র দুটি কী কী?

  • উত্তর: ১. $(A + B)' = A' \cdot B'$ এবং ২. $(A \cdot B)' = A' + B'$

৬৭. প্রশ্ন: 'Karnaugh Map' (K-Map) কেন ব্যবহার করা হয়?

  • উত্তর: বুলিয়ান ইকুয়েশন বা লজিক সার্কিটকে গ্রাফিক্যাল উপায়ে সবচেয়ে সহজ বা সংক্ষিপ্ত আকারে রূপান্তর করার জন্য।

৬৮. প্রশ্ন: 'SRAM' এবং 'DRAM' এর মধ্যে প্রধান পার্থক্য কী?

  • উত্তর: SRAM দ্রুতগতির এবং এটি রিফ্রেশ করতে হয় না (ফ্লিপ-ফ্লপ দিয়ে তৈরি)। DRAM ধীরগতির এবং এটিকে প্রতি সেকেন্ডে বহুবার রিফ্রেশ করতে হয় (ক্যাপাসিটর দিয়ে তৈরি)।

৬৯. প্রশ্ন: কম্পাইলার ডিজাইনে 'Lexical Analysis' এর কাজ কী?

  • উত্তর: সোর্স কোডের ক্যারেক্টারগুলোকে ক্যারেক্টার বাই ক্যারেক্টার পড়ে অর্থপূর্ণ শব্দগুচ্ছ বা 'Tokens' (যেমন: keywords, identifiers) এ রূপান্তর করা।

৭০. প্রশ্ন: 'Chomsky Hierarchy' অনুযায়ী সবচেয়ে শক্তিশালী গ্রামার বা ল্যাঙ্গুয়েজ কোনটি?

  • উত্তর: Type 0 - Unrestricted Grammar (যা টুরিং মেশিন দ্বারা স্বীকৃত)।

৭১. প্রশ্ন: একটি 'Full Adder' সার্কিট তৈরি করতে কয়টি হাফ-অ্যাডার এবং কয়টি ওআর (OR) গেট লাগে?

  • উত্তর: ২টি হাফ-অ্যাডার (Half Adder) এবং ১টি ওআর (OR) গেট।

৭২. প্রশ্ন: 'Decidable Problem' কাকে বলে?

  • উত্তর: যে সকল গাণিতিক বা কম্পিউটেশনাল সমস্যার সমাধান করার জন্য এমন একটি অ্যালগরিদম তৈরি করা সম্ভব যা প্রতিটি ইনপুটের জন্য নির্দিষ্ট সময়ে 'হ্যাঁ' বা 'না' উত্তর দিতে পারে।

৭৩. প্রশ্ন: কম্পাইলার অপ্টিমাইজেশনে 'Loop Unrolling' বলতে কী বোঝায়?

  • উত্তর: লুপের কন্ডিশন চেক করার ওভারহেড কমানোর জন্য লুপের ভেতরের কোডকে পুনরাবৃত্তি করে লুপের ইটারেশন সংখ্যা কমিয়ে আনা।

৭৪. প্রশ্ন: 'Von Neumann Architecture' এর মূল বৈশিষ্ট্য কী?

  • উত্তর: এতে ডেটা (Data) এবং ইন্সট্রাকশন (Instructions/Program) উভয়ই একই মেমোরি স্পেসে সংরক্ষিত থাকে এবং একটি একক বাস শেয়ার করে।

৭৫. প্রশ্ন: ৩ বিটের একটি 'Counter' সর্বোচ্চ কত পর্যন্ত গণনা করতে পারে?

  • উত্তর: ০ থেকে ৭ পর্যন্ত (মোট ৮টি স্টেট, $2^3 = 8$)।

৮. এআই, ডেটা সায়েন্স এবং ক্লাউড কম্পিউটিং (AI & Cloud)

৭৬. প্রশ্ন: মেশিন লার্নিংয়ে 'Supervised Learning' এবং 'Unsupervised Learning' এর মূল পার্থক্য কী?

  • উত্তর: Supervised লার্নিংয়ে মডেলকে লেবেলযুক্ত (Labeled) বা উত্তরসহ ডেটা দিয়ে ট্রেইন করা হয়। Unsupervised লার্নিংয়ে ডেটাতে কোনো লেবেল থাকে না, মডেল নিজে থেকে প্যাটার্ন খোঁজে।

৭৭. প্রশ্ন: নিউরাল নেটওয়ার্কে 'Overfitting' দূর করার দুটি উপায় কী কী?

  • উত্তর: ১. ড্রপআউট (Dropout) লেয়ার ব্যবহার করা এবং ২. রেগুলারাইজেশন (L1/L2 Regularization) বা অধিক ডেটা যোগ করা।

৭৮. প্রশ্ন: ক্লাউড কম্পিউটিংয়ে 'PaaS' এর পূর্ণরূপ কী এবং একটি উদাহরণ দিন।

  • উত্তর: Platform as a Service; যেমন: Heroku, Google App Engine (যেখানে ডেভেলপার সরাসরি কোড ডেপ্লয় করার প্ল্যাটফর্ম পায়)।

৭৯. প্রশ্ন: মেশিন লার্নিংয়ে 'Precision' এবং 'Recall' এর মধ্যে পার্থক্য কী?

  • উত্তর: Precision নির্দেশ করে পজিটিভ চিহ্নিত ডেটাগুলোর মধ্যে কতগুলো আসলেই পজিটিভ। Recall নির্দেশ করে মোট প্রকৃত পজিটিভ ডেটার মধ্যে কতগুলোকে মডেল সঠিকভাবে পজিটিভ চিহ্নিত করতে পেরেছে।

৮০. প্রশ্ন: ডেটা সায়েন্সে 'Data Normalization' (যেমন Min-Max Scaling) কেন করা হয়?

  • উত্তর: ডেটাসেটের বিভিন্ন ফিচারের মানের রেঞ্জ বা স্কেল যদি খুব বড়-ছোট হয়, তবে সব ফিচারকে একটি নির্দিষ্ট সীমার মধ্যে (যেমন ০ থেকে ১) নিয়ে আসার জন্য।

৮১. প্রশ্ন: 'Docker Image' এবং 'Docker Container' এর মধ্যে সম্পর্ক কী?

  • উত্তর: Docker Image হলো সফটওয়্যারের একটি রিড-অনলি ব্লুপ্রিন্ট বা টেমপ্লেট। আর ওই ইমেজের রানিং ইনস্ট্যান্স বা চলমান রূপই হলো Docker Container।

৮২. প্রশ্ন: কৃত্রিম বুদ্ধিমত্তায় 'A* Search Algorithm' কেন এত জনপ্রিয়?

  • উত্তর: এটি হিউরিস্টিক ফাংশন ($h(n)$) ব্যবহার করে গ্রাফ বা ম্যাপে সবচেয়ে কম খরচে এবং দ্রুততম সময়ে গন্তব্যে পৌঁছানোর পথ খুঁজে বের করতে পারে।

৮৩. প্রশ্ন: 'Edge Computing' বলতে কী বোঝায়?

  • উত্তর: ডেটা প্রসেস করার জন্য দূরবর্তী কেন্দ্রীয় ক্লাউড সার্ভারে না পাঠিয়ে, ডেটা যেখানে উৎপন্ন হচ্ছে তার একদম কাছাকাছি বা লোকাল ডিভাইসেই ডেটা প্রসেস করার প্রযুক্তি।

৮৪. প্রশ্ন: 'Data Warehouse' কী?

  • উত্তর: এটি একটি কেন্দ্রীয় ডেটা স্টোরেজ যেখানে কোনো প্রতিষ্ঠানের বিভিন্ন উৎস থেকে সংগৃহীত বিশাল পরিমাণের ঐতিহাসিক ডেটা ব্যবসা ও সিদ্ধান্ত গ্রহণের বিশ্লেষণের জন্য জমা রাখা হয়।

৮৫. প্রশ্ন: এনএলপি (NLP)-তে 'Tokenization' বলতে কী বোঝায়?

  • উত্তর: কোনো বড় টেক্সট বা বাক্যকে ভেঙে ছোট ছোট একক শব্দ বা শব্দাংশে (Tokens) পরিণত করার প্রাথমিক প্রক্রিয়া।

৯. ব্যাংক আইসিটি ও সরকারি পরীক্ষার বিবিধ টেকনিক্যাল প্রশ্ন

৮৬. প্রশ্ন: ব্যাংকিং সিস্টেমে ব্যবহৃত 'Core Banking Software' (CBS) এর কাজ কী?

  • উত্তর: ব্যাংকের সব শাখা ও সেন্ট্রাল ডাটাবেজকে রিয়েল-টাইমে এক সুতোয় বেঁধে গ্রাহকদের যেকোনো স্থান থেকে ২৪/৭ ব্যাংকিং সুবিধা দেওয়া।

৮৭. প্রশ্ন: বাংলাদেশে সরকারি ই-গভর্নমেন্ট আর্কিটেকচারের স্ট্যান্ডার্ড ফ্রেমওয়ার্কের নাম কী?

  • উত্তর: BNDA (Bangladesh National Digital Architecture)।

৮৮. প্রশ্ন: ওয়েব ডেভেলপমেন্টে 'Restful API' তে POST এবং PUT মেথডের মূল তফাত কী?

  • উত্তর: POST ব্যবহৃত হয় সম্পূর্ণ নতুন ডাটা বা রিসোর্স তৈরি করতে। PUT ব্যবহৃত হয় নির্দিষ্ট কোনো বিদ্যমান ডাটা আপডেট করতে বা না থাকলে তৈরি করতে।

৮৯. প্রশ্ন: 'RAID 5' কনফিগারেশনে সর্বনিম্ন কয়টি হার্ডডিস্ক প্রয়োজন এবং এর সুবিধা কী?

  • উত্তর: সর্বনিম্ন ৩টি ডিস্ক প্রয়োজন; এটি ডাটা স্ট্রিপিং এবং প্যারিটি (Parity) ব্যবহার করে উচ্চ গতি ও ডাটা ব্যাকআপ উভয়ই দেয়।

৯০. প্রশ্ন: মোবাইল অ্যাপ ডেভেলপমেন্টে 'Native App' এবং 'Cross-Platform App' এর পার্থক্য কী?

  • উত্তর: Native App নির্দিষ্ট ওএসের (যেমন শুধু অ্যান্ড্রয়েডের জন্য Java/Kotlin) জন্য তৈরি হয়। Cross-Platform App একটি একক কোডবেস দিয়ে (যেমন Flutter/React Native) অ্যান্ড্রয়েড ও আইওএস উভয় প্ল্যাটফর্মেরই অ্যাপ তৈরি করে।

৯১. প্রশ্ন: সফটওয়্যার টেস্টিংয়ে 'Boundary Value Analysis' (BVA) কী?

  • উত্তর: এটি একটি ব্ল্যাক-বক্স টেস্ট কেস ডিজাইনের কৌশল যেখানে ইনপুটের একদম সীমানার মানগুলো (যেমন সর্বনিম্ন, সর্বোচ্চ, সীমানার ঠিক আগের ও পরের মান) নিয়ে কোড টেস্ট করা হয়।

৯২. প্রশ্ন: আইটি প্রজেক্ট ম্যানেজমেন্টে 'CPM' এর পূর্ণরূপ কী?

  • উত্তর: Critical Path Method (প্রজেক্টের কোন কাজগুলো দেরি করলে পুরো প্রজেক্ট পিছিয়ে যাবে তা বের করার পদ্ধতি)।

৯৩. প্রশ্ন: 'JSON' এর পূর্ণরূপ কী এবং এটি কেন ব্যবহৃত হয়?

  • উত্তর: JavaScript Object Notation; এটি হালকা ও সহজে পড়ার উপযোগী টেক্সট ফরম্যাট যা ক্লায়েন্ট এবং সার্ভারের মধ্যে ডাটা আদান-প্রদান করতে ব্যবহৃত হয়।

৯৪. প্রশ্ন: ডাটাবেজে 'Shadow Paging' কী?

  • উত্তর: এটি ডাটাবেজ রিকভারি ও ট্রানজেকশন ম্যানেজমেন্টের একটি টেকনিক যেখানে কারেন্ট পেজ টেবিলের একটি শ্যাডো বা ডুপ্লিকেট কপি রেখে ডাটা ব্যাকআপ নিশ্চিত করা হয়।

৯৫. প্রশ্ন: 'Information Entropy' বলতে কী বোঝায়?

  • উত্তর: কোনো একটি ইনফরমেশন বা ডাটা সোর্সের মধ্যে থাকা অনিশ্চয়তা বা র্যান্ডমনেসের গাণিতিক পরিমাপ।

৯৬. প্রশ্ন: কম্পিউটার নেটওয়ার্কের থ্রুপুট (Throughput) এবং ব্যান্ডউইডথ (Bandwidth) এর মধ্যে পার্থক্য কী?

  • উত্তর: Bandwidth হলো একটি নেটওয়ার্ক লাইনের সর্বোচ্চ ডাটা পরিবহনের তাত্ত্বিক ক্ষমতা। Throughput হলো প্রকৃতপক্ষে নির্দিষ্ট সময়ে ওই লাইন দিয়ে সফলভাবে পার হওয়া ডাটার বাস্তব পরিমাণ।

৯৭. প্রশ্ন: জাভাতে 'Garbage Collector' মেমোরির কোন অংশ পরিষ্কার করে?

  • উত্তর: হিপ মেমোরি (Heap Memory), যেখানে সব অবজেক্ট তৈরি হয় (স্ট্যাক মেমোরি ওএস নিজে থেকেই কন্ট্রোল করে)।

৯৮. প্রশ্ন: 'Cyber Forensics' এ 'Write Blocker' কেন ব্যবহার করা হয়?

  • উত্তর: তদন্তের সময় মূল হার্ডডিস্ক বা এভিডেন্সের ডেটা যেন কোনোভাবে মডিফাই বা পরিবর্তিত না হয়ে যায়, তা শতভাগ নিশ্চিত করতে ডিজিটাল রাইট ব্লকার ডিভাইস ব্যবহার করা হয়।

৯৯. প্রশ্ন: নেটওয়ার্ক সিকিউরিটিতে 'HoneyPot' কী?

  • উত্তর: হ্যাকারদের বিভ্রান্ত ও ফাঁদে ফেলার জন্য ইন্টারনেটে ইচ্ছাকৃতভাবে বসিয়ে রাখা একটি ফাঁপা বা দুর্বল নকল সার্ভার/সিস্টেম, যা হ্যাকারদের আক্রমণের ধরন স্টাডি করতে ব্যবহৃত হয়।

১০০. প্রশ্ন: ডেটাবেজের ক্ষেত্রে 'OLAP' এবং 'OLTP' এর মূল পার্থক্য কী?

  • উত্তর: OLTP (Online Transaction Processing) ব্যবহৃত হয় দৈনন্দিন দ্রুত ট্রানজেকশনের কাজ সচল রাখতে (যেমন ব্যাংকের এটিএম)। OLAP (Online Analytical Processing) ব্যবহৃত হয় ডাটাবেজের বিশাল ডেটা বিশ্লেষণ ও রিপোর্ট তৈরীর কাজে