Loading...
Combined Bank

Post: Assistant Programmer,
Exam Date: 17.01.2026
1. Explain the concept of inheritance in Object-Oriented Programming. Name and briefly describe three common types of inheritance used in OOP. 10

Inheritance in Object-Oriented Programming (OOP)
Inheritance is an OOP concept where a child (derived) class inherits properties and behaviors from a parent (base) class. It helps reuse existing code and represents real-world hierarchical relationships (like Animal → Dog).

Types of Inheritance

1) Single Inheritance
One child class inherits from one parent class.

Animal
  |
 Dog

Here, Dog inherits features (like eating, breathing) from Animal.

2) Multiple Inheritance
One child class inherits from more than one parent class.

Printer     Scanner
     \     /
      \   /
     AllInOne

Here, AllInOne inherits features of both Printer and Scanner.

3) Multilevel Inheritance
A class is derived from another derived class, forming a chain.

Vehicle
   |
  Car
   |
ElectricCar

Here, ElectricCar indirectly inherits features from Vehicle through Car.

Object-Oriented Programming (OOP) এ Inheritance
Inheritance হলো OOP এর একটি ধারণা যেখানে একটি child (derived) class, তার parent (base) class এর বৈশিষ্ট্য ও আচরণ উত্তরাধিকারসূত্রে পায়। এটি code পুনঃব্যবহার সহজ করে এবং বাস্তব জীবনের সম্পর্ক উপস্থাপন করে।

Inheritance এর ধরন (Tree উদাহরণসহ)

1) Single Inheritance
একটি child class একটি মাত্র parent class থেকে inherit করে।

Animal
  |
 Dog

এখানে Dog class, Animal class এর বৈশিষ্ট্য পায়।

2) Multiple Inheritance
একটি child class একাধিক parent class থেকে inherit করে।

Printer     Scanner
     \     /
      \   /
     AllInOne

এখানে AllInOne class, PrinterScanner উভয়ের বৈশিষ্ট্য পায়।

3) Multilevel Inheritance
একটি derived class থেকে আরেকটি class inherit করলে multilevel inheritance হয়।

Vehicle
   |
  Car
   |
ElectricCar

এখানে ElectricCar পরোক্ষভাবে Vehicle এর বৈশিষ্ট্য পায়।

2. Explain the concept of the Software Development Life Cycle (SDLC) and describe its main phases. 10

Software Development Life Cycle (SDLC)
The Software Development Life Cycle (SDLC) is a structured process used to design, develop, test, deploy, and maintain software systems. It provides a systematic approach to building high-quality software that meets user requirements, stays within budget, and is delivered on time.

Main Phases of SDLC

1) Requirement Analysis
In this phase, user needs and system requirements are collected and analyzed to understand what the software should do.

2) System Design
Based on the requirements, the overall system architecture, database design, and technical specifications are prepared.

3) Implementation (Coding)
The actual software is developed by writing code according to the design specifications.

4) Testing
The software is tested to identify and fix bugs and ensure it works correctly and meets user expectations.

5) Deployment
After successful testing, the software is released and deployed in a real user environment.

6) Maintenance
Once deployed, the software is maintained through updates, bug fixes, and enhancements based on user feedback.

Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) হলো একটি ধাপে ধাপে পদ্ধতি যা software system design, develop, test, deploy এবং maintain করার জন্য ব্যবহার করা হয়। এটি পরিকল্পিতভাবে উন্নতমানের software তৈরি করতে সাহায্য করে।

SDLC এর প্রধান ধাপসমূহ

1) Requirement Analysis
এই ধাপে user এর প্রয়োজনীয়তা সংগ্রহ ও বিশ্লেষণ করা হয়, যাতে software কী কাজ করবে তা স্পষ্টভাবে বোঝা যায়।

2) System Design
Requirement অনুযায়ী system architecture, database design এবং technical structure তৈরি করা হয়।

3) Implementation (Coding)
এই ধাপে design অনুযায়ী software এর coding করা হয়।

4) Testing
Software এ error আছে কিনা এবং এটি সঠিকভাবে কাজ করছে কিনা তা পরীক্ষা করা হয়।

5) Deployment
Testing শেষ হলে software টি বাস্তব পরিবেশে user এর জন্য release করা হয়।

6) Maintenance
Deployment এর পর software update, bug fix এবং user feedback অনুযায়ী উন্নয়ন করা হয়।

3. Apply the concept of IP addressing and routing to explain how packets are delivered across networks using Open Shortest Path First (OSPF) at the network layer. 10

IP Addressing and Routing with OSPF
IP addressing provides a unique logical address to every device in a network, which allows packets to be identified and routed to the correct destination. Routing is the process of selecting the best path for these packets to travel across interconnected networks.

Role of OSPF at the Network Layer
Open Shortest Path First (OSPF) is a link-state routing protocol used at the network layer. Each router running OSPF maintains a complete map of the network topology using IP addresses and link information.

How Packet Delivery Works Using OSPF
• Routers exchange link-state advertisements (LSAs) containing information about their networks and IP subnets.
• Each router builds a link-state database representing the entire network.
• OSPF uses the Dijkstra shortest path algorithm to calculate the best path to every destination IP network based on cost (bandwidth).
• The routing table is updated with the shortest paths.
• When a packet arrives, the router checks the destination IP address and forwards the packet to the next-hop router based on the routing table.

Result
Using IP addressing for identification and OSPF for intelligent routing, packets are delivered efficiently, reliably, and dynamically across large networks, even when network changes occur.

OSPF ব্যবহার করে IP Addressing ও Routing
IP addressing প্রতিটি device কে একটি unique logical address দেয়, যার মাধ্যমে packet গুলো সঠিক destination এ পৌঁছাতে পারে। Routing হলো এই packet গুলোর জন্য সর্বোত্তম পথ নির্বাচন করার প্রক্রিয়া।

Network Layer এ OSPF এর ভূমিকা
Open Shortest Path First (OSPF) হলো একটি link-state routing protocol যা network layer এ কাজ করে। OSPF চালু থাকা প্রতিটি router IP address ও link information ব্যবহার করে পুরো network এর একটি topology map তৈরি করে।

OSPF দিয়ে Packet কীভাবে পৌঁছায়
• Router গুলো link-state advertisement (LSA) আদান-প্রদান করে, যেখানে network ও IP subnet এর তথ্য থাকে।
• প্রতিটি router একটি link-state database তৈরি করে, যা পুরো network এর চিত্র দেখায়।
• OSPF Dijkstra shortest path algorithm ব্যবহার করে প্রতিটি destination network এর জন্য সবচেয়ে কম খরচের পথ নির্ধারণ করে।
• Routing table আপডেট হয় সর্বোত্তম path দিয়ে।
• Packet আসলে router destination IP address দেখে routing table অনুযায়ী পরবর্তী router এ পাঠায়।

ফলাফল
IP addressing এবং OSPF routing একসাথে ব্যবহার করে packet দ্রুত, নির্ভরযোগ্য এবং স্বয়ংক্রিয়ভাবে বিভিন্ন network অতিক্রম করে destination এ পৌঁছে যায়, এমনকি network পরিবর্তন হলেও।

4. What is a Universal Gate? Prove that the NAND Gate is a Universal Gate.

Universal Gate
A Universal Gate is a logic gate that can be used to implement any Boolean function (i.e., any logic circuit). If we can build the basic gates NOT, AND, and OR using only one type of gate, then that gate is called a universal gate.

Proof: NAND is a Universal Gate
To prove NAND is universal, we show that we can construct NOT, AND, and OR using only NAND gates.


Since we can build NOT, AND, and OR using only NAND gates, we can build any Boolean expression. Therefore, the NAND gate is a Universal Gate.

Universal Gate
Universal Gate হলো এমন একটি logic gate যার সাহায্যে যেকোনো Boolean function বা যেকোনো logic circuit তৈরি করা যায়। যদি একটি মাত্র gate ব্যবহার করে NOT, AND, এবং OR gate তৈরি করা যায়, তাহলে সেই gate কে universal gate বলা হয়।

প্রমাণ: NAND Gate Universal Gate
NAND universal প্রমাণ করতে হলে দেখাতে হবে যে শুধুমাত্র NAND gate দিয়ে NOT, AND, এবং OR তৈরি করা যায়।

কারণ শুধুমাত্র NAND gate ব্যবহার করে NOT, AND, এবং OR তৈরি করা যায়, তাই যেকোনো Boolean function তৈরি করা সম্ভব। সুতরাং NAND gate একটি Universal Gate

5. Explain the fundamental difference between a Process and a Thread. Provide two distinct advantages of using threads over processes.
Difference between Process and Thread A process is an independent program in execution with its own memory space, system resources, and execution context. A thread is the smallest unit of execution within a process and shares the same memory and resources with other threads of that process.Advantages of Threads over Processes 1) Faster Communication: Threads within the same process share memory, making inter-thread communication faster than inter-process communication.2) Lower Resource Overhead: Threads require less memory and fewer system resources compared to processes, leading to better performance and efficiency.
Process এবং Thread এর মৌলিক পার্থক্য Process হলো একটি স্বতন্ত্র প্রোগ্রাম যা execution অবস্থায় থাকে এবং যার নিজস্ব memory space ও system resource থাকে। Thread হলো process এর ভেতরে থাকা সবচেয়ে ছোট execution unit, যা একই process এর অন্যান্য thread এর সাথে memory ও resource শেয়ার করে।Process এর তুলনায় Thread ব্যবহারের সুবিধা 1) দ্রুত Communication: একই process এর thread গুলো memory শেয়ার করায় একে অপরের সাথে খুব দ্রুত data আদান-প্রদান করতে পারে।2) কম Resource ব্যবহার: Thread process এর তুলনায় কম memory ও system resource ব্যবহার করে, ফলে performance বেশি হয়।
6. What is Version Control (e.g., Git)? Explain the specific difference between "Committing" code and "Pushing" code.

Version Control (Git)
Version Control is a system that helps developers track changes in source code over time. Git is a popular version control system that allows multiple developers to work on the same project, manage different versions of code, and revert to previous states when needed.

Difference between Committing and Pushing Code
Committing Code
Committing means saving changes to the local repository. It records a snapshot of the code with a message describing what was changed. The changes are stored only on the developer’s local machine.

Pushing Code
Pushing means sending committed changes from the local repository to a remote repository (such as GitHub or GitLab). This makes the changes available to other team members.

Key Difference
Committing saves changes locally, while pushing uploads those committed changes to a remote server.

Version Control (Git)
Version Control হলো এমন একটি system যা source code এর পরিবর্তনগুলো track করতে সাহায্য করে। Git একটি জনপ্রিয় version control system, যার মাধ্যমে একাধিক developer একই project এ কাজ করতে পারে, code এর version নিয়ন্ত্রণ করতে পারে এবং প্রয়োজনে আগের অবস্থায় ফিরে যেতে পারে।

Committing এবং Pushing Code এর পার্থক্য
Committing Code
Committing মানে হলো code এর পরিবর্তনগুলো local repository তে সংরক্ষণ করা। এটি একটি snapshot তৈরি করে এবং কী পরিবর্তন হয়েছে তা message আকারে রাখে। এই পরিবর্তন শুধু নিজের computer এই থাকে।

Pushing Code
Pushing মানে হলো local repository তে commit করা পরিবর্তনগুলো remote repository (যেমন GitHub বা GitLab) এ পাঠানো। এতে অন্য developer রাও সেই পরিবর্তন দেখতে ও ব্যবহার করতে পারে।

মূল পার্থক্য
Committing করলে পরিবর্তন local থাকে, আর pushing করলে সেই পরিবর্তন remote server এ পাঠানো হয়।

You must subscribe & Login to view more.

Don’t have an account? Register

Or your subscription is under review by admin. Please message on WhatsApp / Telegram.

Leave a Comment

Latest Post
Field Based Job Question & Solution
Bank IT Job Solution

MCQ + Written from Bangladesh Bank, Sonali, Combined Bank IT recruitment.

BPSC IT Job Solution

BPSC Computer/IT cadre & non-cadre post Question papers with full solutions.

Gas Field IT Job Solution

Gas field like TGTDCL, BGDCL, JGTDSL, KGDCL, SGCL, RPGCL, GTCL etc. question solution

Power Sector IT Job Solution

Power sector such as NESCO, DESCO, DPDC, WZPDCL, BPDB, PGCB, BREB etc

Other IT Job Solution

Other Govt. Semi govt. organization like BCC, BTCL, CAAB, NSI etc.

NTRCA IT Job Solution (upcoming)

NTRCA ICT-related posts such as Assistant Teacher, Demonstrator, Lecturer.

IT MCQ Job Solution

Collected MCQ Job solution of BANK, BPSC, POWER SECTOR, GAS Field and Others.

Topic Based Q&S
WhatsApp Telegram Messenger