Previous (2021-2026) AME/ANE/AE/ANSE QnS
Combined Bank, AME/AE (IT), 2026 (Based Year 2023)
- 1Data Center & VirtualizationRAIDA maintenance engineer is setting up a RAID 5 array with five hard drives, each having a capacity of 4 TB. What is the total usable storage capacity, and why is it not 20 TB?
In RAID 5, the storage capacity of one drive is used for parity information.
Parity is used for fault tolerance and data recovery if one drive fails.
Given:
Number of drives = 5
Capacity of each drive = 4 TBTotal Raw Capacity
5 × 4 TB = 20 TB
Usable RAID 5 Capacity Formula
(Number of Drives − 1) × Drive Capacity
Calculation
(5 − 1) × 4 TB
= 4 × 4 TB
= 16 TBAnswer
Total Usable Storage Capacity = 16 TB
It is not 20 TB because RAID 5 uses the equivalent capacity of one drive for storing parity data, which provides redundancy and allows recovery if a drive fails.
একজন maintenance engineer পাঁচটি 4 TB hard drive ব্যবহার করে RAID 5 array তৈরি করছে। মোট usable storage capacity কত হবে এবং কেন এটি 20 TB নয়?
RAID 5-এ একটি drive-এর storage capacity parity information সংরক্ষণের জন্য ব্যবহৃত হয়.
Parity fault tolerance এবং drive failure হলে data recovery-এর জন্য ব্যবহৃত হয়.
প্রদত্ত:
Drive সংখ্যা = 5
প্রতিটি drive-এর capacity = 4 TBমোট Raw Capacity
5 × 4 TB = 20 TB
RAID 5 Usable Capacity Formula
(Number of Drives − 1) × Drive Capacity
গণনা
(5 − 1) × 4 TB
= 4 × 4 TB
= 16 TBউত্তর
মোট Usable Storage Capacity = 16 TB
এটি 20 TB নয় কারণ RAID 5-এ একটি drive-এর সমপরিমাণ storage parity data সংরক্ষণের জন্য ব্যবহৃত হয়, যা redundancy প্রদান করে এবং কোনো drive নষ্ট হলে data recovery করতে সাহায্য করে.
- 2Data Center & VirtualizationMaintenanceDistinguish between Preventive and Corrective maintenance with a real-world example for each in a data center environment. A critical system consists of three components: Power Supply, Motherboard, and Storage, connected in a series configuration. If each component has a reliability of 0.95, what is the total reliability of the system?
Preventive Maintenance: Preventive maintenance is the maintenance performed regularly before any failure occurs in order to reduce the chance of system breakdown. Its main goal is to prevent faults and improve system reliability.
Real-World Example:
In a data center, regularly cleaning server cooling fans and replacing UPS batteries before failure is an example of preventive maintenance.Corrective Maintenance: Corrective maintenance is the maintenance performed after a fault or failure has occurred to restore the system to normal operation. Its main goal is to repair failed components and resume service.
Real-World Example:
If a server hard disk suddenly fails in a data center and the technician replaces the failed disk to restore operation, it is corrective maintenance.Difference Between Preventive and Corrective Maintenance
Preventive Maintenance Corrective Maintenance Performed before failure occurs. Performed after failure occurs. Reduces possibility of breakdown. Restores failed system. Planned and scheduled maintenance. Unplanned maintenance. Improves reliability and lifespan. Focuses on repairing faults. Example: Cleaning cooling systems. Example: Replacing failed hard disk. Reliability Calculation of Series System: In a series configuration, total system reliability is the product of reliabilities of all components.
Given:
Reliability of Power Supply = 0.95
Reliability of Motherboard = 0.95
Reliability of Storage = 0.95Formula: R = R1 × R2 × R3
Calculation:
R = 0.95 × 0.95 × 0.95
R = 0.857375Answer: Total Reliability of the System = 0.857375 ≈ 85.74%
প্রশ্ন: Data Center Environment-এ Preventive এবং Corrective Maintenance-এর পার্থক্য বাস্তব উদাহরণসহ ব্যাখ্যা কর। এছাড়া একটি Series System-এর Reliability নির্ণয় কর।
Preventive Maintenance: Preventive maintenance হলো এমন maintenance যা কোনো fault বা failure হওয়ার আগেই নিয়মিতভাবে করা হয়, যাতে system breakdown-এর সম্ভাবনা কমে। এর মূল উদ্দেশ্য হলো fault প্রতিরোধ করা এবং system reliability বৃদ্ধি করা.
Real Example:
Data center-এ server cooling fan পরিষ্কার করা বা UPS battery failure হওয়ার আগেই পরিবর্তন করা preventive maintenance-এর উদাহরণ।Corrective Maintenance: Corrective maintenance হলো এমন maintenance যা fault বা failure হওয়ার পরে system-কে পুনরায় স্বাভাবিক অবস্থায় ফিরিয়ে আনতে করা হয়। এর মূল উদ্দেশ্য হলো faulty component repair বা replace করা.
Real Example:
Data center-এ কোনো server-এর hard disk হঠাৎ নষ্ট হলে সেটি পরিবর্তন করে system restore করা corrective maintenance-এর উদাহরণ।Preventive এবং Corrective Maintenance-এর পার্থক্য
Preventive Maintenance Corrective Maintenance Failure হওয়ার আগে করা হয়। Failure হওয়ার পরে করা হয়। Breakdown-এর সম্ভাবনা কমায়। Failed system পুনরুদ্ধার করে। Planned এবং scheduled maintenance। Unplanned maintenance। Reliability এবং lifespan বৃদ্ধি করে। Fault repair করার উপর গুরুত্ব দেয়। উদাহরণ: Cooling system পরিষ্কার করা। উদাহরণ: নষ্ট hard disk পরিবর্তন করা। Series System-এর Reliability নির্ণয়
Series configuration-এ total system reliability হলো সব component-এর reliability-এর গুণফল.
Power Supply-এর Reliability = 0.95
Motherboard-এর Reliability = 0.95
Storage-এর Reliability = 0.95সূত্র: R = R1 × R2 × R3
R = 0.95 × 0.95 × 0.95
R = 0.857375System-এর মোট Reliability = 0.857375 ≈ 85.74%
- 3Computer NetworkOSI/TCP-IPAt which layer of the OSI model does a standard Router primarily operate, and what is the specific name of the Protocol Data Unit (PDU) at this layer? A router has four contiguous /24 routing table entries: 10.1.0.0/24, 10.1.1.0/24, 10.1.2.0/24, and 10.1.3.0/24. If you summarize these into a single route, what will be the new CIDR notation?
A standard router primarily operates at the Network Layer, which is Layer 3 of the OSI model.
The Protocol Data Unit (PDU) at the Network Layer is called a Packet.
Given Routing Entries:
10.1.0.0/24
10.1.1.0/24
10.1.2.0/24
10.1.3.0/24These four networks are continuous or contiguous because their network addresses increase sequentially.
First Network: 10.1.0.0/24
Range: 10.1.0.0 to 10.1.0.255Second Network: 10.1.1.0/24
Range: 10.1.1.0 to 10.1.1.255Third Network: 10.1.2.0/24
Range: 10.1.2.0 to 10.1.2.255Fourth Network: 10.1.3.0/24
Range: 10.1.3.0 to 10.1.3.255Together, these four networks cover addresses from:
10.1.0.0 to 10.1.3.255Each /24 network contains 256 addresses.
So total addresses become:
256 + 256 + 256 + 256 = 1024 addressesTo represent 1024 addresses, 10 host bits are required.
Since IPv4 address contains 32 bits:
32 − 10 = 22Therefore, the summarized CIDR notation becomes:
10.1.0.0/22Final Answer:
Router Layer = Network Layer / Layer 3
PDU Name = Packet
Supernet = 10.1.0.0/22Standard router মূলত Network Layer-এ কাজ করে, যা OSI model-এর Layer 3।
Network Layer-এর Protocol Data Unit (PDU)-কে Packet বলা হয়।
প্রদত্ত Routing Entries:
10.1.0.0/24
10.1.1.0/24
10.1.2.0/24
10.1.3.0/24এই চারটি network continuous বা contiguous কারণ network address ধারাবাহিকভাবে বৃদ্ধি পাচ্ছে।
প্রথম Network: 10.1.0.0/24
Range: 10.1.0.0 থেকে 10.1.0.255দ্বিতীয় Network: 10.1.1.0/24
Range: 10.1.1.0 থেকে 10.1.1.255তৃতীয় Network: 10.1.2.0/24
Range: 10.1.2.0 থেকে 10.1.2.255চতুর্থ Network: 10.1.3.0/24
Range: 10.1.3.0 থেকে 10.1.3.255এই চারটি network একসাথে নিচের address range cover করে:
10.1.0.0 থেকে 10.1.3.255প্রতিটি /24 network-এ 256টি address থাকে।
তাই মোট address সংখ্যা:
256 + 256 + 256 + 256 = 1024 addresses1024টি address প্রকাশ করার জন্য 10টি host bit দরকার হয়।
যেহেতু IPv4 address মোট 32 bit-এর হয়:
32 − 10 = 22তাই summarized CIDR notation হবে:
10.1.0.0/22Final Answer:
Router Layer = Network Layer / Layer 3
PDU Name = Packet
Supernet = 10.1.0.0/22
- 4Database Management SystemACIDWhat does the Consistency property in ACID guarantee during a bank fund transfer transaction? You are designing the schema for a Savings_Accounts table. Write the specific SQL constraint clause to ensure that the current_balance column can never drop below zero.
Consistency Property in ACID
- Consistency ensures that a database always remains in a valid state before and after a transaction.
- During a bank fund transfer transaction, consistency guarantees that all database rules and constraints are maintained properly.
For example, if money is transferred from one account to another:
- The amount deducted from one account must be added to the other account correctly.
- The total balance in the system must remain consistent.
- No account balance can become invalid or violate database rules.
If any part of the transaction fails, the entire transaction is rolled back to preserve consistency.
SQL Constraint Clause
To ensure that the current_balance column never becomes negative, the following CHECK constraint can be used:
CHECK (current_balance >= 0)Example in Table Schema
CREATE TABLE Savings_Accounts ( account_id INT PRIMARY KEY, customer_name VARCHAR(100), current_balance DECIMAL(10,2), CHECK (current_balance >= 0) );প্রশ্ন: ব্যাংক fund transfer transaction-এর সময় ACID-এর Consistency property কী নিশ্চিত করে? এছাড়া current_balance কখনো শূন্যের নিচে না যাওয়ার জন্য SQL constraint clause লিখ।
ACID-এর Consistency Property
- Consistency নিশ্চিত করে যে transaction-এর আগে এবং পরে database সবসময় valid অবস্থায় থাকবে।
- Bank fund transfer transaction-এর ক্ষেত্রে consistency নিশ্চিত করে যে database-এর সব rule এবং constraint সঠিকভাবে বজায় থাকবে।
উদাহরণস্বরূপ, যদি একটি account থেকে অন্য account-এ টাকা transfer করা হয়:
- এক account থেকে কাটা amount অবশ্যই অন্য account-এ সঠিকভাবে যোগ হতে হবে।
- System-এর মোট balance consistent থাকতে হবে।
- কোনো account balance invalid হতে পারবে না বা database rule ভঙ্গ করতে পারবে না।
যদি transaction-এর কোনো অংশ ব্যর্থ হয়, তাহলে পুরো transaction rollback হবে যাতে consistency বজায় থাকে।
SQL Constraint Clause
current_balance যেন কখনো negative না হয়, তার জন্য নিচের CHECK constraint ব্যবহার করা যায়:
CHECK (current_balance >= 0)Table Schema উদাহরণ
CREATE TABLE Savings_Accounts ( account_id INT PRIMARY KEY, customer_name VARCHAR(100), current_balance DECIMAL(10,2), CHECK (current_balance >= 0) );
- 5Operating SystemDeadlockBriefly explain Circular Wait. In a Resource Allocation Graph (RAG), if a cycle exists, does it absolutely guarantee that a Deadlock has occurred? Explain briefly.
Circular Wait
- Circular wait is one of the necessary conditions for deadlock.
- It occurs when a group of processes are waiting for resources in a circular chain.
- In this situation, each process holds at least one resource and waits for another resource held by the next process in the cycle.
Example:
- Process P1 holds Resource R1 and waits for R2.
- Process P2 holds Resource R2 and waits for R3.
- Process P3 holds Resource R3 and waits for R1.
This creates a circular waiting condition.

Cycle in Resource Allocation Graph (RAG)
If a cycle exists in a Resource Allocation Graph, it does not always guarantee deadlock.
- If each resource type has only one instance, then a cycle definitely indicates deadlock.
- If resource types have multiple instances, then a cycle may exist without deadlock.
So, a cycle is:
- A necessary condition for deadlock
- But not always a sufficient condition
Deadlock Detection using Resource Allocation Graph
To detect deadlock using Resource Allocation Graph (RAG), we follow these steps −
- If RAG contains no cycles, then there is no deadlock in the system.
- If RAG is of single instance resources and it contains a cycle, then there is a deadlock in the system.
- If RAG is of multiple instance resources and it contains a cycle, then deadlock may or may not exist. To check for deadlock, we need convert multiple instance RAG to single instance RAG, by treating each instance of a resource as a separate resource type.

In the graph:
- Resource R1 has only one instance.
- Resource R2 has two instances.
- P1 is holding R1 and requesting R2.
- P2 is holding one instance of R2 and requesting R1.
- P3 is using another instance of R2.
A cycle exists in the graph: P1 → R2 → P2 → R1 → P1
But this graph does not indicate deadlock.
Reason:
Resource R2 has multiple instances. One instance of R2 is currently allocated to P3.
If P3 finishes its work and releases R2, then:
- P1 can obtain R2 and complete execution.
- After P1 completes, it releases R1.
- Then P2 can obtain R1 and continue execution.
Since the processes can still proceed and resources can eventually be released, the system is not permanently blocked.
প্রশ্ন: Circular Wait সংক্ষেপে ব্যাখ্যা কর। Resource Allocation Graph (RAG)-এ cycle থাকলে কি নিশ্চিতভাবে Deadlock হয়েছে বোঝায়? সংক্ষেপে ব্যাখ্যা কর।
Circular Wait
- Circular wait হলো deadlock-এর একটি প্রয়োজনীয় শর্ত।
- এটি তখন ঘটে যখন একাধিক process একটি circular chain আকারে resource-এর জন্য অপেক্ষা করে।
- এখানে প্রতিটি process অন্তত একটি resource ধরে রাখে এবং পরবর্তী process-এর কাছে থাকা অন্য resource-এর জন্য অপেক্ষা করে।
উদাহরণ:
- Process P1 Resource R1 ধরে রেখে R2-এর জন্য অপেক্ষা করছে।
- Process P2 Resource R2 ধরে রেখে R3-এর জন্য অপেক্ষা করছে।
- Process P3 Resource R3 ধরে রেখে R1-এর জন্য অপেক্ষা করছে।
এভাবে একটি circular waiting condition তৈরি হয়।

Resource Allocation Graph (RAG)-এ Cycle
RAG-এ cycle থাকলেই সবসময় deadlock হয়েছে এমন নয়।
- যদি প্রতিটি resource type-এর শুধুমাত্র একটি instance থাকে, তাহলে cycle থাকলে নিশ্চিত deadlock হয়েছে।
- কিন্তু resource type-এর একাধিক instance থাকলে cycle থাকলেও deadlock নাও হতে পারে।
অতএব cycle হলো:
- Deadlock-এর জন্য একটি necessary condition
- কিন্তু সবসময় sufficient condition নয়

Graph-এ:
- Resource R1-এর একটি instance রয়েছে।
- Resource R2-এর দুটি instance রয়েছে।
- P1, R1 ধরে রেখে R2-এর জন্য অপেক্ষা করছে।
- P2, R2-এর একটি instance ধরে রেখে R1-এর জন্য অপেক্ষা করছে।
- P3, R2-এর অন্য instance ব্যবহার করছে।
Graph-এ একটি cycle রয়েছে:
P1 → R2 → P2 → R1 → P1
কিন্তু এই graph-এ deadlock নেই।
কারণ:
Resource R2-এর একাধিক instance রয়েছে। বর্তমানে R2-এর একটি instance P3 ব্যবহার করছে।
যদি P3 তার কাজ শেষ করে R2 release করে, তাহলে:
- P1, R2 পেয়ে execution সম্পন্ন করতে পারবে।
- P1 কাজ শেষ করলে R1 release করবে।
- তারপর P2, R1 পেয়ে execution চালিয়ে যেতে পারবে।
অর্থাৎ process-গুলো পরবর্তীতে execution চালিয়ে যেতে পারছে, তাই system permanently blocked নয়।
- 6Computer SecurityOthersA server suddenly starts sending abnormal traffic to external systems. Analyze the possible cause and suggest immediate actions.
Possible Causes
A server sending abnormal traffic may indicate security or system-related problems. Possible causes include:
- Malware or Virus Infection: The server may be infected with malware, botnet software, or ransomware that is sending malicious traffic.
- DDoS Attack Participation: The compromised server may be used to launch Distributed Denial of Service (DDoS) attacks.
- Unauthorized Access: An attacker may have gained access using weak passwords, stolen credentials, or vulnerabilities.
- Misconfigured Applications: Faulty software or incorrect network configuration may generate excessive traffic.
- Data Breach or Data Exfiltration: Sensitive data may be transferred illegally to external systems.
Immediate Actions
- Isolate the Server: Disconnect the server from the network immediately to stop abnormal traffic.
- Check System Logs: Analyze firewall, server, and application logs to identify suspicious activities.
- Run Security Scan: Use antivirus and malware detection tools to scan the server.
- Identify Active Connections: Check running processes and network connections using monitoring tools.
- Change Credentials: Reset passwords and disable compromised accounts.
- Apply Security Updates: Patch operating system and software vulnerabilities.
- Notify Security Team: Inform administrators or incident response teams immediately.
- Backup Important Data: Secure critical data before recovery actions.
Abnormal outbound traffic is often a sign of compromise or malfunction. Quick isolation, investigation, and security response are necessary to protect the network and prevent further damage.
প্রশ্ন: একটি server হঠাৎ external system-এ abnormal traffic পাঠাতে শুরু করেছে। সম্ভাব্য কারণ বিশ্লেষণ কর এবং তাৎক্ষণিক করণীয় উল্লেখ কর।
সম্ভাব্য কারণসমূহ
Server থেকে abnormal traffic পাঠানো security বা system-related সমস্যার ইঙ্গিত হতে পারে। সম্ভাব্য কারণগুলো হলো:
- Malware বা Virus Infection: Server malware, botnet software বা ransomware দ্বারা আক্রান্ত হতে পারে যা malicious traffic পাঠাচ্ছে।
- DDoS Attack-এ অংশগ্রহণ: Compromised server অন্য system-এর উপর DDoS attack চালাতে ব্যবহৃত হতে পারে।
- Unauthorized Access: দুর্বল password, stolen credential বা vulnerability ব্যবহার করে attacker access পেতে পারে।
- Misconfigured Application: Faulty software বা ভুল network configuration অতিরিক্ত traffic তৈরি করতে পারে।
- Data Breach বা Data Exfiltration: Sensitive data অবৈধভাবে external system-এ পাঠানো হতে পারে।
তাৎক্ষণিক করণীয়
- Server Isolate করা: Abnormal traffic বন্ধ করার জন্য server-কে দ্রুত network থেকে বিচ্ছিন্ন করতে হবে।
- System Log পরীক্ষা: Firewall, server এবং application log বিশ্লেষণ করে suspicious activity খুঁজতে হবে।
- Security Scan চালানো: Antivirus এবং malware detection tool দিয়ে server scan করতে হবে।
- Active Connection পরীক্ষা: Running process এবং network connection monitoring tool দিয়ে পরীক্ষা করতে হবে।
- Credential পরিবর্তন: Password reset এবং compromised account disable করতে হবে।
- Security Update প্রয়োগ: Operating system এবং software-এর vulnerability patch করতে হবে।
- Security Team-কে জানানো: Administrator বা incident response team-কে দ্রুত অবহিত করতে হবে।
- গুরুত্বপূর্ণ Data Backup: Recovery action নেওয়ার আগে গুরুত্বপূর্ণ data নিরাপদে backup রাখতে হবে।
উপসংহার
Abnormal outbound traffic সাধারণত compromise বা system malfunction-এর লক্ষণ। Network সুরক্ষা এবং ক্ষতি প্রতিরোধের জন্য দ্রুত isolation, investigation এবং security response প্রয়োজন।
- 7Big Data, ML & AIHadoop EcosystemA financial services provider needs to handle massive streaming and historical log data to perform fraud analytics and ML-driven maintenance prediction. Identify five Hadoop ecosystem technologies appropriate for this use case and describe their roles.
To process large-scale streaming and historical log data, different Hadoop ecosystem technologies can be used together for storage, processing, querying, and machine learning.
1. HDFS (Hadoop Distributed File System)
- HDFS is used for distributed storage of massive amounts of data across multiple servers.
- It stores historical logs, transaction records, and streaming data reliably with fault tolerance.
Role: Large-scale distributed data storage.
2. Apache Kafka
- Kafka is used for real-time data streaming and message collection.
- It collects continuous transaction logs, user activities, and system events from different sources.
Role: Real-time streaming data ingestion.
3. Apache Spark
- Spark is a fast data processing framework used for big data analytics and machine learning.
- It can process both streaming data and historical data efficiently.
Role: Real-time analytics, fraud detection, and ML processing.
4. Apache Hive
- Hive is a data warehouse tool used to query large datasets using SQL-like language.
- Analysts can generate reports and analyze fraud-related historical data easily.
Role: SQL-based querying and data analysis.
5. Apache Mahout
- Mahout provides machine learning algorithms for big data applications.
- It can be used for predictive analytics, anomaly detection, and maintenance prediction models.
Role: Machine learning and predictive analytics.
প্রশ্ন: একটি financial services provider massive streaming এবং historical log data ব্যবহার করে fraud analytics ও ML-driven maintenance prediction করতে চায়। এই কাজের জন্য উপযুক্ত পাঁচটি Hadoop ecosystem technology এবং তাদের ভূমিকা বর্ণনা কর।
Large-scale streaming এবং historical log data process করার জন্য বিভিন্ন Hadoop ecosystem technology একসাথে ব্যবহার করা হয় storage, processing, querying এবং machine learning-এর কাজে।
1. HDFS (Hadoop Distributed File System)
- HDFS বহু server-এ distributed ভাবে বিপুল পরিমাণ data সংরক্ষণ করতে ব্যবহৃত হয়।
- এটি historical log, transaction record এবং streaming data fault tolerance সহ নিরাপদে সংরক্ষণ করে।
Role: Large-scale distributed data storage।
2. Apache Kafka
- Kafka real-time data streaming এবং message collection-এর জন্য ব্যবহৃত হয়।
- এটি বিভিন্ন source থেকে continuous transaction log, user activity এবং system event সংগ্রহ করে।
Role: Real-time streaming data ingestion।
3. Apache Spark
- Spark একটি দ্রুত data processing framework যা big data analytics এবং machine learning-এর জন্য ব্যবহৃত হয়।
- এটি streaming data এবং historical data উভয়ই দ্রুত process করতে পারে।
Role: Real-time analytics, fraud detection এবং ML processing।
4. Apache Hive
- Hive হলো একটি data warehouse tool যা SQL-এর মতো language ব্যবহার করে বড় dataset query করতে সাহায্য করে।
- এর মাধ্যমে analyst সহজে fraud-related historical data বিশ্লেষণ ও report তৈরি করতে পারে।
Role: SQL-based querying এবং data analysis।
5. Apache Mahout
- Mahout big data application-এর জন্য machine learning algorithm প্রদান করে।
- এটি predictive analytics, anomaly detection এবং maintenance prediction model তৈরিতে ব্যবহৃত হয়।
Role: Machine learning এবং predictive analytics।
- 8Web Technology
Read the three real-world web development scenarios below. For each scenario, identify the single most appropriate HTTP Status Code from the provided list that the server should return.
Codes to choose from: 204, 301, 400, 403, 503
· i. Scenario A: A client sends a POST request to create a new user, but the JSON payload is malformed and missing a required bracket, making it impossible for the server to parse the data.
· ii. Scenario B: A user is successfully logged in, but they attempt to access a /admin/settings endpoint. They only have standard user privileges, not administrator rights.
· iii. Scenario C: A client successfully sends a DELETE request to remove a photo. The photo is deleted, and the server needs to acknowledge the success but has no actual data or message to send back in the response body.Appropriate HTTP Status Codes for the Given Scenarios
Answer:
Scenario HTTP Status Code Reason i. Scenario A 400 Bad Request The request contains malformed JSON, so the server cannot parse or process it. ii. Scenario B 403 Forbidden The user is authenticated but does not have permission to access the /admin/settings resource. iii. Scenario C 204 No Content The DELETE request is successful, and the server has no response body to return. Final Answers
i. 400 Bad Request
ii. 403 Forbidden
iii. 204 No Content
প্রদত্ত Scenario-গুলোর জন্য উপযুক্ত HTTP Status Code
উত্তর:
Scenario HTTP Status Code কারণ i. Scenario A 400 Bad Request JSON Payload ত্রুটিপূর্ণ (Malformed), তাই Server Request Parse করতে পারে না। ii. Scenario B 403 Forbidden User সফলভাবে Login করেছে, কিন্তু /admin/settings Access করার অনুমতি (Permission) নেই। iii. Scenario C 204 No Content DELETE Request সফল হয়েছে, তবে Server-এর Response Body-তে পাঠানোর মতো কোনো Content নেই। চূড়ান্ত উত্তর
i. 400 Bad Request
ii. 403 Forbidden
iii. 204 No Content
- 9Big Data, ML & AIDesign a scalable big data analytics pipeline for an e-commerce platform that ingests real-time logs, stores petabyte-scale data, supports batch and stream processing, delivers near real-time recommendations, and runs large-scale machine learning models; from the following Hadoop ecosystem components - MapReduce, HDFS, YARN, HBase, ZooKeeper, Pig, Hive, Mahout, Chukwa, Cassandra, Avro, Oozie, Flume, Sqoop - select any five and explain the role of each component in this system.
To build a scalable Big Data Analytics Pipeline for an E-commerce Platform, the following five Hadoop Ecosystem components can be selected:
1. Flume – Real-time Data Ingestion
Apache Flume collects and transfers real-time web logs, clickstream data, and application events from multiple servers into the Hadoop ecosystem. It provides reliable and scalable log ingestion.
Role: Ingests real-time logs into HDFS.
2. HDFS – Distributed Storage
Hadoop Distributed File System (HDFS) stores petabyte-scale structured and unstructured data across multiple machines. It provides high fault tolerance and scalability by replicating data blocks.
Role: Stores massive datasets reliably for analytics and machine learning.
3. YARN – Resource Management
YARN (Yet Another Resource Negotiator) manages cluster resources and schedules jobs submitted by different applications, ensuring efficient utilization of the Hadoop cluster.
Role: Allocates CPU and memory resources for batch and stream processing jobs.
4. MapReduce – Batch Processing
MapReduce performs distributed parallel processing of very large datasets stored in HDFS. It divides tasks into Map and Reduce phases for efficient computation.
Role: Executes large-scale batch analytics such as sales analysis, customer behavior analysis, and report generation.
5. Mahout – Machine Learning
Apache Mahout provides scalable machine learning algorithms such as clustering, classification, and recommendation systems on large datasets.
Role: Builds recommendation engines and large-scale machine learning models for personalized product recommendations.
একটি E-commerce Platform-এর জন্য Scalable Big Data Analytics Pipeline তৈরিতে নিচের পাঁচটি Hadoop Ecosystem Component নির্বাচন করা যেতে পারে।
১. Flume – Real-time Data Ingestion
Apache Flume বিভিন্ন Web Server ও Application থেকে Real-time Log, Clickstream Data এবং Event সংগ্রহ করে Hadoop System-এ পাঠায়। এটি নির্ভরযোগ্য ও Scalable Data Ingestion নিশ্চিত করে।
ভূমিকা: Real-time Log সংগ্রহ করে HDFS-এ সংরক্ষণ করে।
২. HDFS – Distributed Storage
Hadoop Distributed File System (HDFS) Petabyte-Scale Structured ও Unstructured Data একাধিক Node-এ Distributedভাবে সংরক্ষণ করে। এটি Data Replication-এর মাধ্যমে Fault Tolerance এবং Scalability নিশ্চিত করে।
ভূমিকা: বিপুল পরিমাণ Data নিরাপদ ও নির্ভরযোগ্যভাবে সংরক্ষণ করে।
৩. YARN – Resource Management
YARN (Yet Another Resource Negotiator) Hadoop Cluster-এর CPU, Memory এবং অন্যান্য Resource পরিচালনা করে এবং বিভিন্ন Job দক্ষতার সাথে Schedule করে।
ভূমিকা: Batch এবং Stream Processing Job-এর জন্য Resource Allocate ও Manage করে।
৪. MapReduce – Batch Processing
MapReduce HDFS-এ সংরক্ষিত বিশাল Data Distributedভাবে Process করে। এটি Map এবং Reduce Phase-এর মাধ্যমে Parallel Processing সম্পন্ন করে।
ভূমিকা: Sales Analysis, Customer Behavior Analysis এবং অন্যান্য Large-scale Batch Analytics সম্পন্ন করে।
৫. Mahout – Machine Learning
Apache Mahout বৃহৎ Data-এর উপর Machine Learning Algorithm যেমন Clustering, Classification এবং Recommendation System বাস্তবায়ন করে।
ভূমিকা: Personalized Product Recommendation এবং Large-scale Machine Learning Model তৈরি করে।
- 10Digital Logic DesignSimplify the Boolean equation using K-map: F(A,B,C,D) = Σ(0,3,5,7,8,10,11,12,13,14,15).

- 11Computer SecurityDifferent Attacks
i. For securing a bank's sensitive customer data, what is the fundamental difference in the specific technologies used to protect "Data in Transit versus "Data at Rest?
ii. What defines a "Zero-Day" vulnerability, and why do traditional signature-based antivirus solutions fail to protect a bank's servers against them?i. Difference Between Protecting Data in Transit and Data at Rest
Answer:
Data in Transit Data at Rest Data that is moving between devices or across a network. Data that is stored on hard disks, databases, servers, or cloud storage. Protected using Network Encryption Protocols such as TLS/SSL, HTTPS, and IPsec. Protected using Encryption Algorithms such as AES, Full Disk Encryption, or Database Encryption. Prevents attackers from intercepting or eavesdropping on transmitted data. Prevents unauthorized users from reading stored data if storage devices are lost or compromised. Example
When a customer logs into an online banking website, TLS/HTTPS protects the data while it travels over the Internet (Data in Transit). After the data is stored in the bank's database, AES Encryption protects it (Data at Rest).
ii. Zero-Day Vulnerability and Why Signature-Based Antivirus Fails
Answer:
A Zero-Day Vulnerability is a newly discovered software or system vulnerability that is unknown to the software vendor or security community. Since no security patch or fix is available, attackers can exploit it before developers have "zero days" to respond.
Why Signature-Based Antivirus Cannot Protect Against It
• Signature-based Antivirus detects malware using known signatures stored in its database.
• A Zero-Day Attack uses previously unknown malware or exploits, so no signature exists.
• As a result, the antivirus cannot recognize or block the attack until new signatures are created and updated.
• Protection against Zero-Day Attacks often requires Behavior-based Detection, Heuristic Analysis, Endpoint Detection and Response (EDR), and regular security updates.
i. Data in Transit এবং Data at Rest সুরক্ষার প্রযুক্তিগত পার্থক্য
উত্তর:
Data in Transit Data at Rest Network-এর মাধ্যমে এক স্থান থেকে অন্য স্থানে চলমান Data। Hard Disk, Database, Server বা Cloud Storage-এ সংরক্ষিত Data। TLS/SSL, HTTPS, IPsec ইত্যাদি Network Encryption Protocol ব্যবহার করে সুরক্ষিত করা হয়। AES, Full Disk Encryption অথবা Database Encryption ব্যবহার করে Data Encrypt করা হয়। Transmission-এর সময় Data Interception বা Eavesdropping প্রতিরোধ করে। Storage Device হারিয়ে গেলে বা Unauthorized Access হলে Stored Data পড়া থেকে বিরত রাখে। উদাহরণ
কোনো Customer যখন Online Banking-এ Login করে, তখন TLS/HTTPS Internet-এর মাধ্যমে চলমান Data (Data in Transit) সুরক্ষিত করে। পরবর্তীতে সেই Data Bank-এর Database-এ সংরক্ষণ করা হলে AES Encryption দ্বারা (Data at Rest) সুরক্ষিত থাকে।
ii. Zero-Day Vulnerability এবং Signature-based Antivirus কেন ব্যর্থ হয়
উত্তর:
Zero-Day Vulnerability হলো এমন একটি নতুন Security Vulnerability, যা Software Vendor বা Security Community-এর অজানা থাকে। এই Vulnerability-এর কোনো Patch বা Fix প্রকাশের আগেই Attackers এটি Exploit করতে পারে।
Signature-based Antivirus কেন সুরক্ষা দিতে পারে না
• Signature-based Antivirus শুধুমাত্র পরিচিত Malware-এর Signature Database ব্যবহার করে Malware শনাক্ত করে।
• Zero-Day Attack-এ নতুন Exploit বা Malware ব্যবহার করা হয়, যার কোনো Signature আগে থেকে Database-এ থাকে না।
• তাই Antivirus নতুন Attack শনাক্ত বা Block করতে পারে না, যতক্ষণ না নতুন Signature Update প্রকাশিত হয়।
• Zero-Day Attack প্রতিরোধে Behavior-based Detection, Heuristic Analysis, Endpoint Detection and Response (EDR) এবং নিয়মিত Security Update বেশি কার্যকর।
Combined 3 Banks/FI, AE(IT)/ AME, 2026
RAKUB, Assistant Network System Engineer, 2026
Rajshahi Krishi Unnayan Bank
Post: Assistant Network System Engineer; (Job ID: 10230)
Exam: 05-Jun-2026
Given:
- One-way propagation delay (Tp) = 250 ms = 0.25 s
- Transmission rate (Bandwidth) = 1 Mbps = 106 bits/s
- Frame size = 1000 bytes = 1000 × 8 = 8000 bits
- Protocol: Stop-and-Wait
Step 1: Calculate Transmission Time (Tt)
Tt = Frame size ÷ Bandwidth
Tt = 8000 bits ÷ 106 bits/s = 0.008 s = 8 ms
Step 2: Calculate Round Trip Time (RTT)
RTT = 2 × Tp = 2 × 250 ms = 500 ms
Step 3: Calculate Efficiency (Utilization) for Stop-and-Wait
Efficiency = Tt ÷ (Tt + RTT)
Efficiency = 8 ÷ (8 + 500) = 8 ÷ 508 = 0.0157
Efficiency = 1.57%
Step 4: Calculate Minimum Window Size for 100% Efficiency
For 100% efficiency, the sender must keep the channel fully utilized. This means the window size must be large enough so that the total transmission time of all frames in the window equals or exceeds the RTT.
Window size (N) = RTT ÷ Tt
N = 500 ÷ 8 = 62.5
N = 63 frames (rounded up to the nearest whole number)
Alternatively, using the formula:
Efficiency = (N × Tt) ÷ (Tt + RTT)
For 100% efficiency: N × Tt ≥ Tt + RTT
N ≥ (Tt + RTT) ÷ Tt = (8 + 500) ÷ 8 = 63.5
N = 63 or 64 frames
Given:
- One-way propagation delay (Tp) = 250 ms = 0.25 s
- Transmission rate (Bandwidth) = 1 Mbps = 106 bits/s
- Frame size = 1000 bytes = 1000 × 8 = 8000 bits
- Protocol: Stop-and-Wait
Step 1: Transmission Time (Tt) হিসাব
Tt = Frame size ÷ Bandwidth
Tt = 8000 bits ÷ 106 bits/s = 0.008 s = 8 ms<
Step 2: Round Trip Time (RTT) হিসাব
RTT = 2 × Tp = 2 × 250 ms = 500 ms<
Step 3: Stop-and-Wait-এর জন্য Efficiency (Utilization) হিসাব
Efficiency = Tt ÷ (Tt + RTT)
Efficiency = 8 ÷ (8 + 500) = 8 ÷ 508 = 0.0157
Efficiency = 1.57%
Step 4: 100% Efficiency-এর জন্য Minimum Window Size হিসাব
100% efficiency-এর জন্য sender-কে channel fully utilized রাখতে হবে। এর মানে window size এতটা বড় হতে হবে যাতে window-এর সব frames-এর total transmission time RTT-এর সমান বা বেশি হয়।
Window size (N) = RTT ÷ Tt
N = 500 ÷ 8 = 62.5
N = 63 frames (nearest whole number-এ round up)
Alternative formula ব্যবহার করে:
Efficiency = (N × Tt) ÷ (Tt + RTT)
100% efficiency-এর জন্য: N × Tt ≥ Tt + RTT
N ≥ (Tt + RTT) ÷ Tt = (8 + 500) ÷ 8 = 63.5
N = 63 বা 64 frames<
[Reference: https://www.gatevidyalay.com/stop-and-wait-protocol-practice-problems/
- 192.168.0.0/16
- 192.168.16.0/20
- 192.168.20.0/22
- 192.168.20.32/25
Given:
Destination IP: 192.168.20.45
Routing table entries:
- 192.168.0.0/16
- 192.168.16.0/20
- 192.168.20.0/22
- 192.168.20.32/25
Step 1: Check Each Route for Match
A packet matches a route when the destination IP ANDed with the subnet mask equals the network address.
Step 2: Apply Longest Prefix Match Rule
When multiple routes match, the router selects the one with the longest subnet prefix (most specific network).
| Route | Prefix Length |
|---|---|
| 192.168.0.0/16 | 16 |
| 192.168.16.0/20 | 20 |
| 192.168.20.0/22 | 22 |
| 192.168.20.32/25 | 25 ← Longest |
Final Answer:
The router will forward the packet to the interface associated with 192.168.20.32/25 because it has the longest prefix match (25 bits), making it the most specific route.
Why This Rule Exists:
Longest prefix match ensures traffic is sent through the most precise path. A /25 network is a smaller, more targeted subnet than a /16 network. If a company has a general route for all 192.168.x.x traffic but also a specific route for a small department subnet, the specific route should win for packets going to that department.
Given:
Destination IP: 192.168.20.45
Routing table entries:192.168.0.0/16
- 192.168.16.0/20
- 192.168.20.0/22
- 192.168.20.32/25
Step 1: প্রতিটি Route Match Check করা
একটি packet route-এর সাথে match করে যখন destination IP subnet mask দিয়ে ANDed হলে network address পাওয়া যায়।

Step 2: Longest Prefix Match Rule প্রয়োগ
একাধিক route match করলে router longest subnet prefix (সবচেয়ে specific network) যুক্ত route select করে।
| Route | Prefix Length |
|---|---|
| 192.168.0.0/16 | 16 |
| 192.168.16.0/20 | 20 |
| 192.168.20.0/22 | 22 |
| 192.168.20.32/25 | 25 ← Longest |
Final Answer:
Router packet-টি 192.168.20.32/25-এর সাথে associated interface-এ forward করবে কারণ এটি longest prefix match (25 bits) ধারণ করে, যা এটিকে সবচেয়ে specific route করে তোলে।
এই Rule কেন Exist করে:
Longest prefix match নিশ্চিত করে যে traffic সবচেয়ে precise path দিয়ে পাঠানো হয়। একটি /25 network একটি /16 network-এর চেয়ে ছোট এবং বেশি targeted subnet। যদি একটি company-এর সব 192.168.x.x traffic-এর জন্য general route থাকে কিন্তু একটি ছোট department subnet-এর জন্য specific route থাকে, তাহলে সেই department-এর packets-এর জন্য specific route win করা উচিত।
Given:
- Modulation type: 16QAM (16-ary Quadrature Amplitude Modulation)
- Baud rate (symbol rate) = 2400 Baud
Step 1: Find Bits Per Symbol
In M-ary modulation, each symbol carries log₂(M) bits of information.
Bits per symbol = log₂(16) = 4 bits/symbol
Step 2: Calculate Data Rate
Data rate = Baud rate × Bits per symbol
Data rate = 2400 × 4 = 9600 bps
IPv6 header architecture enables faster processing than IPv4 due to several design simplifications that reduce router workload at each hop.
- Fixed header size: IPv6 uses a fixed 40-byte header. IPv4 has a variable header length (20 to 60 bytes) because of optional fields, forcing routers to parse and calculate the actual header size every time.
- No header checksum: IPv6 removes the header checksum entirely. IPv4 routers must recalculate and verify the checksum at every hop, adding CPU overhead. IPv6 delegates error detection to upper-layer protocols like TCP and UDP.
- No router fragmentation: IPv4 allows routers to fragment packets when they are too large, which requires complex reassembly logic. IPv6 only permits fragmentation by the source host, so routers never perform this task.
- Simplified header fields: IPv6 has fewer header fields (8 vs 14 in IPv4), making parsing faster. Fields like Header Length, Identification, Flags, Fragment Offset, and Options are removed or relocated to extension headers.
- Extension headers: Optional features in IPv6 are placed in separate extension headers that routers can skip unless specifically needed, unlike IPv4 where options are embedded in the main header.
Comparison Table:
| Feature | IPv4 | IPv6 |
|---|---|---|
| Header size | Variable (20-60 bytes) | Fixed 40 bytes |
| Header checksum | Yes, recalculated every hop | Removed |
| Fragmentation | Routers can fragment | Only source fragments |
| Header fields | 14 fields | 8 fields |
| Options handling | Embedded in main header | Extension headers |
IPv6 header architecture IPv4-এর চেয়ে faster processing enable করে কারণ এতে এমন কিছু design simplification আছে যা প্রতিটি hop-এ router workload কমায়।
- Fixed header size: IPv6 fixed 40-byte header ব্যবহার করে। IPv4-এর variable header length (20 থেকে 60 bytes) থাকে optional fields-এর কারণে, যা routers-কে প্রতিবার actual header size parse এবং calculate করতে বাধ্য করে।
- No header checksum: IPv6 header checksum entirely remove করে। IPv4 routers প্রতিটি hop-এ checksum recalculate এবং verify করতে হয়, যা CPU overhead add করে। IPv6 error detection upper-layer protocols যেমন TCP এবং UDP-এর উপর ছেড়ে দেয়।
- No router fragmentation: IPv4 routers-কে packets fragment করতে দেয় যখন এগুলো too large হয়, যা complex reassembly logic প্রয়োজন। IPv6 শুধু source host-কে fragmentation করতে দেয়, তাই routers কখনো এই task perform করে না।
- Simplified header fields: IPv6-এ fewer header fields আছে (IPv4-এর 14-এর বিপরীতে 8), যা parsing faster করে। Header Length, Identification, Flags, Fragment Offset এবং Options এর মতো fields remove বা extension headers-এ relocate করা হয়েছে।
- Extension headers: IPv6-এর optional features আলাদা extension headers-এ রাখা হয় যা routers skip করতে পারে যদি specifically প্রয়োজন না হয়, IPv4-এর মতো main header-এ embedded না থাকায়।
Comparison Table:
| Feature | IPv4 | IPv6 |
|---|---|---|
| Header size | Variable (20-60 bytes) | Fixed 40 bytes |
| Header checksum | Yes, প্রতিটি hop-এ recalculate | Removed |
| Fragmentation | Routers fragment করতে পারে | শুধু source fragment করে |
| Header fields | 14 fields | 8 fields |
| Options handling | Main header-এ embedded | Extension headers |
Understanding Precision and Recall
- Precision: Out of all cases the model predicted as failure, how many were actually failures. High precision means few false alarms.
- Recall: Out of all actual failures that exist, how many did the model correctly catch. High recall means few missed failures.
Why Recall Matters More Here
When the business penalty for a missed failure is catastrophic — such as complete network downtime, data center collapse, financial loss, or safety hazards — the administrator must prioritize catching every possible failure even if it means raising more false alarms.
- False Positive (Low Precision): The model predicts a failure that does not exist. Cost = technician time for inspection, minor inconvenience.
- False Negative (Low Recall): The model misses a real failure. Cost = catastrophic outage, millions in losses, damaged reputation, potential harm to users.
The recall-focused model wastes technician hours but prevents the one missed failure that would destroy the business. In critical infrastructure, survival beats efficiency.
Practical Steps to Optimize Recall
- Lower classification threshold: Accept more predictions as positive to catch edge cases.
- Class weights: Penalize the model heavily during training for missing real failures.
- Ensemble methods: Combine multiple models so if one misses, another catches it.
- Anomaly detection: Flag anything unusual for human review rather than automatic dismissal.
Critical Network Hardware Failure Detection-এ Recall Optimize করার কারণ
- Precision: Model যেসব cases failure বলে predict করেছে, তার মধ্যে কতগুলো আসলে failure ছিল। High precision মানে কম false alarms।
- Recall: আসলে যতগুলো failure exist করে, model কতগুলো correctly ধরতে পেরেছে। High recall মানে কম missed failures।
এখানে Recall বেশি Important কেন
যখন missed failure-এর business penalty catastrophic হয় — যেমন complete network downtime, data center collapse, financial loss, বা safety hazards — administrator প্রতিটি possible failure ধরতে prioritize করবে, এমনকি যদি এর মানে বেশি false alarms ওঠে।
- False Positive (Low Precision): Model এমন একটি failure predict করে যা exist করে না। Cost = technician inspection-এর সময়, minor inconvenience।
- False Negative (Low Recall): Model একটি real failure miss করে। Cost = catastrophic outage, millions in losses, damaged reputation, users-এর potential harm।
Recall Optimize করার Practical Steps
- Lower classification threshold: Edge cases ধরতে আরো predictions positive হিসেবে accept করা।
- Class weights: Training-এর সময় model-কে real failure miss করার জন্য heavily penalize করা।
- Ensemble methods: একাধিক model combine করা যাতে একটি miss করলে অন্যটি ধরে।
- Anomaly detection: কিছু unusual হলে automatic dismissal না করে human review-এর জন্য flag করা।
Amdahl’s Law
Amdahl’s Law is a formula that calculates the theoretical maximum speedup of a system when only a portion of it is improved. It shows that the overall speedup is limited by the fraction of the program that cannot be parallelized, no matter how many CPU cores are added.
Mathematical Formula
Speedup = 1 / [(1 − P) + (P / N)]
Where:
- P = Fraction of the program that can be parallelized (0 to 1)
- (1 − P) = Fraction that must run sequentially and cannot be sped up
- N = Number of CPU cores (processors)
How It Dictates Maximum Speedup
The law reveals a harsh truth: even with infinite cores, the speedup can never exceed 1 / (1 − P). The sequential portion becomes a hard ceiling.
- If P = 0.9 (90% parallelizable): Maximum speedup with infinite cores = 1 / 0.1 = 10×, no matter how many cores are added.
- If P = 0.5 (50% parallelizable): Maximum speedup = 1 / 0.5 = 2×, even with thousands of cores.
- If P = 0.99 (99% parallelizable): Maximum speedup = 1 / 0.01 = 100×.
Example Calculation
A program spends 70% of its time on parallel tasks and 30% on sequential tasks. With 8 cores:
P = 0.7, N = 8
Speedup = 1 / [(1 − 0.7) + (0.7 / 8)]
Speedup = 1 / [0.3 + 0.0875]
Speedup = 1 / 0.3875 = 2.58×
Even with 8 cores, the speedup is only 2.58× because the 30% sequential part drags everything down.
Key Insight: Adding more cores gives diminishing returns. The bottleneck is always the sequential portion. To achieve massive speedups, programmers must minimize the fraction of code that cannot run in parallel.
Amdahl’s Law
Amdahl’s Law হলো একটি formula যা system-এর theoretical maximum speedup calculate করে যখন শুধু এর একটি অংশ improve করা হয়। এটি দেখায় যে overall speedup program-এর যে অংশ parallelize করা যায় না সেই fraction দ্বারা limited, CPU cores যতই add করা হোক না কেন।
Mathematical Formula
Speedup = 1 / [(1 − P) + (P / N)]
Where:
- P = Program-এর যে fraction parallelize করা যায় (0 থেকে 1)
- (1 − P) = যে fraction sequentially run করতে হবে এবং speed up করা যায় না
- N = CPU cores (processors)-এর সংখ্যা
Maximum Speedup কীভাবে Dictate করে
এই law একটি harsh truth reveal করে: infinite cores থাকলেও speedup কখনো 1 / (1 − P)-এর বেশি হতে পারে না। Sequential portion একটি hard ceiling হয়ে যায়।<
- যদি P = 0.9 (90% parallelizable): Infinite cores-এ maximum speedup = 1 / 0.1 = 10×, cores যতই add করা হোক না কেন।
- যদি P = 0.5 (50% parallelizable): Maximum speedup = 1 / 0.5 = 2×, হাজার হাজার cores থাকলেও।
- যদি P = 0.99 (99% parallelizable): Maximum speedup = 1 / 0.01 = 100×।
Example Calculation
একটি program 70% সময় parallel tasks-এ এবং 30% সময় sequential tasks-এ spend করে। 8 cores থাকলে:
P = 0.7, N = 8
Speedup = 1 / [(1 − 0.7) + (0.7 / 8)]
Speedup = 1 / [0.3 + 0.0875]
Speedup = 1 / 0.3875 = 2.58×<
8 cores থাকলেও speedup মাত্র 2.58× কারণ 30% sequential part সব কিছু drag করে নিচে নামায়।<
Key Insight: আরো cores add করলে diminishing returns আসে। Bottleneck সবসময় sequential portion। Massive speedups achieve করতে programmers-কে যে code fraction parallelly run করা যায় না সেটা minimize করতে হবে।
Permission Breakdown:
755 means:
- Owner: 7 = read (r) + write (w) + execute (x)
- Group: 5 = read (r) + execute (x)
- Others: 5 = read (r) + execute (x)
Administrative Action:
- Grants full control (rwx) to the file owner
- Grants read and execute permission to group users
- Grants read and execute permission to all other users
The failure is caused by resource exhaustion at the Linux kernel level, specifically involving file descriptors and network sockets under high load.
Key Root Causes:
File Descriptor Exhaustion:
Linux treats files, sockets, and network connections as file descriptors.
The error “too many open files” indicates that the process or system has exceeded the ulimit (open file descriptor limit) configured in the kernel.
Socket Exhaustion:
Each database connection uses a TCP socket, which also consumes file descriptors.
Under peak load, too many simultaneous connections exhaust available kernel socket resources.
Kernel Resource Limits (ulimit / sysctl constraints):
The Linux kernel enforces limits such as:
- Maximum open files per process (ulimit -n)
- System-wide file descriptor limit
- TCP socket backlog limits
When these limits are reached, new connections are refused or time out.
Connection Leak / Poor Connection Pooling:
Application may not be closing database connections properly or lacks connection pooling, causing accumulation of open sockets.
Why Timeouts Occur:
When kernel resources are exhausted:
- New TCP connections cannot be created
- Existing connection requests remain in SYN queue or wait state
- Database connection attempts fail → timeout errors
The root cause is Linux kernel-level resource exhaustion, mainly due to hitting file descriptor limits and socket limits under peak load, often worsened by insufficient connection management in the application layer.
Root Cause (Linux Kernel Level)
এই সমস্যার মূল কারণ হলো Linux kernel-level resource exhaustion, বিশেষ করে file descriptor এবং network socket শেষ হয়ে যাওয়া।
মূল কারণসমূহ:
File Descriptor Exhaustion:
Linux-এ file, socket, database connection সবই file descriptor হিসেবে গণনা হয়।
“too many open files” error মানে হলো process বা system তার ulimit (open file limit) ছাড়িয়ে গেছে।
Socket Exhaustion:
প্রতিটি database connection একটি TCP socket ব্যবহার করে।
বেশি load হলে socket শেষ হয়ে যায়।
Kernel Resource Limits:
Linux kernel কিছু limit enforce করে যেমন:
- per-process open file limit (ulimit -n)
- system-wide file descriptor limit
- TCP backlog limit
এই limit পৌঁছে গেলে নতুন connection তৈরি হয় না।
- Connection Leak / Pooling problem:
application যদি connection properly close না করে বা connection pool না থাকে, তাহলে open socket জমে যায়।
Timeout কেন হয়:
যখন kernel resource শেষ হয়ে যায়:
- নতুন TCP connection তৈরি হয় না
- request queue-তে আটকে যায়
- database connection timeout হয়
মূল সমস্যা হলো Linux kernel-level file descriptor এবং socket resource exhaustion, যা high traffic এবং improper connection management-এর কারণে ঘটে।
WHERE vs HAVING Clause in SQL
In SQL, both WHERE and HAVING are used to filter data, but they operate at different stages of query execution and serve different purposes. Understanding their distinct behaviors is essential when working with aggregate functions like SUM, COUNT, AVG, MIN, and MAX.
1. WHERE Clause
The WHERE clause filters individual rows before any grouping or aggregation takes place. It operates on raw data from the table.
- Stage: Executes before GROUP BY and aggregate functions.
- Scope: Filters individual rows based on column values.
- Aggregate functions: Cannot use aggregate functions like COUNT(), SUM(), or AVG().
- Performance: Reduces the number of rows early, making aggregation faster.
Example:
Select only employees from the Sales department before calculating average salary.
SELECT dept, AVG(salary) FROM employees WHERE dept = 'Sales' GROUP BY dept;Here, WHERE filters rows where dept is ‘Sales’ first, then AVG is calculated only on those rows.
2. HAVING Clause
The HAVING clause filters groups of rows after grouping and aggregation have been completed. It operates on the result of aggregate functions.
- Stage: Executes after GROUP BY and aggregate functions.
- Scope: Filters groups based on aggregate results.
- Aggregate functions: Can and typically does use aggregate functions.
- Performance: Works on already aggregated data, so it cannot reduce early row processing.
Example:
Show only departments where the average salary is greater than 50,000.
SELECT dept, AVG(salary) FROM employees GROUP BY dept HAVING AVG(salary) > 50000;Here, GROUP BY creates department groups, AVG calculates the average, and HAVING filters out groups where the average is too low.
3. Execution Order in SQL
SQL processes clauses in this order, not in the order they appear in the query:
| Order | Clause | Action |
|---|---|---|
| 1 | FROM | Identify the source table |
| 2 | WHERE | Filter individual rows |
| 3 | GROUP BY | Group the filtered rows |
| 4 | Aggregate | Apply SUM, COUNT, AVG, etc. |
| 5 | HAVING | Filter grouped results |
| 6 | SELECT | Choose columns to display |
| 7 | ORDER BY | Sort the final output |
4. Combined Example
Find departments in the Sales region where total sales exceed 100,000.
SELECT region, SUM(sales) AS total FROM orders WHERE region = 'Sales' GROUP BY region HAVING SUM(sales) > 100000;
- WHERE region = ‘Sales’: Filters individual rows to only Sales region orders.
- GROUP BY region: Groups the remaining rows by region.
- SUM(sales): Calculates total sales per region.
- HAVING SUM(sales) > 100000: Keeps only regions where the total exceeds 100,000.
SQL-এ WHERE vs HAVING Clause
SQL-এ WHERE এবং HAVING উভয়ই data filter করতে ব্যবহৃত হয়, কিন্তু তারা query execution-এর ভিন্ন stages-এ operate করে এবং ভিন্ন purposes serve করে। Aggregate functions যেমন SUM, COUNT, AVG, MIN এবং MAX-এর সাথে কাজ করার সময় তাদের distinct behaviors বোঝা essential।
1. WHERE Clause
WHERE clause individual rows filter করে কোনো grouping বা aggregation হওয়ার আগেই। এটি table থেকে raw data-এর উপর operate করে।<
- Stage: GROUP BY এবং aggregate functions-এর আগে execute করে।
- Scope: Column values-এর উপর ভিত্তি করে individual rows filter করে।
- Aggregate functions: COUNT(), SUM(), AVG() এর মতো aggregate functions ব্যবহার করা যায় না।
- Performance: Early rows কমায়, aggregation faster করে।
Example:
Average salary calculate করার আগে শুধু Sales department-এর employees select করা।
SELECT dept, AVG(salary) FROM employees WHERE dept = 'Sales' GROUP BY dept;
এখানে WHERE প্রথমে dept ‘Sales’ হওয়া rows filter করে, তারপর শুধু সেই rows-এর উপর AVG calculate করে।<
2. HAVING Clause
HAVING clause groups of rows filter করে grouping এবং aggregation complete হওয়ার পর। এটি aggregate functions-এর result-এর উপর operate করে।<
- Stage: GROUP BY এবং aggregate functions-এর পরে execute করে।
- Scope: Aggregate results-এর উপর ভিত্তি করে groups filter করে।
- Aggregate functions: ব্যবহার করতে পারে এবং সাধারণত করে।
- Performance: Already aggregated data-এর উপর কাজ করে, তাই early row processing reduce করতে পারে না।
Example:
শুধু সেই departments দেখানো যেখানে average salary 50,000-এর বেশি।
SELECT dept, AVG(salary) FROM employees GROUP BY dept HAVING AVG(salary) > 50000;এখানে GROUP BY department groups তৈরি করে, AVG average calculate করে, এবং HAVING average কম হওয়া groups filter out করে।
3. SQL-এ Execution Order
SQL query-তে যে order-এ clauses লেখা হয় সেই order-এ process করে না, বরং এই order-এ:
| Order | Clause | Action |
|---|---|---|
| 1 | FROM | Source table identify করা |
| 2 | WHERE | Individual rows filter করা |
| 3 | GROUP BY | Filtered rows group করা |
| 4 | Aggregate | SUM, COUNT, AVG ইত্যাদি apply করা |
| 5 | HAVING | Grouped results filter করা |
| 6 | SELECT | Display-এর জন্য columns choose করা |
| 7 | ORDER BY | Final output sort করা |
4. Combined Example
Sales region-এর সেই departments খুঁজুন যেখানে total sales 100,000-এর বেশি।
SELECT region, SUM(sales) AS total FROM orders WHERE region = 'Sales' GROUP BY region HAVING SUM(sales) > 100000;
- WHERE region = ‘Sales’: শুধু Sales region-এর orders filter করে individual rows থেকে।
- GROUP BY region: বাকি rows-কে region অনুযায়ী group করে।
- SUM(sales): প্রতিটি region-এর total sales calculate করে।
- HAVING SUM(sales) > 100000: শুধু সেই regions রাখে যেখানে total 100,000-এর বেশি।
Cross-Site Scripting (XSS) is an attack where malicious scripts are injected into trusted websites. The key difference between Reflected and Stored XSS lies in how the payload reaches the victim.
1. Reflected XSS
In Reflected XSS, the malicious payload is embedded in a URL or request and delivered to the victim through social engineering. The server reflects the payload back in the response without storing it.
- Delivery method: The attacker crafts a malicious link containing the script and tricks the victim into clicking it — via email, chat messages, or fake websites.
- Server role: The server receives the payload in the request (like a search query or form input) and immediately includes it in the response page.
- Storage: The payload is never stored on the server. It exists only in the single request-response cycle.
- Victim trigger: The victim must actively click the malicious link or submit a crafted form.
Example: An attacker sends an email with a link like:https://bank.com/search?q=<script>stealCookie()</script>
When the victim clicks, the bank site reflects the script in the search results page and it executes.
2. Stored XSS
In Stored XSS, the malicious payload is permanently saved on the server (in a database, comment field, or user profile) and delivered to every victim who views the infected content.
- Delivery method: The attacker submits the payload through a form, comment box, or any input that the application saves. Later, when other users load that page, the server serves the stored script.
- Server role: The server stores the payload and includes it in responses to multiple users over time.
- Storage: The payload is persistently stored on the server in a database or file.
- Victim trigger: The victim only needs to visit the infected page. No click on a special link is required.
Example: An attacker posts a comment on a blog containing:<script>stealCookie()</script>
Every visitor who loads that blog post automatically executes the script.
Comparison Table:
| Aspect | Reflected XSS | Stored XSS |
|---|---|---|
| Payload storage | Not stored on server | Stored in database or file |
| Delivery to victim | Via malicious URL or link | Via normal page visit |
| Social engineering | Required to trick victim into clicking | Not required |
| Victim action | Must click a crafted link | Just visits the infected page |
| Attack scope | Targets one victim at a time | Targets all visitors automatically |
| Persistence | One-time execution | Executes repeatedly over time |
| Severity | Lower, requires active victim | Higher, passive mass infection |
Cross-Site Scripting (XSS) হলো একটি attack যেখানে malicious scripts trusted websites-এ inject করা হয়। Reflected এবং Stored XSS-এর মধ্যে মূল পার্থক্য payload victim-এর কাছে কীভাবে পৌঁছায় তার উপর নির্ভর করে।<
1. Reflected XSS
Reflected XSS-এ malicious payload URL বা request-এ embedded থাকে এবং social engineering-এর মাধ্যমে victim-এর কাছে deliver করা হয়। Server payload-কে store না করে response-এ reflect back করে।<
- Delivery method: Attacker malicious link তৈরি করে যা script ধারণ করে এবং victim-কে trick করে click করতে — email, chat messages বা fake websites-এর মাধ্যমে।
- Server role: Server request-এ (যেমন search query বা form input) payload receive করে এবং তৎক্ষণাৎ response page-এ include করে।
- Storage: Payload server-এ কখনো store হয় না। এটি শুধু single request-response cycle-এ exist করে।
- Victim trigger: Victim-কে actively malicious link click করতে হবে।
Example: Attacker email-এ একটি link পাঠায়:https://bank.com/search?q=<script>stealCookie()</script>
Victim click করলে bank site script-কে search results page-এ reflect করে এবং এটি execute হয়।<
2. Stored XSS
Stored XSS-এ malicious payload server-এ permanently save করা হয় (database, comment field বা user profile-এ) এবং infected content দেখা প্রতিটি victim-এর কাছে deliver করা হয়।
- Delivery method: Attacker form, comment box বা যেকোনো input-এর মাধ্যমে payload submit করে যা application save করে। পরে অন্য users ঐ page load করলে server stored script serve করে।
- Server role: Server payload store করে এবং সময়ের সাথে multiple users-এর response-এ include করে।
- Storage: Payload server-এর database বা file-এ persistently store করা হয়।
- Victim trigger: Victim শুধু infected page visit করলেই চলবে। কোনো special link click করার প্রয়োজন নেই।
Example: Attacker একটি blog-এ comment post করে:<script>stealCookie()</script>
সেই blog post load করা প্রতিটি visitor automatically script execute করে।
Comparison Table:
| Aspect | Reflected XSS | Stored XSS |
|---|---|---|
| Payload storage | Server-এ store হয় না | Database বা file-এ store হয় |
| Victim-এ delivery | Malicious URL বা link-এর মাধ্যমে | Normal page visit-এর মাধ্যমে |
| Social engineering | Victim-কে click করতে trick করতে হয় | প্রয়োজন হয় না |
| Victim action | Crafted link click করতে হবে | শুধু infected page visit করলেই চলবে |
| Attack scope | একসাথে একজন victim target করে | স্বয়ংক্রিয়ভাবে সব visitors target করে |
| Persistence | One-time execution | সময়ের সাথে repeatedly execute করে |
| Severity | কম, active victim প্রয়োজন | বেশি, passive mass infection |
Problem:
A corporate network pool experiences IP exhaustion due to a high volume of transient guest devices.
Root Cause:
Guest devices connect briefly (for minutes or hours) but the DHCP server assigns them IP addresses with long lease durations (days or weeks). These addresses remain reserved even after guests leave, preventing reuse and quickly depleting the pool.
Solution:
Reduce the DHCP lease duration to a much shorter time period — typically 2 to 4 hours for guest networks .
How It Works:
- Shorter lease: When a guest disconnects, the IP address returns to the available pool within hours instead of days.
- Faster recycling: The DHCP server can reassign freed IPs to new guest devices almost immediately.
- Balanced timing: Too short (under 30 minutes) causes excessive DHCP traffic (renewal requests). Too long fails to solve exhaustion.
Additional Measures:
- Separate VLANs: Isolate guest traffic on a dedicated subnet to protect corporate resources.
- Smaller subnets for guests: Use /23 or /22 subnets to expand available IPs without affecting main corporate pool.
- MAC address filtering: Limit how many IPs one device can claim.
Problem:
Corporate network pool IP exhaustion experience করছে transient guest devices-এর high volume-এর কারণে।
Root Cause:
Guest devices briefly connect করে (minutes বা hours) কিন্তু DHCP server তাদের long lease durations (days বা weeks)-এর জন্য IP addresses assign করে। Guests চলে গেলেও এসব addresses reserved থাকে, reuse prevent করে এবং pool দ্রুত deplete করে।
Solution:
DHCP lease duration কমিয়ে অনেক shorter time period-এ নিয়ে আসা — guest networks-এর জন্য সাধারণত 2 থেকে 4 hours
কীভাবে কাজ করে:
- Shorter lease: Guest disconnect করলে IP address days-এর পরিবর্তে hours-এর মধ্যে available pool-এ ফিরে আসে।
- Faster recycling: DHCP server freed IPs নতুন guest devices-কে প্রায় immediately reassign করতে পারে।
- Balanced timing: অনেক কম (30 minutes-এর নিচে) excessive DHCP traffic (renewal requests) cause করে। অনেক বেশি exhaustion solve করে না।
Additional Measures:
- Separate VLANs: Guest traffic dedicated subnet-এ isolate করে corporate resources protect করা।
- Smaller subnets for guests: /23 বা /22 subnets ব্যবহার করে available IPs expand করা main corporate pool affect না করে।
- MAC address filtering: একটি device কতগুলো IPs claim করতে পারে তা limit করা।
When a network admin notices excessive broadcast traffic, it means too many broadcast packets are being sent in the LAN, reducing network performance and bandwidth efficiency.
Possible Causes:
- Broadcast storms: Caused by network loops in switching topology (often due to lack of STP).
- Faulty network devices: A misconfigured switch or NIC may generate continuous broadcasts.
- ARP traffic overload: Large number of devices frequently sending ARP requests.
- Flat network design: Too many devices in a single broadcast domain.
- Malware or misbehaving applications: Generating unnecessary broadcast packets.
Solutions:
- Enable Spanning Tree Protocol (STP): Prevents switching loops and broadcast storms.
- Segment the network using VLANs: Reduces broadcast domain size.
- Use routers to control broadcast domains: Routers do not forward broadcasts.
- Fix faulty devices: Identify and replace misconfigured or malfunctioning hardware.
- Monitor traffic: Use network monitoring tools to detect abnormal broadcast activity.
Excessive broadcast traffic is mainly caused by loops, poor segmentation, or faulty devices. It can be controlled by using STP, VLAN segmentation, and proper network design.
সমস্যা: LAN-এ Excessive Broadcast Traffic
যখন network admin বেশি broadcast traffic লক্ষ্য করে, তখন বুঝা যায় LAN-এ অতিরিক্ত broadcast packet তৈরি হচ্ছে, যা network performance কমিয়ে দেয়।
কারণসমূহ:
- Broadcast storm: switching loop এর কারণে অতিরিক্ত broadcast তৈরি হয় (STP না থাকলে)।
- Faulty device: ভুল configuration বা খারাপ NIC continuous broadcast তৈরি করতে পারে।
- ARP overload: অনেক device বারবার ARP request পাঠালে broadcast বেড়ে যায়।
- Flat network design: সব device একই broadcast domain-এ থাকলে traffic বেশি হয়।
- Malware / misconfiguration: কিছু application অপ্রয়োজনীয় broadcast তৈরি করতে পারে।
সমাধান:
- STP (Spanning Tree Protocol) enable করা: network loop এবং broadcast storm বন্ধ করে।
- VLAN ব্যবহার করা: broadcast domain ছোট করে।
- Router ব্যবহার করা: কারণ router broadcast forward করে না।
- Faulty device ঠিক করা: সমস্যা থাকা device identify করে replace করা।
- Traffic monitoring: network monitoring tool দিয়ে abnormal traffic detect করা।
Excessive broadcast traffic সাধারণত loop, improper segmentation বা faulty device-এর কারণে হয়। STP, VLAN এবং proper network design ব্যবহার করে এটি নিয়ন্ত্রণ করা যায়।
Errors in programming can occur at two main stages: when the code is being translated into machine language (compile-time) and when the program is actually running (runtime). Understanding the difference helps in faster debugging and writing more reliable code.
1. Compile-Time Error
A compile-time error is detected by the compiler before the program is executed. It means the code violates the rules of the programming language and cannot be translated into an executable program.
- When detected: During compilation, before the program runs.
- Cause: Syntax mistakes, type mismatches, missing declarations, or incorrect language structure.
- Fix: The programmer must correct the code and recompile.
- Program state: The program does not generate an executable file.
Examples:
- Missing semicolon at the end of a statement.
- Using a variable that was never declared.
- Calling a method with the wrong number of arguments.
- Type mismatch like assigning a string to an integer variable.
Code Example:
int x = “hello”; // Type mismatch: String cannot be converted to int
System.out.println(y); // Variable y might not have been declared
2. Runtime Error
A runtime error occurs while the program is executing. The code compiled successfully, but something went wrong during actual operation due to unexpected conditions or invalid operations.
- When detected: During program execution, after compilation.
- Cause: Invalid operations, unexpected input, resource unavailability, or logic flaws.
- Fix: The programmer must add error handling, validate inputs, or fix logic.
- Program state: The program crashes or behaves unexpectedly mid-run.
Examples:
- Dividing a number by zero.
- Accessing an array index that does not exist.
- Trying to open a file that does not exist.
- Running out of memory during execution.
Code Example:
int[] arr = {1, 2, 3};
System.out.println(arr[5]); // ArrayIndexOutOfBoundsException
int result = 10 / 0; // ArithmeticException: Division by zero
Comparison Table:
| Aspect | Compile-Time Error | Runtime Error |
|---|---|---|
| Detection time | Before execution (compilation) | During execution |
| Cause | Syntax or language rule violation | Invalid operation or unexpected condition |
| Program runs? | No, compilation fails | Yes, but crashes or misbehaves |
| Fix method | Correct code and recompile | Add error handling or fix logic |
| Examples | Missing semicolon, undeclared variable | Division by zero, null pointer |
Compile-Time Error এবং Runtime Error-এর পার্থক্য
Programming-এ errors দুটি main stage-এ occur করতে পারে: যখন code machine language-এ translate হচ্ছে (compile-time) এবং যখন program actually run করছে (runtime)। পার্থক্য বোঝা faster debugging এবং আরো reliable code লিখতে সাহায্য করে।
1. Compile-Time Error
Compile-time error হলো error যা compiler program execute হওয়ার আগে detect করে। এর মানে code programming language-এর rules violate করেছে এবং executable program-এ translate করা যাচ্ছে না।
- When detected: Compilation-এর সময়, program run হওয়ার আগে।
- Cause: Syntax mistakes, type mismatches, missing declarations, বা incorrect language structure।
- Fix: Programmer-কে code correct করে recompile করতে হবে।
- Program state: Program executable file generate করে না।
Examples:
- Statement-এর শেষে semicolon missing।
- কোনো variable declare না করেই ব্যবহার করা।
- Method-কে ভুল সংখ্যক arguments দিয়ে call করা।
- Type mismatch যেমন integer variable-এ string assign করা।
Code Example:
int x = “hello”; // Type mismatch: String-কে int-এ convert করা যায় না
System.out.println(y); // Variable y declare নাও হতে পারে
2. Runtime Error
Runtime error program execute হওয়ার সময় occur করে। Code successfully compile হয়েছে, কিন্তু actual operation-এর সময় unexpected conditions বা invalid operations-এর কারণে কিছু ভুল হয়েছে।
- When detected: Program execution-এর সময়, compilation-এর পরে।
- Cause: Invalid operations, unexpected input, resource unavailability, বা logic flaws।
- Fix: Programmer-কে error handling add করতে হবে, inputs validate করতে হবে, বা logic fix করতে হবে।
- Program state: Program mid-run-এ crash করে বা unexpectedly behave করে।
Examples:
- কোনো number-কে zero দিয়ে divide করা।
- এমন array index access করা যা exist করে না।
- এমন file open করার চেষ্টা যা exist করে না।
- Execution-এর সময় memory শেষ হয়ে যাওয়া।
Code Example:
int[] arr = {1, 2, 3};
System.out.println(arr[5]); // ArrayIndexOutOfBoundsException
int result = 10 / 0; // ArithmeticException: Division by zero
Comparison Table:
| Aspect | Compile-Time Error | Runtime Error |
|---|---|---|
| Detection time | Execution-এর আগে (compilation) | Execution-এর সময় |
| Cause | Syntax বা language rule violation | Invalid operation বা unexpected condition |
| Program runs? | না, compilation fail করে | হ্যাঁ, কিন্তু crash বা misbehave করে |
| Fix method | Code correct করে recompile | Error handling add বা logic fix |
| Examples | Missing semicolon, undeclared variable | Division by zero, null pointer |
General Part
1. Social media পড়াশোনায় সাহায্য নাকি ক্ষতি করেছে। (Translates to: Has social media helped or harmed studies?)2. Painful memories should removable through medical technology. Good/bad
3. Country entirely above 1000 meter elevation, which element heights melting point, longest River BD, deepest point in earth oceans, SI unit of electrical conductance.
Collected by and credit goes to
সৈয়দ মোনায়েম
Combined 3 Banks/FI, AE(IT)/ AME, 2024
Combined Bank, AME/AHE, 2023
Rajshahi Krishi Unnayan Bank, Assistant System Network Engineer, 2023
Rajshahi Krishi Unnayan Bank
Post: Assistant Network System Engineer ,
Exam Date: 03.11.2023, Exam Taker: BIBM
Network Address Translation (NAT)
NAT (Network Address Translation) is a technique used to map multiple private IP addresses within a local network to a single public IP address. It allows internal devices to access the Internet while conserving public IP addresses and improving security.
How NAT Works:
- Translation Process: NAT uses a gateway device such as a router or firewall to translate private IP addresses into a public IP address. This gateway acts as an intermediary between internal and external networks.
- Address Representation:
- Private IP addresses (e.g., 10.0.0.1, 192.168.0.1) are used inside local networks and are not routable on the Internet.
- NAT assigns one or a few public IP addresses to represent all internal devices.
- Data Flow:
- Outgoing traffic: NAT replaces the private IP with a public IP before sending data to the Internet.
- Incoming traffic: NAT maps the public IP back to the correct private IP so the data reaches the intended device.
- Security: NAT hides private IP addresses from external networks, reducing direct exposure of internal devices.


Network Address Translation (NAT)
NAT (Network Address Translation) হলো একটি technique যেখানে local network-এর একাধিক private IP address-কে একটি public IP address-এর সাথে map করা হয়। এর মাধ্যমে internal device Internet access করতে পারে এবং public IP address সাশ্রয় ও security নিশ্চিত হয়।
NAT কীভাবে কাজ করে:
- Translation Process: NAT একটি gateway device (router বা firewall) ব্যবহার করে private IP address-কে public IP address-এ translate করে। এই gateway internal ও external network-এর মধ্যে মধ্যস্থতাকারী হিসেবে কাজ করে।
- Address Representation:
- Private IP address (যেমন 10.0.0.1, 192.168.0.1) local network-এর ভিতরে ব্যবহৃত হয় এবং Internet-এ routable নয়।
- NAT একটি বা কয়েকটি public IP address ব্যবহার করে সব internal device-কে represent করে।
- Data Flow:
- Outgoing traffic-এর সময় NAT private IP-এর জায়গায় public IP বসিয়ে Internet-এ data পাঠায়।
- Incoming traffic-এর ক্ষেত্রে NAT public IP থেকে সঠিক private IP-তে data পৌঁছে দেয়।
- Security: NAT internal device-এর private IP address গোপন রাখে, ফলে external network থেকে সরাসরি access কঠিন হয়।

Open Source Software
Open source software is software whose source code is freely available for anyone to view, modify, and distribute according to the license terms.
Advantages of Open Source Software
- Free or Low Cost: Most open source software is free to use, reducing software cost.
- Transparency: Source code is open, so security issues can be identified easily.
- Customization: Users can modify the software according to their needs.
- Community Support: Large developer communities provide updates and fixes.
- No Vendor Lock-in: Users are not dependent on a single vendor.
Disadvantages of Open Source Software
- Lack of Official Support: No guaranteed professional support in many cases.
- Complexity: Installation and configuration may be difficult for beginners.
- Compatibility Issues: May not support all hardware or proprietary software.
- Security Risk: Poorly maintained projects may contain vulnerabilities.
Examples of Open Source Software
- Linux Operating System
- Apache Web Server
- MySQL Database
- Mozilla Firefox
Open Source Software
Open source software হলো এমন software যার source code সবার জন্য উন্মুক্ত থাকে এবং license অনুযায়ী এটি ব্যবহার, পরিবর্তন ও বিতরণ করা যায়।
Open Source Software-এর সুবিধাসমূহ
- Free বা কম খরচ: বেশিরভাগ open source software বিনামূল্যে ব্যবহার করা যায়।
- Transparency: Source code উন্মুক্ত থাকায় security সমস্যা সহজে ধরা পড়ে।
- Customization: প্রয়োজন অনুযায়ী software পরিবর্তন করা যায়।
- Community Support: বড় developer community update ও bug fix দেয়।
- No Vendor Lock-in: একটি নির্দিষ্ট vendor-এর উপর নির্ভর করতে হয় না।
Open Source Software-এর অসুবিধাসমূহ
- Official Support-এর অভাব: সব ক্ষেত্রে professional support পাওয়া যায় না।
- জটিলতা: Beginner-এর জন্য installation ও configuration কঠিন হতে পারে।
- Compatibility Issue: সব hardware বা proprietary software সমর্থন নাও করতে পারে।
- Security Risk: Proper maintenance না থাকলে vulnerability থাকতে পারে।
Open Source Software-এর উদাহরণ
- Linux Operating System
- Apache Web Server
- MySQL Database
- Mozilla Firefox
VLAN (Virtual Local Area Network)
VLAN is a logical grouping of devices within a network that allows devices to communicate as if they were on the same physical network, regardless of their actual physical location.
Benefits of VLAN
- Improves network security by isolating traffic
- Reduces broadcast traffic
- Enhances network management and flexibility
Difference between Static VLAN and Dynamic VLAN
VLAN (Virtual Local Area Network)
VLAN হলো একটি logical network যেখানে ডিভাইসগুলোকে এমনভাবে group করা হয় যেন তারা একই physical network-এ আছে, যদিও বাস্তবে তারা আলাদা স্থানে থাকতে পারে।
VLAN-এর সুবিধা
- Network security বৃদ্ধি করে traffic isolation-এর মাধ্যমে
- Broadcast traffic কমায়
- Network management সহজ ও flexible করে
Static VLAN ও Dynamic VLAN-এর পার্থক্য
Difference between SMTP and SNMP
SMTP (Simple Mail Transfer Protocol)
SMTP is an application-layer protocol used for sending and transferring email messages from a sender to a receiver over the internet. It works mainly between mail servers and is responsible for delivering outgoing emails.
SMTP operates on port 25 (or 587/465 for secure communication) and follows a store-and-forward mechanism. It does not retrieve emails; instead, it only handles email sending.
Example: When you send an email using Gmail, SMTP is used to transfer the email from your mail server to the recipient’s mail server.
SNMP (Simple Network Management Protocol)
SNMP is an application-layer protocol used for monitoring and managing network devices such as routers, switches, servers, and printers. It helps network administrators observe network performance and detect faults.
SNMP operates on port 161 (and 162 for traps) and works using a manager-agent model, where the SNMP manager collects information from SNMP agents installed on network devices.
Example: Network administrators use SNMP to monitor router bandwidth usage or detect server failures.
Key Differences
| Aspect | SMTP | SNMP |
|---|---|---|
| Full Form | Simple Mail Transfer Protocol | Simple Network Management Protocol |
| Main Function | Sending email messages | Monitoring and managing network devices |
| OSI Layer | Application Layer | Application Layer |
| Port Number | 25 / 587 / 465 | 161 / 162 |
| Used By | Email servers and mail clients | Network administrators |
SMTP ও SNMP-এর পার্থক্য
SMTP (Simple Mail Transfer Protocol)
SMTP হলো একটি application layer protocol যা internet-এর মাধ্যমে email পাঠানোর জন্য ব্যবহৃত হয়। এটি মূলত mail server থেকে mail server-এ email transfer করে।
SMTP সাধারণত port 25 (বা secure communication-এর জন্য 587/465) ব্যবহার করে এবং এটি শুধু email পাঠানোর কাজ করে, email গ্রহণ করে না।
উদাহরণ: Gmail থেকে কোনো email পাঠালে SMTP ব্যবহার করে mail server-এর মাধ্যমে তা পৌঁছে যায়।
SNMP (Simple Network Management Protocol)
SNMP হলো একটি application layer protocol যা network device যেমন router, switch, server ও printer monitoring এবং management-এর জন্য ব্যবহৃত হয়।
SNMP port 161 (এবং trap-এর জন্য 162) ব্যবহার করে এবং manager-agent model-এর মাধ্যমে network-এর অবস্থা পর্যবেক্ষণ করে।
উদাহরণ: Network administrator SNMP ব্যবহার করে router-এর traffic বা server-এর health monitor করে।
মূল পার্থক্যসমূহ
| বিষয় | SMTP | SNMP |
|---|---|---|
| পূর্ণ নাম | Simple Mail Transfer Protocol | Simple Network Management Protocol |
| মূল কাজ | Email পাঠানো | Network device monitor ও manage করা |
| OSI Layer | Application Layer | Application Layer |
| Port Number | 25 / 587 / 465 | 161 / 162 |
| ব্যবহারকারী | Email server ও mail client | Network administrator |



Server Virtualization
Server virtualization is a technology that allows a single physical server to be divided into multiple virtual servers, called virtual machines (VMs), using virtualization software known as a hypervisor.
Each virtual machine operates independently with its own operating system, applications, and resources, even though they all share the same physical hardware.
How Server Virtualization Works
A hypervisor is installed on the physical server, which allocates CPU, memory, storage, and network resources to multiple virtual machines as needed.
Example of Server Virtualization
An organization uses one physical server with VMware ESXi to create three virtual machines: one running a web server, one running a database server, and one running a mail server. This reduces hardware cost and improves resource utilization.
Server Virtualization
Server virtualization হলো এমন একটি technology যেখানে একটি physical server-কে একাধিক virtual server বা virtual machine (VM)-এ ভাগ করা হয়, যা hypervisor software ব্যবহার করে পরিচালিত হয়।
প্রতিটি virtual machine আলাদাভাবে কাজ করে এবং এর নিজস্ব operating system, application ও resource থাকে, যদিও সবগুলো একই physical hardware ব্যবহার করে।
Server Virtualization কীভাবে কাজ করে
Physical server-এ একটি hypervisor install করা হয়, যা CPU, memory, storage ও network resource বিভিন্ন virtual machine-এর মধ্যে ভাগ করে দেয়।
Server Virtualization-এর উদাহরণ
একটি প্রতিষ্ঠান VMware ESXi ব্যবহার করে একটি physical server-এর উপর তিনটি virtual machine তৈরি করে—একটি web server, একটি database server এবং একটি mail server চালানোর জন্য। এতে hardware খরচ কমে এবং resource ব্যবহার দক্ষ হয়।
BIOS in Server
BIOS (Basic Input/Output System) is firmware stored on a chip on the server motherboard. It initializes and tests server hardware components and loads the operating system during the booting process.
Role of BIOS in Server Booting
When a server is powered on, the BIOS performs POST (Power-On Self Test) to check hardware components such as CPU, RAM, storage, and network devices.
After successful POST, BIOS identifies the bootable device based on the configured boot order and transfers control to the operating system loader.
BIOS and Booting Configuration in Hardware Maintenance
BIOS settings allow administrators to configure boot priority such as HDD, SSD, RAID controller, or network boot (PXE).
During hardware maintenance, BIOS is used to detect newly installed components like hard disks, RAM, or RAID cards.
BIOS also enables or disables hardware components, configures virtualization support, and manages power settings.
Incorrect BIOS configuration may cause boot failure, hardware detection issues, or performance degradation.
Importance in Server Maintenance
Proper BIOS configuration ensures smooth booting, hardware compatibility, system stability, and quick recovery during hardware upgrades or failures.
Server-এ BIOS
BIOS (Basic Input/Output System) হলো server motherboard-এ থাকা একটি firmware, যা server চালু হওয়ার সময় hardware initialize করে এবং operating system load করতে সাহায্য করে।
Server Booting-এ BIOS-এর ভূমিকা
Server চালু হলে BIOS প্রথমে POST (Power-On Self Test) চালায়, যেখানে CPU, RAM, storage এবং network device পরীক্ষা করা হয়।
POST সফল হলে BIOS নির্ধারিত boot order অনুযায়ী bootable device নির্বাচন করে এবং operating system loader চালু করে।
Hardware Maintenance-এ BIOS ও Booting Configuration
BIOS-এর মাধ্যমে HDD, SSD, RAID controller বা network boot (PXE)-এর মতো boot priority সেট করা যায়।
Hardware maintenance-এর সময় নতুন RAM, hard disk বা RAID card সঠিকভাবে detect হচ্ছে কিনা তা BIOS-এ যাচাই করা হয়।
BIOS থেকে virtualization support, power management এবং hardware enable/disable করা যায়।
ভুল BIOS configuration থাকলে server boot failure, hardware detect না হওয়া বা performance সমস্যা হতে পারে।
Server Maintenance-এ গুরুত্ব
সঠিক BIOS configuration server-এর smooth booting, hardware compatibility, system stability এবং hardware failure বা upgrade-এর সময় দ্রুত recovery নিশ্চিত করে।
General Part
8. SQL Query..... 9. Including Time and Space complexity....
10. A man could buy a certain number of notebooks for Rs.300. If each notebook cost is Rs.5 more, he could have bought 10 notebooks less for the same amount. Find the price of each notebook?
11. Two sides of a plot 32m and 24m and the angle between them a perfect right angle. The other two sides measure 25m each and the other three angles are not right angles. What is the area of the plot?
12. Translate Bangla to English:
13. Translate English to Bangla to:
14. Focus writing in English: Metro Rail Equal Opportunity
Rupali Bank, Assistant Network Engineer, 2023
Combined 3 Bank, AE (IT), 2021
- 1Computer NetworkSubnettingA Classless IP Address is: 105.38.89.230/20. Find out the answer of the following question.
(i) What is Net id and Host id?
(ii) What is network address and broadcast address?
(ii) What is network size?
(iv) If this classless IP address is used to classfull IP address what will be the class?(i) Net ID and Host ID:
The CIDR notation /20 means the first 20 bits are for the Net ID and the remaining 12 bits are for the Host ID.
Net ID (first 20 bits): 105.38.80.0/20
Host ID (remaining 12 bits) represents the specific host in the network.(ii) Network Address and Broadcast Address:
Network Address: Set all host bits to 0.
=>105.38.80.0 (first 20 bits).
Broadcast Address: Set all host bits to 1.
=>105.38.95.255 (last 12 bits as 1).(iii) Network Size:
12 host bits: 2^12 = 4096 total addresses.Usable addresses: 4096 - 2 = 4094 (since network and broadcast are reserved).
(iv) Classful IP Address:
The first octet 105 in binary is 01101001, which starts with 0.This indicates the address is Class A (1.0.0.0 to 127.255.255.255).
- 2Operating SystemJob SchedulingOperating System Round Robin: (Quantum number =3), 4 job (job1, job2, job3, job4), Arrival time: 0,2,8,5; Burst time: 9, 7, 2, 3. What is the average waiting time?
Gantt Chart:


Average Time: 25/4 = 6.25
Gantt Chart:


Average Time: 25/4 = 6.25
- 3MiscellaneousDifference between impact and nonimpact printer with example.

Examples
Impact: Dot matrix printer, Daisy wheel printer,
Non Impact: Inkjet printer, Laser printer
Examples
Impact: Dot matrix printer, Daisy wheel printer,
Non Impact: Inkjet printer, Laser printer
- 4Microprocessor & Computer ArchitectureHits ratio 75%, RAM time 10 ns , SSD time 10 ms for each instruction. Calcualte access time.
Given:
- Hit Ratio = 75% = 0.75
- RAM Access Time = 10 ns = 10 × 10-9 seconds
- SSD Access Time = 10 ms = 10 × 10-3 seconds
We Know
Average Access Time = (Hit Ratio × RAM Time) + (Miss Ratio × SSD Time)
Miss Ratio = 1 - Hit Ratio = 1 - 0.75 = 0.25
Calculation:
Average Access Time = (0.75 × 10 × 10-9) + (0.25 × 10 × 10-3)
= 7.5 × 10-9 + 2.5 × 10-3
= 0.0000000075 + 0.0025 = 0.0025000075 seconds=0.0025000075 × 1000 = 2.5000075 ms
Average Access Time ≈ 2.5 milliseconds
Given:
- Hit Ratio = 75% = 0.75
- RAM Access Time = 10 ns = 10 × 10-9 seconds
- SSD Access Time = 10 ms = 10 × 10-3 seconds
We Know
Average Access Time = (Hit Ratio × RAM Time) + (Miss Ratio × SSD Time)
Miss Ratio = 1 - Hit Ratio = 1 - 0.75 = 0.25
Calculation:
Average Access Time = (0.75 × 10 × 10-9) + (0.25 × 10 × 10-3)
= 7.5 × 10-9 + 2.5 × 10-3
= 0.0000000075 + 0.0025 = 0.0025000075 seconds=0.0025000075 × 1000 = 2.5000075 ms
Average Access Time ≈ 2.5 milliseconds
- 5Object Oriented ProgrammingBasicWhat is the difference between object oriented programming and procedural object programming.

- 6Object Oriented ProgrammingBasicExplain Method Overloading and Method Overriding.
Method Overloading and Method Overriding
Method Overloading
Method Overloading is an Object-Oriented Programming (OOP) feature that allows a class to have multiple methods with the same name but different parameter lists. The methods must differ in the number, type, or order of parameters. This enables the same method name to perform different tasks based on the arguments passed to it. Method Overloading is an example of Compile-time Polymorphism (Static Polymorphism).
Characteristics of Method Overloading
• Methods have the same name.
• Methods must have different parameter lists (number, type, or order of parameters).
• Return type alone cannot distinguish overloaded methods.
• It occurs within the same class.
• It is resolved during compile time.Example
Suppose a class has a method named add().
add(int a, int b) → Adds two integers.
add(int a, int b, int c) → Adds three integers.
add(double a, double b) → Adds two decimal numbers.Although all methods have the same name add(), they perform different operations depending on the parameters supplied.
Method Overriding
Method Overriding is an Object-Oriented Programming (OOP) feature in which a subclass provides its own implementation of a method that is already defined in its superclass. The overriding method must have the same name, same parameter list, and compatible return type as the parent method. Method Overriding is an example of Run-time Polymorphism (Dynamic Polymorphism).
Characteristics of Method Overriding
• Occurs between a superclass and a subclass.
• The method name, parameters, and return type remain the same.
• The child class provides a new implementation of the inherited method.
• It is resolved during runtime using dynamic method dispatch.Example
Suppose a parent class Animal contains a method named sound() that prints "Animal makes a sound".
A child class Dog overrides the sound() method to print "Dog barks".
When the sound() method is called using a Dog object, the overridden method in the Dog class is executed.Difference Between Method Overloading and Method Overriding
Feature Method Overloading Method Overriding Definition Same method name with different parameters. Child class redefines a parent class method. Inheritance Not required. Required. Parameters Must be different. Must be the same. Return Type Can be different, but not only difference. Must be the same or compatible. Polymorphism Compile-time (Static). Run-time (Dynamic). Binding Early Binding. Late Binding.
Method Overloading এবং Method Overriding
Method Overloading
Method Overloading হলো Object-Oriented Programming (OOP)-এর একটি বৈশিষ্ট্য, যেখানে একই Class-এর মধ্যে একই নামের একাধিক Method তৈরি করা যায়, তবে প্রতিটি Method-এর Parameter List ভিন্ন হতে হবে। Parameter-এর সংখ্যা, ধরন (Type) অথবা ক্রম (Order) ভিন্ন হতে পারে। এর ফলে একই Method Name বিভিন্ন ধরনের Input অনুযায়ী ভিন্ন কাজ করতে পারে। Method Overloading হলো Compile-time Polymorphism (Static Polymorphism)-এর উদাহরণ।
Method Overloading-এর বৈশিষ্ট্য
• একই Class-এর মধ্যে ঘটে।
• সকল Method-এর নাম একই থাকে।
• Parameter-এর সংখ্যা, Type অথবা Order অবশ্যই ভিন্ন হতে হবে।
• শুধুমাত্র Return Type পরিবর্তন করলে Overloading হয় না।
• এটি Compile Time-এ নির্ধারিত হয়।উদাহরণ
ধরা যাক একটি Class-এ add() নামে একাধিক Method রয়েছে।
add(int a, int b) → দুটি Integer যোগ করে।
add(int a, int b, int c) → তিনটি Integer যোগ করে।
add(double a, double b) → দুটি Decimal Number যোগ করে।এখানে সব Method-এর নাম add() হলেও Parameter ভিন্ন হওয়ার কারণে এগুলো Method Overloading-এর উদাহরণ।
Method Overriding
Method Overriding হলো Object-Oriented Programming (OOP)-এর একটি বৈশিষ্ট্য, যেখানে একটি Subclass তার Superclass-এ বিদ্যমান একটি Method-কে একই নাম, একই Parameter List এবং Compatible Return Type রেখে নতুনভাবে বাস্তবায়ন (Implementation) করে। অর্থাৎ Child Class Parent Class-এর Method-এর নিজস্ব সংস্করণ প্রদান করে। Method Overriding হলো Run-time Polymorphism (Dynamic Polymorphism)-এর উদাহরণ।
Method Overriding-এর বৈশিষ্ট্য
• Superclass এবং Subclass-এর মধ্যে ঘটে।
• Method-এর নাম, Parameter এবং Return Type একই বা Compatible থাকে।
• Child Class Parent Class-এর Method-এর নতুন Implementation প্রদান করে।
• এটি Runtime-এ Dynamic Method Dispatch-এর মাধ্যমে নির্ধারিত হয়।উদাহরণ
ধরা যাক Animal নামে একটি Parent Class-এ sound() নামে একটি Method রয়েছে, যা "Animal makes a sound" প্রদর্শন করে।
Dog নামে একটি Child Class একই sound() Method Override করে "Dog barks" প্রদর্শন করে।
যখন Dog Object দিয়ে sound() Method Call করা হয়, তখন Child Class-এর Override করা Method-টি Execute হয়।Method Overloading এবং Method Overriding-এর পার্থক্য
বিষয় Method Overloading Method Overriding সংজ্ঞা একই নামের Method, কিন্তু Parameter ভিন্ন। Child Class Parent Class-এর Method পুনরায় বাস্তবায়ন করে। Inheritance প্রয়োজন হয় না। অবশ্যই প্রয়োজন। Parameter ভিন্ন হতে হবে। একই হতে হবে। Return Type শুধু Return Type পরিবর্তন যথেষ্ট নয়। একই বা Compatible হতে হবে। Polymorphism Compile-time (Static). Run-time (Dynamic). Binding Early Binding. Late Binding.
- 7Computer NetworkNATWhat is NAT? Why we used it and how NAT translate?
NAT (Network Address Translation) is a networking technique used in routers to translate private IP addresses into a public IP address before sending data to the Internet.
It allows multiple devices in a private network to access the Internet using a single public IP address.
Why NAT is Used
- IP Address Conservation: NAT helps save public IPv4 addresses by allowing many devices to share one public IP.
- Security: Internal private IP addresses are hidden from external networks, which increases network security.
- Internet Access: It allows devices in a private network to communicate with external networks like the Internet.
How NAT Translation Works
- A device in a private network sends a request to the Internet using its private IP address.
- The router replaces the private IP address with its own public IP address.
- The request is sent to the destination server on the Internet.
- When the response comes back, the router converts the public IP address back to the original private IP address and sends the data to the correct device.
NAT (Network Address Translation) হলো একটি networking প্রযুক্তি যা router ব্যবহার করে private IP address কে public IP address-এ রূপান্তর করে Internet-এ data পাঠানোর আগে।
এটি একটি private network-এর একাধিক device-কে একটি public IP ব্যবহার করে Internet ব্যবহার করার সুযোগ দেয়।
NAT কেন ব্যবহার করা হয়
- IP Address সংরক্ষণ: অনেক device একটি public IPv4 address ব্যবহার করতে পারে, ফলে public IP address সংরক্ষণ করা যায়।
- Security: Internal private IP address বাইরে থেকে দেখা যায় না, ফলে network-এর নিরাপত্তা বৃদ্ধি পায়।
- Internet Access: Private network-এর device গুলো Internet-এর সাথে যোগাযোগ করতে পারে।
NAT Translation কীভাবে কাজ করে
- Private network-এর একটি device তার private IP address ব্যবহার করে Internet-এ request পাঠায়।
- Router সেই private IP address-কে নিজের public IP address দিয়ে প্রতিস্থাপন করে।
- Request Internet-এর destination server-এ পাঠানো হয়।
- Server থেকে response এলে router আবার public IP-কে মূল private IP address-এ পরিবর্তন করে এবং সঠিক device-এ পাঠিয়ে দেয়।
- 8Operating SystemVirtual MemoryWhat is Swapping from virtual memory in the primary memory.
Swapping in Operating System
Swapping is a memory management technique used by an operating system to efficiently manage the limited primary memory (RAM) and the larger but slower secondary memory such as a hard disk or SSD.
What is Swapping?
Swapping is the process of moving entire processes between primary memory (RAM) and secondary memory. When the RAM becomes full and the system needs memory to run active programs, the operating system moves some inactive or low-priority processes from RAM to secondary memory. This process is called swapping out.Later, when the swapped-out process is required again, the operating system brings the process back into RAM from secondary memory. This process is called swapping in.
Through this back-and-forth movement of processes between RAM and secondary memory, the operating system can run more processes than the physical memory can normally support.

Operating System-এ Swapping
Swapping হলো একটি memory management technique যা operating system ব্যবহার করে সীমিত primary memory (RAM) এবং তুলনামূলক বড় কিন্তু ধীর secondary memory (hard disk বা SSD) দক্ষভাবে পরিচালনা করতে।
Swapping কী?
Swapping হলো এমন একটি প্রক্রিয়া যেখানে সম্পূর্ণ process-কে primary memory (RAM) এবং secondary memory-এর মধ্যে স্থানান্তর করা হয়। যখন RAM পূর্ণ হয়ে যায় এবং নতুন program চালানোর জন্য memory প্রয়োজন হয়, তখন operating system কিছু inactive বা কম গুরুত্বপূর্ণ process-কে RAM থেকে secondary memory-তে সরিয়ে দেয়। এই প্রক্রিয়াকে swapping out বলা হয়।পরে যখন সেই process আবার প্রয়োজন হয়, তখন operating system সেটিকে secondary memory থেকে আবার RAM-এ নিয়ে আসে। এই প্রক্রিয়াকে swapping in বলা হয়।
এইভাবে RAM এবং secondary memory-এর মধ্যে process আদান-প্রদানের মাধ্যমে operating system একসাথে অনেকগুলো process পরিচালনা করতে পারে।

- 9Computer SecurityCIAExplain Confidentiality and integrity. Can you have integrity without confidentiality? Justify your answer.
Confidentiality:
Confidentiality means keeping information secret and accessible only to authorized users. It ensures that sensitive data is not viewed or accessed by unauthorized people.Example: Encrypting emails so that only the intended receiver can read the message.
Integrity:
Integrity means that the information is accurate, complete, and unchanged. It ensures that data is not modified or tampered with during storage or transmission.Example: Using checksums or digital signatures to verify that a file has not been altered.
Relationship Between Confidentiality and Integrity
- Integrity without Confidentiality: It is possible to have integrity without confidentiality. For example, a public website may allow everyone to view the data (no confidentiality), but it uses checksums or digital signatures to ensure the data has not been altered.
- Confidentiality without Integrity: It is also possible to have confidentiality without integrity. For example, data may be encrypted so that only authorized users can read it, but if someone modifies the encrypted message without detection, the integrity of the data is compromised.
Confidentiality:
Confidentiality বলতে বোঝায় তথ্যকে গোপন রাখা এবং শুধুমাত্র অনুমোদিত ব্যবহারকারীদের জন্য প্রবেশযোগ্য করা। এটি নিশ্চিত করে যে sensitive data unauthorized user দ্বারা দেখা বা ব্যবহার করা যাবে না।Example: Email encryption করা যাতে শুধুমাত্র নির্দিষ্ট receiver সেই message পড়তে পারে।
Integrity:
Integrity বলতে বোঝায় তথ্যের সঠিকতা, সম্পূর্ণতা এবং অপরিবর্তিত থাকা। এটি নিশ্চিত করে যে data storage বা transmission-এর সময় পরিবর্তিত বা বিকৃত হয়নি।Example: File পরিবর্তন হয়েছে কিনা যাচাই করার জন্য checksum বা digital signature ব্যবহার করা।
Confidentiality এবং Integrity-এর সম্পর্ক
- Integrity without Confidentiality: Integrity থাকতে পারে কিন্তু confidentiality নাও থাকতে পারে। যেমন একটি public website-এ data সবার জন্য উন্মুক্ত থাকে (confidentiality নেই), কিন্তু checksum বা digital signature ব্যবহার করে নিশ্চিত করা হয় যে data পরিবর্তিত হয়নি।
- Confidentiality without Integrity: Confidentiality থাকতে পারে কিন্তু integrity নাও থাকতে পারে। যেমন encrypted data শুধুমাত্র authorized user পড়তে পারে, কিন্তু যদি কেউ encrypted message পরিবর্তন করে ফেলে এবং তা ধরা না পড়ে, তাহলে integrity নষ্ট হয়।
- 10Digital Logic DesignKmapMake a boolean expression using Karnaugh map: ∑m = (3,5,7,9,11,13,14,15)


- 11Data CommunicationTDMHow long does it take to send a file of 640,000 bits from host A to host B over a circuit-switched network?
- All links are 1.536 Mbps
- Each link uses TDM with 24 slots/sec
- 500msec to establish end to end circuit.Each circuit has a transmission rate of (1.536 Mbps)/24 = 64kbps
It takes 640,000 bits/64 kbps = 10 seconds to transmit the file.
To this time, we have to add the time taken to establish the connection. That makes it 10.5 seconds.
Each circuit has a transmission rate of (1.536 Mbps)/24 = 64kbps
It takes 640,000 bits/64 kbps = 10 seconds to transmit the file.
To this time, we have to add the time taken to establish the connection. That makes it 10.5 seconds.
- 12Database Management SystemER DiagramFrom an E-R , Draw the schema diagram also indicate primary key with mapping constraints.
ER-Diagram:

Schema Diagram:

ER-Diagram:

Schema Diagram:

- 13Design Analysis of AlgorithmSorting AlgorithmWrite Merge short function.
Merge Sort Algorithm
Merge Sort is a divide and conquer algorithm. It recursively splits an array into two halves, sorts each half, and then merges the sorted halves back together.
Merge Sort Function
void MergeSort(int A[], int p, int r) { if (p < r) { int q = (p + r) / 2; // Find the middle index MergeSort(A, p, q); // Recursively sort the left half MergeSort(A, q + 1, r); // Recursively sort the right half merge(A, p, q, r); // Merge the sorted halves } }Merge Function
void merge(int A[], int p, int q, int r) { int n1 = q - p + 1; int n2 = r - q; int L[n1], R[n2]; // Copy data into temporary arrays for (int i = 0; i < n1; i++) L[i] = A[p + i]; for (int j = 0; j < n2; j++) R[j] = A[q + 1 + j]; int i = 0, j = 0, k = p; // Merge the two subarrays while (i < n1 && j < n2) { if (L[i] <= R[j]) A[k++] = L[i++]; else A[k++] = R[j++]; } // Copy remaining elements of L[] while (i < n1) A[k++] = L[i++]; // Copy remaining elements of R[] while (j < n2) A[k++] = R[j++]; }
Merge Sort Algorithm
Merge Sort is a divide and conquer algorithm. It recursively splits an array into two halves, sorts each half, and then merges the sorted halves back together.
Merge Sort Function
void MergeSort(int A[], int p, int r) { if (p < r) { int q = (p + r) / 2; // Find the middle index MergeSort(A, p, q); // Recursively sort the left half MergeSort(A, q + 1, r); // Recursively sort the right half merge(A, p, q, r); // Merge the sorted halves } }Merge Function
void merge(int A[], int p, int q, int r) { int n1 = q - p + 1; int n2 = r - q; int L[n1], R[n2]; // Copy data into temporary arrays for (int i = 0; i < n1; i++) L[i] = A[p + i]; for (int j = 0; j < n2; j++) R[j] = A[q + 1 + j]; int i = 0, j = 0, k = p; // Merge the two subarrays while (i < n1 && j < n2) { if (L[i] <= R[j]) A[k++] = L[i++]; else A[k++] = R[j++]; } // Copy remaining elements of L[] while (i < n1) A[k++] = L[i++]; // Copy remaining elements of R[] while (j < n2) A[k++] = R[j++]; }
- 14Operating SystemPagingConsider a machine with 64 MB physical memory and a 32 bit virtual address space. If the page size is 4 KB, what is the approximate size of the page table.
Physical Address Space = 64MB = \(2^{26}\text{B}\)
Virtual Address = 32-bits, \(\therefore\) Virtual Address Space = \(2^{32}\text{B}\)
Page Size = 4KB = \(2^{12}\text{B}\)
Number of pages = \(\frac{2^{32}}{2^{12}} = 2^{20}\) pages.
Number of frames = \(\frac{2^{26}}{2^{12}} = 2^{14}\) frames.
\(\therefore\) Page Table Size = \(2^{20} \times 14\text{-bits} \approx 2^{20} \times 16\text{-bits} \approx 2^{20} \times 2\text{B} = 2\text{MB}\).
Physical Address Space = 64MB = \(2^{26}\text{B}\)
Virtual Address = 32-bits, \(\therefore\) Virtual Address Space = \(2^{32}\text{B}\)
Page Size = 4KB = \(2^{12}\text{B}\)
Number of pages = \(\frac{2^{32}}{2^{12}} = 2^{20}\) pages.
Number of frames = \(\frac{2^{26}}{2^{12}} = 2^{14}\) frames.
\(\therefore\) Page Table Size = \(2^{20} \times 14\text{-bits} \approx 2^{20} \times 16\text{-bits} \approx 2^{20} \times 2\text{B} = 2\text{MB}\).
Rupali Bank, Assistant Network Engineer, 2021ok
Janata Bank, Assistant System Administrator, 2021ok
- 1Linux Command(a)Write Shell command which make a folder name 'A' with read permission access only.
mkdir A chmod 400 A - 2Linux Command(b)Write Shell command which copy folder 'A' all information into folder 'P'. Folder 'A' and folder 'P's parent folder is same.
cp -r A P
- 3Theory of ComputationGive regular expressions that generate, The language {w|w contains at least two a's, or exactly two b's}.
The language is:
{ w | w contains at least two a's, OR exactly two b's }Regular Expressions:
Strings with at least two a's:
(b|a)* a (b|a)* a (b|a)*Strings with exactly two b's:
a* b a* b a*Combined Regular Expression (Union):
((a|b)*a(a|b)*a(a|b)*) | (a*b a*b a*) - 4Microprocessor & Computer ArchitectureConsider a hard disk with: 4 surfaces, 64 tracks/surface, 128 sectors/track, 256 ytes/sector, what is the capacity of the hard disk?
Given:
Surfaces = 4
Tracks per surface = 64
Sectors per track = 128
Bytes per sector = 256 bytesDisk Capacity Formula:
Capacity = Surfaces × Tracks per surface × Sectors per track × Bytes per sectorTotal sectors = 4 × 64 × 128
= 256 × 128
= 32,768 sectorsTotal capacity = 32,768 × 256 bytes
= 8,388,608 bytesConvert to MB:
1 MB = 1,048,576 bytes
8,388,608 ÷ 1,048,576 = 8 MB
Answer:
Disk Capacity ≈ 8 MB
- 5Object Oriented ProgrammingAn Abstract class Player with two sub class Bowler and Batsman, Abstract class have me abstract method average, also have constructor and a string function that display ame bowler or batsman. Batsman class implement abstract function average and isplay result, Batsman class have run and number match data. Now write a Java rogram and show Batsman average run.
abstract class Player { String name; Player(String name) { this.name = name; } abstract double average(); String displayType(String type) { return "Player Type: " + type; } }
- 6Operating SystemDeadlockWhat is Deadlock? Explain two situations where deadlock condition occurs.
Deadlock is a situation in an Operating System where two or more processes are unable to continue execution because each process is waiting for a resource that is held by another process.
Two Situations Where Deadlock Occurs
- Mutual Exclusion: A resource can be used by only one process at a time. If another process requests the same resource, it must wait until the resource is released.
- Circular Wait: Deadlock occurs when a group of processes form a circular chain where each process is waiting for a resource held by the next process in the chain.
- 7Computer NetworkSubnettingConsider the IP address 10.20.30.0/25 now answer the below question:
a. What is the subnet mask of the above IP address?
b. How many host per subnet have?
c. What is the Broadcast address of this 10.20.30.0/3 IP address?Given:
IP Address = 10.20.30.0/25a) Subnet Mask
A /25 prefix means 25 bits are used for the network.
Subnet Mask = 255.255.255.128
Binary form:
11111111.11111111.11111111.10000000b) Number of hosts per subnet
Host bits = 32 − 25 = 7 bits
Total IP addresses per subnet = 27 = 128
Usable hosts = 128 − 2 = 126 hosts
(2 addresses are reserved for network and broadcast)
c) Broadcast address
With /25, each subnet block size = 128.
Subnet range:
10.20.30.0 → 10.20.30.127Network address = 10.20.30.0
Broadcast address = 10.20.30.127Usable host range:
10.20.30.1 – 10.20.30.126Final Answers:
Question Answer Subnet Mask 255.255.255.128 Hosts per subnet 126 usable hosts Broadcast Address 10.20.30.127
- 8Database Management SystemER DiagramGiven a scenario about football Game (Game_no, game time, game_name), Team (team-id, coach_id, team-name), Coach (Coach-id, Coach-name) Player (player-id, palyer- name, player-position), Stadium information (stadium-id, stadium-name, stadium-loc) Match (match_id, match date, match_result).
i. Draw ER diagram
- 9Operating SystemMemory AllocationIn the given example, let us assume the jobs and the memory requirements as the following: Job1 = 90k, Job2 = 20k, Job350k, Job4=200k. Let the free pace memory allocation blocks be: Block1= 50k, Block2= 100k, Block3=90k, Block4=200k, Block5 50k. Now show Best Fit Method and first fit method memory allocation. [Similar Question but value cannot exactly remember.]
Given:
Jobs: J1 = 90K, J2 = 20K, J3 = 50K, J4 = 200K
Blocks: B1 = 50K, B2 = 100K, B3 = 90K, B4 = 200K, B5 = 50K1) First Fit Method
In First Fit, each job is placed in the first block that is large enough.
Step by step:
J1 = 90K → first block that fits is B2 = 100K
Remaining in B2 = 10KJ2 = 20K → first block that fits is B1 = 50K
Remaining in B1 = 30KJ3 = 50K → first block that fits is B3 = 90K
Remaining in B3 = 40KJ4 = 200K → first block that fits is B4 = 200K
Remaining in B4 = 0KFirst Fit Allocation Table:
Job Size Allocated Block Block Size Unused Space J1 90K B2 100K 10K J2 20K B1 50K 30K J3 50K B3 90K 40K J4 200K B4 200K 0K 2) Best Fit Method
In Best Fit, each job is placed in the smallest block that can hold it.
Step by step:
J1 = 90K → best block is B3 = 90K
Remaining in B3 = 0KJ2 = 20K → best block is B1 = 50K
Remaining in B1 = 30KJ3 = 50K → best block is B5 = 50K
Remaining in B5 = 0KJ4 = 200K → best block is B4 = 200K
Remaining in B4 = 0KBest Fit Allocation Table:
Job Size Allocated Block Block Size Unused Space J1 90K B3 90K 0K J2 20K B1 50K 30K J3 50K B5 50K 0K J4 200K B4 200K 0K Final Answer:
First Fit allocation:
J1 → B2, J2 → B1, J3 → B3, J4 → B4Best Fit allocation:
J1 → B3, J2 → B1, J3 → B5, J4 → B4
- 10Operating SystemSchedulingCalculate The Average Waiting Time of SJF scheduling algorithm.
Process Burst Time Arrival Time P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2
(i) Average waiting time for FCFS
(ii) Preemptive SJF
(iii) Round Robin (Quantum time: 3) scheduling algorithm


- 11Design Analysis of AlgorithmShortest PathShortest Path Algorithm.
Dijkstra(G, s) for each vertex v in G dist[v] = infinity visited[v] = false dist[s] = 0 for i = 1 to number of vertices u = vertex with minimum dist[u] among unvisited vertices visited[u] = true for each neighbor v of u if visited[v] == false and dist[u] + w(u,v) < dist[v] dist[v] = dist[u] + w(u,v) return dist
- 12Non Technical QuestionNon Tech
Non-Dept (5*10-50)
1. রচনাঃ সামাজিক মূল্যবোধ বৃদ্ধিতে দেশীয় সংস্কৃতির গুরুত্ব ব্যাখ্যা কর।
2. Write an Essay: climate change impact in Bangladesh.
3. Bangla to English Translation:
4. English to Bangla Translation::
5.Short Question [5*2-10]
a.SWIFT full form.
b.Which international organization help Rohingya?
c. Where "Golden Gate" Situated?















