Previous (2021-2026) Assistant Database Administrator QnS
Combined Bank, Assistant Database Administrator, 2026 (Based year 2023)
Combined Bank
Post: Assistant Database Administrator(Based Year 2023)
Exam: 08-May-2026
Collected question
a) Hard Drive need RAID-5b) Preventive and Corrective Maintenance - Data Center
c) Routing Table - supernet - CIDR nation d) SQL Querry- top 5 hospitals name from accident treatment
e) SQL Querry error - salary
f) Given Table - Super Key + primary key
g) Http code- mobile phone upload not affirmation
h) Why not use nosql(mongoDB) why use RDBMS in Banking?
i) R1 R2 lossless Join- decomposition database
k) Cloud Vendor or bank fault; legally vs technically
l) Half duplex and full duplex- example with network topology/hardware m) API Gateway? Backened
n) RISC ARM processor vs CISC- x86 processor -RISC design philosophy-which setup will be better cloud infrastructure environment?
o) An app- weekly changing user feedback - government tight policies regarding user information- which SDLC(Waterfall,Agile/scrum or spiral)-uncertaintiy vs Rigidity- trade off
Recommendation: RAID 5
For a bank’s transaction processing system that must survive a single drive failure while using storage efficiently, RAID 5 is the ideal choice. It balances fault tolerance, performance, and capacity utilization better than other levels for this specific need.
How RAID 5 Works
RAID 5 uses block-level striping with distributed parity. Data and parity information are spread across all drives in the array.
- Striping: Data is split into blocks and written across multiple drives simultaneously, improving read and write speed.
- Distributed parity: Parity (error-checking) data is calculated and stored across all drives, not on a single dedicated drive. If one drive fails, the missing data can be reconstructed from the remaining drives and parity.
- Minimum drives: Requires at least 3 drives.
Why RAID 5 is Suitable for Bank Transaction Processing
| Requirement | RAID 5 Fulfillment |
|---|---|
| Survive single drive failure | Yes, parity allows full reconstruction |
| Efficient storage use | Only 1 drive worth of space lost for parity |
| Read performance | Fast, data striped across all drives |
| Write performance | Good for transactional workloads |
| Cost efficiency | Lower than RAID 1 or RAID 10 |
Capacity Example:
With 4 drives of 2 TB each in RAID 5:
Total raw space = 8 TB
Parity overhead = 2 TB (one drive)
Usable space = 6 TB
Bank Transaction Processing-এর জন্য Recommended RAID Level
Recommendation: RAID 5
Bank-এর transaction processing system-এর জন্য যা single drive failure survive করবে এবং storage efficiently utilize করবে, RAID 5 ideal choice। এটি fault tolerance, performance এবং capacity utilization-এর মধ্যে এই specific need-এর জন্য best balance করে।<
RAID 5 কীভাবে কাজ করে
RAID 5 block-level striping with distributed parity ব্যবহার করে। Data এবং parity information array-এর সব drives জুড়ে spread করা হয়।<
- Striping: Data blocks-এ split হয়ে একসাথে multiple drives-এ write করা হয়, read এবং write speed improve করে।
- Distributed parity: Parity (error-checking) data calculate করে সব drives-এ store করা হয়, single dedicated drive-এ নয়। একটি drive fail হলে missing data বাকি drives এবং parity থেকে reconstruct করা যায়।
- Minimum drives: কমপক্ষে 3 drives প্রয়োজন।
RAID 5 Bank Transaction Processing-এর জন্য Suitable কেন
| Requirement | RAID 5 Fulfillment |
|---|---|
| Single drive failure survive | হ্যাঁ, parity full reconstruction allow করে |
| Efficient storage use | Parity-এর জন্য শুধু 1 drive-এর সমান space loss |
| Read performance | Fast, data সব drives জুড়ে striped |
| Write performance | Transactional workloads-এর জন্য good |
| Cost efficiency | RAID 1 বা RAID 10-এর চেয়ে lower |
Capacity Example:
4টি 2 TB drive RAID 5-এ:
Total raw space = 8 TB
Parity overhead = 2 TB (একটি drive)
Usable space = 6 TB<
A data center running 24/7 online banking services cannot afford downtime. Both preventive and corrective maintenance play essential but different roles in keeping systems running smoothly.
1. Preventive Maintenance
Preventive maintenance is scheduled, proactive work done to avoid failures before they happen. It aims to keep hardware and software in optimal condition.
- Regular inspections: Checking server health, temperature, fan speed, and power supply status on a fixed schedule.
- Component replacement: Swapping out aging hard drives, batteries, or cooling units before they fail.
- Software updates: Applying security patches, firmware upgrades, and OS updates during planned windows.
- Load testing: Simulating peak traffic to identify bottlenecks before real customers are affected.
- Cleaning and cooling: Dust removal and HVAC checks to prevent overheating.
Contribution to availability:
By catching problems early, preventive maintenance reduces the frequency of unexpected outages. For a bank, this means customers can transfer money and check balances at any time without surprise service interruptions.
2. Corrective Maintenance
Corrective maintenance is reactive work done after a failure has already occurred. It restores the system to working condition.
- Fault diagnosis: Identifying which server, disk, or network link has failed.
- Component repair or replacement: Fixing or swapping the broken part.
- Data recovery: Restoring lost or corrupted data from backups.
- Bug fixes: Patching code defects that caused application crashes.
- Incident response: Escalating and documenting the issue for future prevention.
Contribution to availability:
When preventive measures fail, corrective maintenance minimizes downtime. Fast response teams, spare parts inventory, and automated failover systems ensure that even after a hardware failure, banking services resume quickly.
How Both Work Together for Banking Availability
- Preventive maintenance lowers the chance of failures during high-traffic periods like salary days or holidays.
- Corrective maintenance ensures that if a failure still happens, the Mean Time To Repair (MTTR) is as short as possible.
- Combined strategy: A bank that invests heavily in prevention but also maintains a skilled on-call team and hot-swappable spare parts achieves the highest possible uptime for its 24/7 services.
24/7 online banking services run করা data center downtime afford করতে পারে না। Preventive এবং corrective maintenance উভয়ই systems smoothly চলতে রাখতে essential কিন্তু ভিন্ন ভূমিকা পালন করে।
1. Preventive Maintenance
Preventive maintenance হলো scheduled, proactive work যা failure হওয়ার আগেই করা হয়। এটি hardware এবং software optimal condition-এ রাখতে aim করে।
- Regular inspections: Fixed schedule-এ server health, temperature, fan speed এবং power supply status check করা।
- Component replacement: Fail করার আগেই aging hard drives, batteries বা cooling units swap করা।
- Software updates: Planned windows-এ security patches, firmware upgrades এবং OS updates apply করা।
- Load testing: Real customers affect হওয়ার আগে peak traffic simulate করে bottlenecks identify করা।
- Cleaning and cooling: Overheating prevent করতে dust removal এবং HVAC checks করা।
Availability-তে অবদান:
Problems early catch করলে preventive maintenance unexpected outages-এর frequency কমায়। Bank-এর জন্য এর মানে customers যেকোনো সময় money transfer এবং balance check করতে পারে surprise service interruptions ছাড়াই।<
2. Corrective Maintenance
Corrective maintenance হলো reactive work যা failure occur করার পরে করা হয়। এটি system working condition-এ ফিরিয়ে আনে।
- Fault diagnosis: কোন server, disk বা network link fail করেছে তা identify করা।
- Component repair or replacement: ভাঙা part fix বা swap করা।
- Data recovery: Backups থেকে lost বা corrupted data restore করা।
- Bug fixes: Application crashes cause করা code defects patch করা।
- Incident response: Future prevention-এর জন্য issue escalate এবং document করা।
Availability-তে অবদান:
Preventive measures fail হলে corrective maintenance downtime minimize করে। Fast response teams, spare parts inventory এবং automated failover systems ensure করে যে hardware failure-এর পরেও banking services দ্রুত resume হয়।
Banking Availability-এর জন্য উভয় কীভাবে একসাথে কাজ করে
- Preventive maintenance high-traffic periods যেমন salary days বা holidays-এ failure হওয়ার chance কমায়।
- Corrective maintenance failure হলেও Mean Time To Repair (MTTR) যতটা সম্ভব কম নিশ্চিত করে।
- Combined strategy: যে bank prevention-এ heavily invest করে এবং skilled on-call team এবং hot-swappable spare parts maintain করে, সে তার 24/7 services-এর জন্য সর্বোচ্চ possible uptime achieve করে।
Given Networks:
- 192.168.0.0/24
- 192.168.1.0/24
- 192.168.2.0/24
- 192.168.3.0/24
Step 1: Convert to Binary
| Network | Binary (last octet) |
|---|---|
| 192.168.0.0 | 0000 0000 |
| 192.168.1.0 | 0000 0001 |
| 192.168.2.0 | 0000 0010 |
| 192.168.3.0 | 0000 0011 |
Step 2: Find Common Prefix
Looking at the last octet in binary:
– 0 = 0000 0000
– 1 = 0000 0001
– 2 = 0000 0010
– 3 = 0000 0011
The first 22 bits are identical across all four networks. The last 2 bits vary (00, 01, 10, 11).
Step 3: Determine Supernet Address
Supernet address = 192.168.0.0/22
Mask: 255.255.252.0
Range: 192.168.0.0 to 192.168.3.255
Total hosts: 1024 (4 × 256)
How Supernetting Improves Routing Efficiency
- Reduced table size: Instead of 4 separate /24 entries, the router stores 1 /22 entry. This saves memory and lookup time.
- Faster lookups: Smaller routing tables mean faster longest-prefix-match searches, reducing packet forwarding delay.
- Less update traffic: If one subnet changes, the aggregated route does not need to be re-advertised. BGP and OSPF updates are smaller.
- Hierarchical routing: ISPs can advertise a single supernet to upstream providers instead of listing every customer subnet, keeping the global internet routing table manageable.
Given Networks:
- 192.168.0.0/24
- 192.168.1.0/24
- 192.168.2.0/24
- 192.168.3.0/24
Step 1: Binary-তে Convert করা
| Network | Binary (last octet) |
|---|---|
| 192.168.0.0 | 0000 0000 |
| 192.168.1.0 | 0000 0001 |
| 192.168.2.0 | 0000 0010 |
| 192.168.3.0 | 0000 0011 |
Step 2: Common Prefix খোঁজা
Last octet binary-তে দেখলে:
– 0 = 0000 0000
– 1 = 0000 0001
– 2 = 0000 0010
– 3 = 0000 0011
চারটা network-এর প্রথম 22 bits identical। শেষ 2 bits vary করে (00, 01, 10, 11)।
Step 3: Supernet Address নির্ধারণ
Supernet address = 192.168.0.0/22
Mask: 255.255.252.0
Range: 192.168.0.0 থেকে 192.168.3.255
Total hosts: 1024 (4 × 256)
Supernetting Routing Efficiency কীভাবে Improve করে
- Reduced table size: 4টা আলাদা /24 entry-এর পরিবর্তে router 1টা /22 entry store করে। এতে memory এবং lookup time বাঁচে।
- Faster lookups: ছোট routing tables মানে দ্রুত longest-prefix-match search, packet forwarding delay কমে।
- Less update traffic: একটা subnet change হলে aggregated route re-advertise করার প্রয়োজন হয় না। BGP এবং OSPF updates ছোট হয়।
- Hierarchical routing: ISPs single supernet advertise করতে পারে upstream providers-এর কাছে, প্রতিটি customer subnet list না করেই, global internet routing table manageable রাখে।
SELECT HospitalName
FROM Hospital
WHERE Specialization = 'Accident Treatment'
ORDER BY PatientCount DESC
LIMIT 5;
Explanation:- WHERE filters hospitals specializing in accident treatment.
- ORDER BY PatientCount DESC sorts hospitals from highest to lowest patient count.
- LIMIT 5 returns the top five hospitals.
Aggregate functions must be computed using a subquery.
Incorrect Query:
SELECT EmployeeName, Salary FROM Employees WHERE Salary > AVG(Salary);
Why it fails:
- WHERE clause is evaluated before aggregation.
- AVG(Salary) requires grouped or subquery context.
Correct Query:
SELECT EmployeeName, Salary FROM Employees WHERE Salary > (SELECT AVG(Salary) FROM Employees);
Explanation:
- The subquery calculates the average salary first.
- Main query compares each employee salary with the computed average.
Given Relation:
Employee(EmployeeID, NationalID, Email, Name, Department)
Functional Understanding:
EmployeeID, NationalID, and Email are unique attributes (each can uniquely identify an employee).
Candidate Keys:
Minimal attributes that can uniquely identify a tuple.
- EmployeeID
- NationalID
Super Keys:
Any combination of attributes that can uniquely identify a tuple (including candidate keys and their supersets). Examples include:
- EmployeeID
- NationalID
- (EmployeeID, Name)
- (EmployeeID, Department)
- (Email, Department)
- (NationalID, Name, Department)
- and any superset containing at least one candidate key
Primary Key (Most Appropriate Choice):
EmployeeID
Justification:
- It is unique for every employee.
- It is stable (does not change over time).
- It is short and efficient for indexing and joins.
- Compared to NationalID or Email, it is less likely to change.
Crrect Status Code: 415 Unsupported Media Type
The server should return 415 Unsupported Media Type because the uploaded file format violates the server’s accepted content types.
Why 415 is the Right Choice
- Client error category: 4xx codes indicate the problem is on the client side. The request was understood but cannot be processed due to invalid content.
- Specific to content type: 415 explicitly signals that the server refuses to accept the payload because its media type is not supported, unlike generic 400 which covers all bad requests.
- Content-Type header mismatch: The client likely sent a Content-Type header (e.g.,
image/heicorapplication/x-bittorrent) that the server does not allow for document uploads.
Response Example:
HTTP/1.1 415 Unsupported Media Type
Content-Type: application/json
{
“error”: “Unsupported file format”,
“message”: “Only PDF, JPG, and PNG files are accepted”,
“received”: “image/webp”,
“allowed_types”: [“application/pdf”, “image/jpeg”, “image/png”]
}
Why Not Other Codes?
| Code | Why Incorrect |
|---|---|
| 400 Bad Request | Too generic; does not specifically identify the media type problem |
| 403 Forbidden | Implies authentication or permission issue, not format rejection |
| 406 Not Acceptable | Used when server cannot provide a response in client’s accepted format, not for uploaded content |
| 500 Internal Server Error | Wrong category; the server is working correctly by rejecting the format |
Client Action:
The mobile app should read the 415 response, display the allowed formats to the user, and prompt them to select a supported file type before retrying the upload.
Correct Status Code: 415 Unsupported Media Type
Server 415 Unsupported Media Type return করবে কারণ uploaded file format server-এর accepted content types violate করে।
415 কেন Right Choice
- Client error category: 4xx codes indicate করে problem client side-এ। Request understood হয়েছে কিন্তু invalid content-এর কারণে process করা যাচ্ছে না।
- Specific to content type: 415 explicitly signal করে যে server payload accept করছে না কারণ এর media type supported নয়, generic 400-এর বিপরীতে যা সব bad requests cover করে।
- Content-Type header mismatch: Client সম্ভবত এমন Content-Type header পাঠিয়েছে (যেমন
image/heicবাapplication/x-bittorrent) যা server document uploads-এর জন্য allow করে না।
Response Example:
HTTP/1.1 415 Unsupported Media Type
Content-Type: application/json
{
“error”: “Unsupported file format”,
“message”: “Only PDF, JPG, and PNG files are accepted”,
“received”: “image/webp”,
“allowed_types”: [“application/pdf”, “image/jpeg”, “image/png”]
}
অন্যান্য Codes কেন নয়?
| Code | Why Incorrect |
|---|---|
| 400 Bad Request | Too generic; media type problem specifically identify করে না |
| 403 Forbidden | Authentication বা permission issue imply করে, format rejection নয় |
| 406 Not Acceptable | Server client-এর accepted format-এ response দিতে না পারলে ব্যবহার হয়, uploaded content-এর জন্য নয় |
| 500 Internal Server Error | Wrong category; server correctly format reject করছে |
Client Action:
Mobile app 415 response পড়বে, user-কে allowed formats দেখাবে, এবং retry করার আগে supported file type select করতে prompt করবে।
Replacing a relational database with MongoDB for core banking is generally not an appropriate decision. Core banking applications have strict requirements that align better with RDBMS strengths than NoSQL flexibility.
Why RDBMS is More Suitable for Core Banking
- ACID compliance: Banking transactions require Atomicity, Consistency, Isolation, and Durability. RDBMS guarantees these natively. MongoDB supports multi-document ACID only from version 4.0, and it is less mature than decades-proven RDBMS implementations.
- Complex joins and relationships: Accounts, customers, transactions, loans, and branches have deeply interconnected data. RDBMS handles complex joins efficiently. MongoDB’s document model forces denormalization or application-level joins, increasing complexity.
- Data integrity constraints: Foreign keys, check constraints, and unique indexes ensure no orphaned records or invalid states. MongoDB lacks native foreign key enforcement.
- Regulatory compliance: Banks must maintain audit trails, data lineage, and strict schema control. RDBMS schemas enforce structure. MongoDB’s schema-less design risks data inconsistency over time.
- Mature tooling: RDBMS has decades of backup, replication, monitoring, and reporting tools designed for financial workloads.
When MongoDB Could Be Appropriate
MongoDB fits specific banking use cases but not core transactional systems:
- Customer-facing mobile apps: Session data, preferences, and activity logs where flexibility and speed matter more than strict consistency.
- Real-time analytics: Aggregating transaction patterns for fraud detection dashboards.
- Document storage: KYC documents, scanned checks, and unstructured compliance paperwork.
- Catalogs and product data: Bank product descriptions, interest rate tables, and marketing content.
Recommended Architecture:
Use RDBMS (Oracle, PostgreSQL, or DB2) for core banking transactions. Complement with MongoDB only for peripheral services like mobile app caching, document storage, or analytics where its strengths apply.
Core Banking-এ RDBMS-কে MongoDB দিয়ে Replace করা: Analysis
Core banking-এর জন্য relational database-কে MongoDB দিয়ে replace করা সাধারণত appropriate decision নয়। Core banking applications-এর strict requirements RDBMS strengths-এর সাথে better align করে NoSQL flexibility-এর চেয়ে।
Core Banking-এ RDBMS কেন More Suitable
- ACID compliance: Banking transactions-এর জন্য Atomicity, Consistency, Isolation, এবং Durability প্রয়োজন। RDBMS এগুলো natively guarantee করে। MongoDB multi-document ACID শুধু version 4.0 থেকে support করে, এবং এটি decades-proven RDBMS implementations-এর চেয়ে less mature।
- Complex joins এবং relationships: Accounts, customers, transactions, loans, এবং branches-এর deeply interconnected data থাকে। RDBMS complex joins efficiently handle করে। MongoDB-এর document model denormalization বা application-level joins force করে, complexity বাড়ায়।
- Data integrity constraints: Foreign keys, check constraints, এবং unique indexes ensure করে যে orphaned records বা invalid states তৈরি হয় না। MongoDB-এ native foreign key enforcement নেই।
- Regulatory compliance: Banks-কে audit trails, data lineage, এবং strict schema control maintain করতে হয়। RDBMS schemas structure enforce করে। MongoDB-এর schema-less design সময়ের সাথে data inconsistency risk তৈরি করে।
- Mature tooling: RDBMS-এর decades of backup, replication, monitoring, এবং reporting tools আছে যা financial workloads-এর জন্য designed।
MongoDB কখন Appropriate হতে পারে
MongoDB specific banking use cases-এ fit করে কিন্তু core transactional systems-এ নয়:
- Customer-facing mobile apps: Session data, preferences, এবং activity logs যেখানে flexibility এবং speed strict consistency-এর চেয়ে বেশি matter করে।
- Real-time analytics: Fraud detection dashboards-এর জন্য transaction patterns aggregate করা।
- Document storage: KYC documents, scanned checks, এবং unstructured compliance paperwork।
- Catalogs এবং product data: Bank product descriptions, interest rate tables, এবং marketing content।
Recommended Architecture:
Core banking transactions-এর জন্য RDBMS (Oracle, PostgreSQL, বা DB2) ব্যবহার করুন। MongoDB শুধু peripheral services যেমন mobile app caching, document storage, বা analytics-এর জন্য complement হিসেবে ব্যবহার করুন যেখানে এর strengths apply করে।
Relation R(A, B, C) is decomposed into:
R1(A, B) and R2(B, C)
Is the decomposition lossless?
Yes, this decomposition is lossless join if attribute B is a key (or common key condition holds).
Explanation:
The common attribute between R1 and R2 is B.
When joining R1 and R2 on B, we can perfectly reconstruct the original relation R(A, B, C) without losing or adding extra tuples, provided B functionally determines either R1 or R2.
Lossless Join Condition:
A decomposition of R into R1 and R2 is lossless if:
(R1 ∩ R2) → R1 OR (R1 ∩ R2) → R2
For this case:
R1 ∩ R2 = {B}
So the condition becomes:
- B → A (then lossless), OR
- B → C (then lossless)
When a cloud service outage disrupts online banking, both the cloud provider and the bank share responsibilities, but in different domains. Their obligations are typically defined in a Service Level Agreement (SLA).
1. Cloud Service Provider Responsibilities
Technical:
Infrastructure uptime: Maintain data center power, cooling, networking, and hardware to meet SLA guarantees (often 99.9% to 99.99%).
- Redundancy and failover: Provide multi-zone or multi-region replication so a single point of failure does not cause total outage.
- Incident response: Detect failures quickly, communicate status transparently, and restore services within agreed Recovery Time Objective (RTO).
- Backup integrity: Ensure customer data backups are consistent and recoverable.
Legal:
- SLA credits: Pay financial penalties or service credits if uptime falls below the guaranteed threshold.
- Notification duty: Inform affected customers promptly about the outage cause, scope, and estimated resolution time.
- Data protection: Comply with data residency and encryption standards even during failure events.
- Liability cap: Most SLAs limit provider liability to monthly fees paid, excluding consequential damages like lost bank revenue.
2. Bank Responsibilities
Technical:
- Architecture resilience: Design systems with multi-cloud or hybrid-cloud failover, not relying on a single provider or region.
- Disaster recovery planning: Maintain active-active or warm standby systems that can switch over automatically.
- Monitoring and alerting: Detect outages independently and trigger customer communication channels.
- Data backups: Keep independent encrypted backups outside the primary cloud environment.
Legal:
- Regulatory compliance: Banking regulators hold the bank accountable for service availability, regardless of cloud provider failures.
- Customer duty: The bank must compensate customers for failed transactions, unauthorized access during recovery, or missed payments.
- Contract management: The bank is responsible for negotiating SLAs, understanding liability limits, and demanding higher availability tiers.
- Transparency to customers: The bank must explain outages to customers and regulators, not shift blame to the cloud provider.
Cloud service outage online banking disrupt করলে cloud provider এবং bank উভয়েরই responsibilities থাকে, কিন্তু ভিন্ন domains-এ। তাদের obligations সাধারণত Service Level Agreement (SLA)-এ define করা থাকে।
1. Cloud Service Provider Responsibilities
Technical:
- Infrastructure uptime: Data center power, cooling, networking এবং hardware maintain করা SLA guarantees (প্রায়শই 99.9% থেকে 99.99%) meet করতে।
- Redundancy এবং failover: Multi-zone বা multi-region replication provide করা যাতে single point of failure total outage cause না করে।
- Incident response: দ্রুত failures detect করা, status transparently communicate করা, এবং agreed Recovery Time Objective (RTO)-এর মধ্যে services restore করা।
- Backup integrity: Customer data backups consistent এবং recoverable কিনা নিশ্চিত করা।
Legal:
- SLA credits: Uptime guaranteed threshold-এর নিচে নামলে financial penalties বা service credits pay করা।
- Notification duty: Affected customers-কে promptly outage cause, scope এবং estimated resolution time সম্পর্কে inform করা।
- Data protection: Failure events-এর সময়ও data residency এবং encryption standards comply করা।
- Liability cap: Most SLAs provider liability monthly fees paid-এর মধ্যে limit করে, lost bank revenue এর মতো consequential damages বাদ দিয়ে।
2. Bank Responsibilities
Technical:
- Architecture resilience: Multi-cloud বা hybrid-cloud failover সহ systems design করা, single provider বা region-এর উপর নির্ভর না করে।
- Disaster recovery planning: Active-active বা warm standby systems maintain করা যা automatically switch over করতে পারে।
- Monitoring এবং alerting: Independently outages detect করা এবং customer communication channels trigger করা।
- Data backups: Primary cloud environment-এর বাইরে independent encrypted backups রাখা।
Legal:
- Regulatory compliance: Banking regulators bank-কেই service availability-এর জন্য accountable ধরে, cloud provider failures যাই হোক না কেন।
- Customer duty: Bank-কে failed transactions, recovery-এর সময় unauthorized access, বা missed payments-এর জন্য customers-কে compensate করতে হয়।
- Contract management: Bank SLA negotiate, liability limits বোঝা, এবং higher availability tiers demand করার দায়িত্বে।
- Transparency to customers: Bank-কে customers এবং regulators-কে outages explain করতে হবে, cloud provider-এর দোষ shift না করে।
Half-Duplex:
In half-duplex communication, data can flow in both directions, but not at the same time.
Devices must take turns sending and receiving data.
Full-Duplex:
In full-duplex communication, data can flow in both directions simultaneously.
Devices can send and receive data at the same time.
Key Differences:
- Data Flow: Half-duplex = one direction at a time, Full-duplex = both directions simultaneously
- Efficiency: Full-duplex is more efficient
- Collisions: Half-duplex has collisions, full-duplex eliminates collisions
- Performance: Full-duplex provides higher throughput
Impact of Replacing Hub with Switch
Hub-based LAN:
– Operates in half-duplex mode
– All devices share bandwidth
– High collisions and congestion
Switch-based LAN:
– Supports full-duplex communication
– Dedicated bandwidth per port
– No collisions (due to separate collision domains)
Performance Improvement:
- Higher network speed and throughput
- Reduced collisions and retransmissions
- Better bandwidth utilization
- Improved overall LAN efficiency
Conclusion:
Switching from hub to switch enables full-duplex communication, eliminates collisions, and significantly improves network performance and scalability.
Half-Duplex vs Full-Duplex Communication
Half-Duplex:
Half-duplex communication-এ data দুই দিকেই যেতে পারে, কিন্তু একসাথে নয়।
ডিভাইসগুলোকে একে অপরের সাথে পালাক্রমে send এবং receive করতে হয়।
Full-Duplex:
Full-duplex communication-এ data একই সময়ে দুই দিকেই যেতে পারে।
একই সাথে send এবং receive করা যায়।
মূল পার্থক্য:
- Data Flow: Half-duplex = এক সময়ে এক দিক, Full-duplex = একসাথে দুই দিক
- Efficiency: Full-duplex বেশি efficient
- Collision: Half-duplex-এ collision হয়, Full-duplex-এ হয় না
- Performance: Full-duplex বেশি speed দেয়
Hub থেকে Switch-এ পরিবর্তনের প্রভাব:
Hub-based LAN:
– Half-duplex mode-এ কাজ করে
– সব device একই bandwidth share করে
– বেশি collision এবং congestion হয়
Switch-based LAN:
– Full-duplex support করে
– প্রতিটি port আলাদা bandwidth পায়
– collision হয় না (separate collision domain)
Performance improvement:
- Network speed এবং throughput বাড়ে
- Collision এবং retransmission কমে
- Bandwidth utilization ভালো হয়
- Overall network efficiency বাড়ে
উপসংহার:
Hub থেকে switch-এ পরিবর্তন করলে full-duplex communication সম্ভব হয়, collision দূর হয় এবং network performance অনেক উন্নত হয়।
When a bank migrates from a monolithic application to microservices, the system breaks into many small, independent services. An API Gateway acts as the single entry point for all client requests, managing how they reach the correct backend services.
1. Core Role of the API Gateway
- Single entry point: Instead of clients calling dozens of microservices directly, they send all requests to one gateway URL. The gateway routes each request to the right service.
- Request routing: A request to
/api/accountsgoes to the account service, while/api/transactionsgoes to the transaction service. - Protocol translation: Converts external protocols (HTTPS/REST) to internal protocols (gRPC, message queues) that microservices use.
- Load balancing: Distributes incoming traffic across multiple instances of the same microservice to prevent overload.
2. How It Interacts with Backend Services
| Step | Action |
|---|---|
| 1 | Client sends request to API Gateway |
| 2 | Gateway authenticates and validates the request |
| 3 | Gateway looks up routing rules for the endpoint |
| 4 | Gateway forwards request to the correct microservice |
| 5 | Microservice processes and returns response |
| 6 | Gateway may transform response format before sending to client |
3. Additional Responsibilities in Banking
- Authentication and authorization: Verifies JWT tokens or API keys before any request reaches backend services, protecting sensitive banking data.
- Rate limiting: Prevents DDoS attacks by capping requests per client, ensuring services stay available.
- SSL termination: Handles encryption/decryption at the edge so microservices focus on business logic.
- Request aggregation: A single client request (like “show dashboard”) may need data from 5 services. The gateway calls all 5 in parallel and returns one combined response.
- Circuit breaker: If a microservice fails, the gateway stops sending requests to it and returns a fallback response, preventing cascade failures.
4. Why Banks Need It After Monolith Migration
In a monolith, one codebase handled everything. In microservices, there may be 50+ services. Without a gateway, clients would need to know every service address, handle failures themselves, and manage multiple authentication points. The API Gateway hides this complexity.
Microservices Architecture-এ API Gateway-এর Role
Bank monolithic application থেকে microservices-এ migrate করলে system অনেক ছোট, independent services-এ ভাগ হয়ে যায়। API Gateway সব client requests-এর জন্য single entry point হিসেবে কাজ করে, কীভাবে সেগুলো সঠিক backend services-এ পৌঁছায় তা manage করে।
1. API Gateway-এর Core Role
- Single entry point: Clients directly dozens of microservices call না করে সব requests একটা gateway URL-এ পাঠায়। Gateway প্রতিটি request সঠিক service-এ route করে।
- Request routing:
/api/accountsrequest account service-এ যায়, আর/api/transactionstransaction service-এ যায়। - Protocol translation: External protocols (HTTPS/REST)-কে internal protocols (gRPC, message queues)-এ convert করে যা microservices ব্যবহার করে।
- Load balancing: Incoming traffic একই microservice-এর multiple instances-এর মধ্যে distribute করে overload prevent করে।
2. Backend Services-এর সাথে কীভাবে Interact করে
| Step | Action |
|---|---|
| 1 | Client API Gateway-তে request পাঠায় |
| 2 | Gateway request authenticate এবং validate করে |
| 3 | Gateway endpoint-এর জন্য routing rules look up করে |
| 4 | Gateway request সঠিক microservice-এ forward করে |
| 5 | Microservice process করে response return করে |
| 6 | Gateway response format transform করে client-এ পাঠাতে পারে |
3. Banking-এ Additional Responsibilities
- Authentication and authorization: Backend services-এর আগে JWT tokens বা API keys verify করে, sensitive banking data protect করে।
- Rate limiting: প্রতি client-এর request cap করে DDoS attacks prevent করে, services available রাখে।
- SSL termination: Edge-এ encryption/decryption handle করে যাতে microservices business logic-এ focus করতে পারে।
- Request aggregation: একটা client request (যেমন “show dashboard”) 5টা service-এর data প্রয়োজন হতে পারে। Gateway parallel-এ সব 5টা call করে একটা combined response return করে।
- Circuit breaker: কোনো microservice fail হলে gateway এতে request পাঠানো বন্ধ করে fallback response return করে, cascade failures prevent করে।
4. Monolith Migration-এর পর Bank-এর কেন প্রয়োজন
Monolith-এ একটা codebase everything handle করত। Microservices-এ 50+ services থাকতে পারে। Gateway ছাড়া clients প্রতিটি service address জানতে হবে, failures নিজেরা handle করতে হবে, এবং multiple authentication points manage করতে হবে। API Gateway এই complexity hide করে
Cloud providers must balance performance, power efficiency, cost, and scalability when choosing between ARM-based processors (RISC architecture) and x86 processors (CISC architecture) for data center deployment.
1. RISC (ARM) Architecture
RISC (Reduced Instruction Set Computer) uses a small, highly optimized set of simple instructions. Each instruction executes in one clock cycle. ARM processors are the dominant RISC implementation in mobile and increasingly in servers.
- Simple instructions: Fewer instruction types, each completing in a single cycle.
- More registers: ARM uses more general-purpose registers to reduce memory access.
- Power efficiency: Lower power consumption per instruction, generating less heat.
- Pipelining friendly: Uniform instruction size makes prediction and parallel execution easier.
2. CISC (x86) Architecture
CISC (Complex Instruction Set Computer) uses a large set of complex instructions. A single instruction can perform multi-step operations. Intel and AMD processors use x86, the dominant CISC architecture in desktops and traditional servers.
- Complex instructions: One instruction can handle multiple low-level operations.
- Fewer registers: More work is done through memory access and complex addressing modes.
- Backward compatibility: Decades of software, especially legacy enterprise applications, are built for x86.
- High single-thread performance: Complex instructions reduce instruction count for certain workloads.
Recommendation for Large-Scale Cloud Infrastructure
ARM-based processors are the most suitable choice for modern large-scale cloud deployments, with specific exceptions.
Justification:
- Power efficiency at scale: Data centers spend more on electricity and cooling than hardware. ARM cores deliver more performance per watt, directly reducing operational costs for thousands of servers.
- High core density: ARM chips pack more cores per socket. Cloud workloads (microservices, containers, serverless functions) scale horizontally across many lightweight threads rather than relying on single-thread speed.
- Cost per compute unit: ARM servers cost less to purchase and operate, improving margins for cloud providers who resell compute capacity.
- Modern software alignment: Cloud-native stacks (Kubernetes, Docker, Linux, Python, Go, Java) are already ported to ARM. Legacy dependency is shrinking.
- Real-world validation: AWS Graviton, Ampere Altra, and Apple Silicon have proven ARM’s viability in production cloud and edge environments.
When x86 Remains Necessary:Legacy Windows Server or proprietary enterprise software with no ARM port.
- High-frequency trading or scientific computing where single-thread performance dominates.
- Workloads heavily optimized for x86-specific vector instructions (AVX-512).
Cloud providers data center deployment-এর জন্য ARM-based processors (RISC architecture) এবং x86 processors (CISC architecture)-এর মধ্যে choose করার সময় performance, power efficiency, cost, এবং scalability balance করতে হয়।
1. RISC (ARM) Architecture
RISC (Reduced Instruction Set Computer) ছোট, highly optimized simple instructions-এর set ব্যবহার করে। প্রতিটি instruction একটা clock cycle-এ execute হয়। ARM processors mobile-এ dominant এবং increasingly servers-এও ব্যবহৃত হচ্ছে।
- Simple instructions: কম instruction types, প্রতিটি single cycle-এ complete হয়।
- More registers: ARM memory access কমাতে বেশি general-purpose registers ব্যবহার করে।
- Power efficiency: প্রতি instruction-এ কম power consumption, কম heat generate করে।
- Pipelining friendly: Uniform instruction size prediction এবং parallel execution সহজ করে।
2. CISC (x86) Architecture
CISC (Complex Instruction Set Computer) বড় set of complex instructions ব্যবহার করে। একটা instruction multi-step operations perform করতে পারে। Intel এবং AMD processors x86 ব্যবহার করে, যা desktops এবং traditional servers-এ dominant CISC architecture।
- Complex instructions: একটা instruction multiple low-level operations handle করতে পারে।
- Fewer registers: বেশি কাজ memory access এবং complex addressing modes-এর মাধ্যমে হয়।
- Backward compatibility: Decades of software, বিশেষ করে legacy enterprise applications, x86-এর জন্য built।
- High single-thread performance: Certain workloads-এর জন্য complex instructions instruction count কমায়।
Large-Scale Cloud Infrastructure-এর জন্য Recommendation
ARM-based processors সবচেয়ে suitable choice modern large-scale cloud deployments-এর জন্য, specific exceptions সহ।
Justification:
- Scale-এ power efficiency: Data centers hardware-এর চেয়ে electricity এবং cooling-এ বেশি খরচ করে। ARM cores প্রতি watt-এ বেশি performance deliver করে, হাজার হাজার servers-এর operational costs সরাসরি কমায়।
- High core density: ARM chips প্রতি socket-এ বেশি cores pack করে। Cloud workloads (microservices, containers, serverless functions) horizontally scale করে অনেক lightweight threads জুড়ে, single-thread speed-এর উপর নির্ভর না করে।
- Cost per compute unit: ARM servers purchase এবং operate করতে কম খরচ হয়, cloud providers-এর margins improve করে যারা compute capacity resell করে।
- Modern software alignment: Cloud-native stacks (Kubernetes, Docker, Linux, Python, Go, Java) already ARM-এ port করা। Legacy dependency কমছে।
- Real-world validation: AWS Graviton, Ampere Altra, এবং Apple Silicon production cloud এবং edge environments-এ ARM-এর viability prove করেছে।
x86 কখনো Necessary থাকে:
- Legacy Windows Server বা proprietary enterprise software যার ARM port নেই।
- High-frequency trading বা scientific computing যেখানে single-thread performance dominate করে।
- Workloads যা heavily x86-specific vector instructions (AVX-512)-এর জন্য optimized।
Summary: Modern, horizontally-scalable workloads serve করা greenfield cloud data center-এর জন্য ARM-এর power efficiency, density, এবং cost advantage superior architectural choice করে। x86 শুধু specific legacy বা compute-bound workloads-এর জন্য retain করা উচিত।
For a government mobile app that needs frequent updates but also faces strict regulatory requirements, neither pure Agile nor pure Waterfall alone is sufficient. A hybrid model that combines Agile sprints for development with Waterfall gates for compliance is the best fit.
Why Pure Models Fail Here
| Model | Why It Fails |
|---|---|
| Pure Waterfall | Too rigid for weekly feature updates; cannot adapt to user feedback quickly |
| Pure Agile | Lacks formal documentation and compliance checkpoints required by regulators |
How the Hybrid Model Works
- Agile sprints for development: Two-week sprints deliver working features based on user feedback. Daily standups, sprint reviews, and retrospectives keep the team responsive.
- Waterfall gates for compliance: Before any release, the code must pass fixed checkpoints: security audit, documentation review, legal sign-off, and penetration testing.
- Regulatory buffer sprint: Every fourth sprint is dedicated solely to compliance tasks — filling documentation gaps, updating security certificates, and preparing audit reports.
- Versioned releases: Instead of continuous deployment, the team batches sprints into quarterly versioned releases that regulators can review as complete packages.
Why This Model is Most Appropriate
| Requirement | Hybrid Model Solution |
|---|---|
| Weekly feature updates | Short Agile sprints deliver incremental value |
| Strict documentation | Waterfall gates enforce formal records before release |
| Compliance checks | Dedicated compliance sprints and pre-release audits |
| Security reviews | Mandatory security gate before every production push |
| Regulatory audit trail | Versioned releases with complete change logs |
Example Workflow:
Week 1-2: Sprint 1 — Develop feedback feature (Agile)
Week 3-4: Sprint 2 — Develop notification improvement (Agile)
Week 5-6: Sprint 3 — Develop UI enhancement (Agile)
Week 7-8: Sprint 4 — Compliance sprint — Document, audit, secure (Waterfall gate)
Week 9: Release version 2.1 with full regulatory package
Government mobile app-এর জন্য যা frequent updates প্রয়োজন কিন্তু strict regulatory requirements-এর মুখোমুখি, শুধু pure Agile বা pure Waterfall কোনোটাই যথেষ্ট নয়। Hybrid model যা development-এর জন্য Agile sprints এবং compliance-এর জন্য Waterfall gates combine করে, সবচেয়ে best fit।
কেন Pure Models এখানে Fail করে
| Model | Why It Fails |
|---|---|
| Pure Waterfall | Weekly feature updates-এর জন্য too rigid; user feedback-এ দ্রুত adapt করতে পারে না |
| Pure Agile | Regulators-এর প্রয়োজনীয় formal documentation এবং compliance checkpoints অনুপস্থিত |
Hybrid Model কীভাবে কাজ করে
- Development-এর জন্য Agile sprints: Two-week sprints user feedback-এর উপর ভিত্তি করে working features deliver করে। Daily standups, sprint reviews, এবং retrospectives team-কে responsive রাখে।
- Compliance-এর জন্য Waterfall gates: যেকোনো release-এর আগে code fixed checkpoints pass করতে হবে: security audit, documentation review, legal sign-off, এবং penetration testing।
- Regulatory buffer sprint: প্রতি চতুর্থ sprint শুধু compliance tasks-এর জন্য dedicated — documentation gaps fill করা, security certificates update করা, এবং audit reports prepare করা।
- Versioned releases: Continuous deployment-এর পরিবর্তে team sprints-কে quarterly versioned releases-এ batch করে যা regulators complete packages হিসেবে review করতে পারে।
এই Model কেন Most Appropriate
| Requirement | Hybrid Model Solution |
|---|---|
| Weekly feature updates | Short Agile sprints incremental value deliver করে |
| Strict documentation | Waterfall gates release-এর আগে formal records enforce করে |
| Compliance checks | Dedicated compliance sprints এবং pre-release audits |
| Security reviews | প্রতিটি production push-এর আগে mandatory security gate |
| Regulatory audit trail | Complete change logs সহ versioned releases |
Example Workflow:
Week 1-2: Sprint 1 — Feedback feature develop করা (Agile)
Week 3-4: Sprint 2 — Notification improvement develop করা (Agile)
Week 5-6: Sprint 3 — UI enhancement develop করা (Agile)
Week 7-8: Sprint 4 — Compliance sprint — Document, audit, secure (Waterfall gate)
Week 9: Full regulatory package সহ version 2.1 release
Sonali Bank PLC, Assistant Database Administrator, 2026
- 1Computer NetworkSubnettingGiven IP address 192.168.1.0 and divided four subnets in equal size: A) find the new subnet mask (CIDR) B) find out first usable host address of subnettingGiven:
- IP Address = 192.168.1.0
- Default mask = /24
- Required subnets = 4
- Required subnets = 4 = 2²
- So, borrowed bits = 2
- New CIDR = /24 + 2 = /26
- Subnet Mask = 255.255.255.192
- Subnet 1: 192.168.1.0/26 → First usable host = 192.168.1.1
- Subnet 2: 192.168.1.64/26 → First usable host = 192.168.1.65
- Subnet 3: 192.168.1.128/26 → First usable host = 192.168.1.129
- Subnet 4: 192.168.1.192/26 → First usable host = 192.168.1.193
- 2Operating SystemYou friend device is slow performing so what should you take step in your task manager
Steps to Fix Slow Device Using Task Manager
- Open Task Manager: Press Ctrl + Shift + Esc.
- Check CPU Usage: Identify processes using high CPU.
- Check Memory (RAM): Find apps consuming too much memory.
- End Unnecessary Tasks: Select heavy apps → click End Task.
- Startup Programs: Go to Startup tab → disable unnecessary apps.
- Disk Usage: Check if disk is 100% → stop heavy processes.
- Background Apps: Close unused background applications.
Task Manager ব্যবহার করে Slow Device ঠিক করার ধাপ
- Task Manager খুলুন: Ctrl + Shift + Esc চাপুন।
- CPU Usage দেখুন: কোন process বেশি CPU নিচ্ছে তা খুঁজুন।
- Memory (RAM) দেখুন: কোন app বেশি RAM ব্যবহার করছে তা দেখুন।
- Unnecessary Task বন্ধ করুন: heavy app select করে End Task দিন।
- Startup Program: Startup tab থেকে অপ্রয়োজনীয় app disable করুন।
- Disk Usage: যদি 100% হয়, heavy process বন্ধ করুন।
- Background App: অপ্রয়োজনীয় background app বন্ধ করুন।
- 3Computer SecurityDifferent AttacksSuppose your workstation affect ransomware attack so what five step you take to mitigate this problem
Ransomware Attack
Ransomware is a type of malware that encrypts or locks a user's data and demands ransom (money) to restore access.
- It spreads through phishing emails, malicious downloads, or infected websites.
Steps to Mitigate Ransomware Attack
- 1. Isolate the System: Immediately disconnect the workstation from network (LAN/Wi-Fi) to stop spreading.
- 2. Do Not Pay Ransom: Paying does not guarantee data recovery and encourages attackers.
- 3. Identify & Remove Malware: Use antivirus / anti-malware tools to scan and remove ransomware.
- 4. Restore Data from Backup: Recover files from secure offline or cloud backup.
- 5. Report & Recover: Inform IT/security team, update system, patch vulnerabilities, and change all passwords.
Ransomware Attack
Ransomware হলো এক ধরনের malware যা user-এর data encrypt বা lock করে এবং access ফেরত দেওয়ার জন্য ransom (টাকা) দাবি করে।
- এটি সাধারণত phishing email, malicious download বা infected website থেকে ছড়ায়।
Ransomware Attack হলে করণীয় ৫টি ধাপ
- ১. System isolate করুন: দ্রুত network (LAN/Wi-Fi) থেকে disconnect করুন যাতে ছড়াতে না পারে।
- ২. Ransom পরিশোধ করবেন না: টাকা দিলে data ফেরত পাওয়ার নিশ্চয়তা নেই।
- ৩. Malware Remove করুন: antivirus / anti-malware দিয়ে scan করে remove করুন।
- ৪. Backup থেকে Data Restore করুন: offline বা cloud backup থেকে file পুনরুদ্ধার করুন।
- ৫. Report ও Recovery: IT/security team-কে জানান, system update করুন, password change করুন।
- 4Computer SecurityDifferent AttacksWhat is Phishing? Describe different type of phishing attack
Phishing is a type of cyber attack where attackers trick users into revealing sensitive information like passwords, OTP, or bank details by pretending to be a trusted entity.
Types of Phishing Attacks
- Email Phishing: Fake emails that look like banks or companies asking for login details.
- Spear Phishing: Targeted attack on a specific person or organization using personalized information.
- Smishing (SMS Phishing): Fraud messages sent via SMS with malicious links.
- Vishing (Voice Phishing): Attackers call users pretending to be bank officials to collect information.
- Clone Phishing: A legitimate email is copied and modified with a malicious link.
- Pharming: Redirects users to a fake website even if they enter the correct URL.
Phishing
Phishing হলো একটি cyber attack যেখানে attacker trusted entity (যেমন bank) সেজে user-এর sensitive information (password, OTP, bank details) সংগ্রহ করে।
Phishing Attack-এর ধরন
- Email Phishing: fake email পাঠিয়ে login information নেওয়া।
- Spear Phishing: নির্দিষ্ট ব্যক্তি বা প্রতিষ্ঠানের উপর targeted attack।
- Smishing: SMS এর মাধ্যমে fraud message পাঠানো।
- Vishing: ফোন করে bank কর্মকর্তা সেজে তথ্য নেওয়া।
- Clone Phishing: আসল email copy করে malicious link যোগ করা।
- Pharming: আসল website-এর বদলে fake website-এ redirect করা।
- 5Design Analysis of AlgorithmDynamic ProgrammingWhat is Dynamic Programming? Related Question
Dynamic Programming
Dynamic Programming (DP) is a method used to solve problems by breaking them into smaller subproblems and storing their results to avoid repeated computation.
Key Idea:
- Solve each subproblem once and store the result.
- Reuse stored results (called memoization or tabulation).
Characteristics:
- Overlapping Subproblems: Same subproblems are solved multiple times.
- Optimal Substructure: Optimal solution can be built from optimal sub-solutions.
Example
- Fibonacci Series
- Knapsack Problem
- Shortest Path (e.g., Bellman-Ford)
Advantages:
- Reduces time complexity.
- Improves efficiency by avoiding repeated work.
Dynamic Programming
Dynamic Programming (DP) হলো এমন একটি পদ্ধতি যেখানে সমস্যাকে ছোট ছোট subproblem-এ ভাগ করে সমাধান করা হয় এবং ফলাফল সংরক্ষণ করা হয় যাতে বারবার একই কাজ না করতে হয়।
মূল ধারণা:
- প্রতিটি subproblem একবার solve করা হয়।
- ফলাফল store করে পরে আবার ব্যবহার করা হয় (memoization / tabulation)।
বৈশিষ্ট্য:
- Overlapping Subproblems: একই subproblem বারবার আসে।
- Optimal Substructure: বড় সমস্যার optimal solution ছোট সমস্যার উপর নির্ভর করে।
উদাহরণ:
- Fibonacci Series
- Knapsack Problem
- Shortest Path Problem
সুবিধা:
- Time complexity কমায়।
- Repeated calculation এড়ায়।
- 6Object Oriented ProgrammingBasicWhat is programming? Give 4 example. Difference between structured and OOP programming
Programming
Programming is the process of writing instructions (code) that a computer follows to perform specific tasks.
Examples of Programming Languages
- C
- Java
- Python
- C++
Difference Between Structured Programming and OOP
Feature Structured Programming Object-Oriented Programming (OOP) Approach Function-based Object-based Focus Procedures/Functions Objects & Classes Data Handling Data and functions are separate Data and methods are combined (Encapsulation) Reusability Limited High (Inheritance, Polymorphism) Examples C Java, C++, Python
Programming
Programming হলো এমন একটি প্রক্রিয়া যেখানে computer-কে কাজ করানোর জন্য instruction (code) লেখা হয়।
Programming Language-এর উদাহরণ
- C
- Java
- Python
- C++
Structured Programming এবং OOP-এর পার্থক্য
বিষয় Structured Programming OOP Approach Function ভিত্তিক Object ভিত্তিক Focus Function/Procedure Object ও Class Data Handling Data ও function আলাদা Data ও method একসাথে (Encapsulation) Reusability কম বেশি (Inheritance, Polymorphism) উদাহরণ C Java, C++, Python
- 7Computer SecurityFirewallWhat is firewall? Difference between stateful inspection and new technology firewall (NTFW)
A firewall is a network security system that monitors and controls incoming and outgoing traffic based on predefined security rules.
Difference Between Stateful Inspection Firewall and NGFW (Next Generation Firewall)
Feature Stateful Inspection Firewall NGFW (New Technology Firewall) Working Tracks connection state of packets Performs deep packet inspection Security Level Medium security High security Application Awareness Not supported Supported Threat Detection Basic filtering Advanced (IPS, malware detection) User Control IP-based User & application-based Features Packet filtering + state tracking WAF, IPS, DPI, SSL inspection Firewall
Firewall হলো একটি network security system যা incoming ও outgoing traffic নিয়ন্ত্রণ করে নির্দিষ্ট security rule অনুযায়ী।
Stateful Firewall এবং NGFW-এর পার্থক্য
বিষয় Stateful Firewall NGFW Working connection state track করে deep packet inspection করে Security Level মাঝারি উচ্চ Application Awareness নেই আছে Threat Detection basic filtering advanced detection (IPS, malware) User Control IP ভিত্তিক user ও application ভিত্তিক Features packet filtering + state tracking WAF, IPS, DPI, SSL inspection
- 8Computer SecurityFirewallFirewall rules Rules 1: A source destain B port is 89. Rules 2: A source destain B less than 443; Rules 3: A source destain B port is 443. So when a packet come form 443 is it accept or rejected the procedure “First inspection rules” explain it
Given Rules:
- Rule 1: Source A → Destination B, port = 89
- Rule 2: Source A → Destination B, port < 443
- Rule 3: Source A → Destination B, port = 443
First-Match Rule Inspection:
- Firewall checks rules from top to bottom.
- As soon as a packet matches a rule, action is taken and no further rules are checked.
Case: Packet arrives with port = 443
- Check Rule 1: port 89 → ❌ Not matched
- Check Rule 2: port < 443 → ❌ 443 is NOT less than 443
- Check Rule 3: port = 443 → ✅ Matched
Final Decision:
- The packet will follow Rule 3.
- If Rule 3 action = ALLOW → packet accepted ✅
- If Rule 3 action = DENY → packet rejected ❌
Given Rules:
- Rule 1: Source A → Destination B, port = 89
- Rule 2: Source A → Destination B, port < 443
- Rule 3: Source A → Destination B, port = 443
First-Match Rule Inspection:
- Firewall উপরে থেকে নিচে rule check করে।
- যেই rule match হয়, সাথে সাথে decision নেওয়া হয় এবং পরের rule আর check করা হয় না।
Case: port = 443 packet আসলে
- Rule 1: port 89 → ❌ match নয়
- Rule 2: port < 443 → ❌ 443, 443-এর কম নয়
- Rule 3: port = 443 → ✅ match
Final Decision:
- packet Rule 3 অনুসরণ করবে।
- Rule 3 যদি ALLOW হয় → packet accept ✅
- Rule 3 যদি DENY হয় → packet reject ❌
- 9Software EngineeringTestingDefine software testing level. show that unit, integration, system and user acceptance testing. How these are complemented of each other
Software Testing Level : Software Testing Levels are the different stages of testing used to verify and validate that software works correctly and meets requirements.
Types of Testing Levels
1. Unit Testing
- Definition: Testing of the smallest individual unit (function/module) of a program.
- Purpose: To check each part works correctly.
- Performed by: Developer.
2. Integration Testing
- Definition: Testing of combined modules to verify interaction between them.
- Purpose: To find interface/communication errors.
3. System Testing
- Definition: Testing of the complete system as a whole.
- Purpose: To ensure system meets functional and non-functional requirements.
4. User Acceptance Testing (UAT)
- Definition: Final testing performed by end users.
- Purpose: To confirm system meets business needs and is ready for deployment.
How They Complement Each Other
- Unit Testing: Ensures each component is correct.
- Integration Testing: Ensures components work together.
- System Testing: Ensures the whole system works properly.
- UAT: Ensures system satisfies user requirements.
- These levels work step-by-step from small parts to full system, ensuring complete quality assurance.
Software Testing Level: Software Testing Level হলো software পরীক্ষা করার
Testing Level-এর ধরন
1. Unit Testing
- সংজ্ঞা: software-এর সবচেয়ে ছোট অংশ (function/module) পরীক্ষা করা।
- উদ্দেশ্য: প্রতিটি অংশ সঠিকভাবে কাজ করছে কিনা দেখা।
- কে করে: developer।
2. Integration Testing
- সংজ্ঞা: একাধিক module একসাথে কাজ করছে কিনা পরীক্ষা করা।
- উদ্দেশ্য: module-এর মধ্যে communication error খুঁজে বের করা।
3. System Testing
- সংজ্ঞা: পুরো system একসাথে পরীক্ষা করা।
- উদ্দেশ্য: system requirement অনুযায়ী কাজ করছে কিনা নিশ্চিত করা।
4. User Acceptance Testing (UAT)
- সংজ্ঞা: end user দ্বারা শেষ ধাপের পরীক্ষা।
- উদ্দেশ্য: system business requirement পূরণ করছে কিনা নিশ্চিত করা।
এগুলো কিভাবে একে অপরকে Complement করে
- Unit Testing: ছোট অংশের ভুল খুঁজে বের করে।
- Integration Testing: module-এর মধ্যে সমস্যা ধরতে সাহায্য করে।
- System Testing: পুরো system ঠিকমতো কাজ করছে কিনা নিশ্চিত করে।
- UAT: user-এর চাহিদা পূরণ হচ্ছে কিনা যাচাই করে।
- সবগুলো ধাপ ধাপে ধাপে কাজ করে এবং সম্পূর্ণ quality assurance নিশ্চিত করে।
- 10Software EngineeringFlowchartATM pin code flow chart (user input define). decision take (successful, failure)

- 11Computer NetworkProtocolWhat is DNS? How DNS work?
DNS (Domain Name System)
DNS is a system that translates domain names (like google.com) into IP addresses (like 142.250.190.78). It works like the phonebook of the internet.
How DNS Works:
- 1. User Request: User enters a domain name (e.g., www.google.com) in the browser.
- 2. DNS Resolver: The request goes to a DNS resolver (usually ISP or local cache).
- 3. Root Server: If not cached, resolver queries the Root DNS server.
- 4. TLD Server: Root server directs to TLD server (.com, .org).
- 5. Authoritative Server: TLD server provides the authoritative DNS server for the domain.
- 6. IP Address Returned: Authoritative server returns the IP address.
- 7. Connection: Browser uses the IP to connect to the website.
Example:
- User types www.facebook.com
- DNS converts it to an IP (e.g., 157.240.x.x)
- Browser connects to that IP and loads the website
DNS (Domain Name System)
DNS এমন একটি system যা domain name (যেমন google.com) কে IP address-এ রূপান্তর করে।এটি internet-এর phonebook হিসেবে কাজ করে।
DNS কীভাবে কাজ করে:
- ১. User Request: user browser-এ domain name লিখে (যেমন www.google.com)।
- ২. DNS Resolver: request প্রথমে DNS resolver-এ যায়।
- ৩. Root Server: cache না থাকলে root DNS server-এ query যায়।
- ৪. TLD Server: root server .com/.org TLD server-এ পাঠায়।
- ৫. Authoritative Server: TLD server domain-এর authoritative server দেয়।
- ৬. IP Address: authoritative server থেকে IP পাওয়া যায়।
- ৭. Connection: browser সেই IP দিয়ে website-এ connect করে।
উদাহরণ:
- user লিখলো www.facebook.com
- DNS এটাকে IP-এ convert করে
- browser সেই IP দিয়ে website load করে
General Part
Bangla focus: নারী উদ্যোক্তা উন্নয়নে সামাজিক যোগাযোগ মাধমের ভূমিকাEnglish focus: Earthquake Risk management and mitigation
Bangla to English Translation
English to Bangla Translation
Sonali Bank PLC, Assistant Database Administrator, 2024
Sonali & Janata Bank, Assistant Database Administrator, 2022
- 1Database Management SystemER DiagramDraw an ER diagram for BPL.
- 2Database Management SystemDatabase TypesWhat is distributed database?Write the role of a DB administrator.
Distributed Database
A distributed database is a database in which data is stored across multiple physical locations (different computers or servers) that are connected through a network. Although the data is distributed, it appears to users as a single unified database.
Each site in a distributed database system can process local queries independently and also participate in global queries.
Example: A bank database where customer data is stored in different branch servers located in different cities.
Role of a Database Administrator (DBA)
A Database Administrator (DBA) is responsible for managing, maintaining, and securing the database system to ensure data availability, integrity, and performance.
- Database Installation & Configuration: Installs, configures, and upgrades database software.
- Data Security: Controls user access, permissions, and ensures data protection.
- Backup & Recovery: Performs regular backups and restores data during failures.
- Performance Monitoring: Optimizes database performance and handles tuning.
- Data Integrity: Ensures accuracy and consistency of stored data.
Distributed Database
Distributed database হলো এমন একটি database যেখানে data একাধিক physical location-এ (ভিন্ন computer বা server-এ) সংরক্ষিত থাকে এবং network-এর মাধ্যমে সংযুক্ত থাকে। তবে user-এর কাছে এটি একটি single unified database হিসেবেই দেখা যায়।
এই system-এ প্রতিটি site নিজস্ব local query process করতে পারে এবং একই সাথে global query-তেও অংশ নিতে পারে।
উদাহরণ: একটি bank system যেখানে বিভিন্ন শহরের branch server-এ customer data সংরক্ষিত থাকে।
Database Administrator (DBA)-এর ভূমিকা
Database Administrator (DBA) হলো সেই ব্যক্তি যিনি database system পরিচালনা, রক্ষণাবেক্ষণ এবং নিরাপত্তা নিশ্চিত করেন যাতে data সবসময় available, secure এবং consistent থাকে।
- Database Installation & Configuration: Database software install, configure এবং update করে।
- Data Security: User access control ও permission manage করে data সুরক্ষিত রাখে।
- Backup & Recovery: নিয়মিত backup নিয়ে data loss হলে restore করে।
- Performance Monitoring: Database-এর performance পর্যবেক্ষণ ও tuning করে।
- Data Integrity: Data-এর accuracy ও consistency নিশ্চিত করে।
- 3Data Center & VirtualizationRAIDRAID Related question
RAID (Redundant Array of Independent Disks) is a technology that combines multiple physical disks into a single logical unit to improve performance, reliability, and data availability.
- Techniques: Uses striping, mirroring, and parity.
- Goal: Faster data access and protection against disk failure
Relevance in Database
RAID is highly important in database systems because databases require high speed and data reliability.
- Ensures continuous database availability.
- Prevents data loss due to disk failure.
- Improves read/write performance.
Uses in Database
- RAID 1: Used for critical data (mirroring for safety).
- RAID 5: Used for balance of performance and storage efficiency.
- RAID 10: Used for high-performance databases.
- Backup Systems: Ensures data redundancy.
Is it Possible?
Yes, RAID is widely used in database systems.
- Implemented using hardware RAID controllers or software RAID.
- Common in servers, data centers, and enterprise systems.
- Essential for systems like banking, e-commerce, and cloud databases.
RAID (Redundant Array of Independent Disks) হলো একটি প্রযুক্তি যেখানে একাধিক physical disk একসাথে ব্যবহার করে একটি logical unit তৈরি করা হয় যাতে performance, reliability এবং data availability বাড়ানো যায়。
- Technique: Striping, mirroring এবং parity ব্যবহার করা হয়।
- Goal: দ্রুত data access এবং disk failure থেকে সুরক্ষা।
Database-এ RAID-এর গুরুত্ব
Database system-এ RAID খুব গুরুত্বপূর্ণ কারণ এখানে speed এবং data নিরাপত্তা অত্যন্ত জরুরি।
- Database সবসময় চালু রাখতে সাহায্য করে।
- Disk নষ্ট হলেও data loss কমায়।
- Read/write performance উন্নত করে।
Database-এ RAID-এর ব্যবহার
- RAID 1: গুরুত্বপূর্ণ data-এর জন্য (mirroring)।
- RAID 5: performance এবং storage-এর balance।
- RAID 10: high-performance database-এর জন্য।
- Backup System: data redundancy নিশ্চিত করে।
এটি কি সম্ভব?
হ্যাঁ, RAID database system-এ ব্যাপকভাবে ব্যবহৃত হয়।
- Hardware বা software RAID ব্যবহার করে implement করা যায়।
- Server, data center এবং enterprise system-এ ব্যবহৃত হয়।
- Banking, e-commerce এবং cloud system-এ অত্যন্ত গুরুত্বপূর্ণ।
- 4Design Analysis of AlgorithmGreedy AlgorithmIs bellman ford a greedy algorithm ? Can all pair shortest paths (with negative cycles) be done in O(V3)?
No. The Bellman-Ford Algorithm is not a Greedy Algorithm. It is a Dynamic Programming-based algorithm because it repeatedly relaxes all edges to find the shortest path from the source vertex to every other vertex.
Why?
• It performs Edge Relaxation for all edges exactly V − 1 times.
• A shorter path found in a later iteration can update a previously calculated distance.
• It works correctly even when the graph contains Negative Edge Weights.
• It can also detect Negative Weight Cycles.Can All-Pairs Shortest Paths (with Negative Edge Weights) be computed in O(V3)?
Yes. The Floyd-Warshall Algorithm computes the All-Pairs Shortest Paths (APSP) in O(V3) time, provided that the graph does not contain a Negative Weight Cycle.
Key Points:
• Supports Negative Edge Weights.
• Time Complexity is O(V3).
• If a Negative Weight Cycle exists, the shortest path is undefined because the path cost can decrease indefinitely.
• The algorithm can detect a Negative Weight Cycle, but it cannot produce valid shortest paths in that case.
- 5Database Management SystemTriggerWhat is trigger? When it is used? Write down some advantages of trigger.
A Trigger is a special type of Stored Procedure in a Database Management System (DBMS) that automatically executes (fires) when a specified event occurs on a table or view. These events are typically INSERT, UPDATE, or DELETE operations.
When is a Trigger Used?
Triggers are used when certain actions need to be performed automatically after or before changes are made to database data.
Common uses of Triggers include:
• Automatically maintaining Audit Logs.
• Enforcing Business Rules and data integrity.
• Validating data before insertion or update.
• Automatically updating related tables.
• Preventing unauthorized or invalid data modifications.Advantages of Trigger
• Executes automatically without user intervention.
• Maintains data consistency and integrity.
• Reduces repetitive application code.
• Helps implement complex business rules.
• Keeps an audit trail of database changes.
• Improves database security by controlling data modifications.Example
A Trigger can automatically store the old employee salary in an Audit Table whenever the salary is updated.
- 6Database Management SystemACIDWrite short note on ACID Propertise of database
ACID Properties in Database Transactions
ACID properties are a set of rules that ensure reliability, consistency, and integrity of a database during transactions. Each transaction must satisfy these four properties to maintain a correct database state.1) Atomicity
Atomicity ensures that a transaction is treated as a single unit. Either all operations of the transaction are completed successfully, or none of them are applied. If any part fails, the entire transaction is rolled back, preventing partial updates.2) Consistency
Consistency ensures that a transaction moves the database from one valid state to another valid state. All integrity constraints, rules, and conditions must be satisfied before and after the transaction.3) Isolation
Isolation ensures that multiple transactions executed at the same time do not interfere with each other. Each transaction behaves as if it is executed independently, preventing problems like dirty reads or lost updates.4) Durability
Durability guarantees that once a transaction is committed, its changes are permanently stored in the database. Even if the system crashes, the committed data will not be lost.Database Transaction এ ACID Properties
ACID properties হলো কিছু গুরুত্বপূর্ণ নিয়ম যা database transaction চলাকালীন reliability, consistency এবং integrity নিশ্চিত করে। প্রতিটি transaction কে এই চারটি property অনুসরণ করতে হয়।1) Atomicity
Atomicity নিশ্চিত করে যে একটি transaction সম্পূর্ণভাবে execute হবে অথবা একেবারেই হবে না। যদি transaction এর কোনো একটি অংশ ব্যর্থ হয়, তাহলে পুরো transaction rollback হয়, ফলে partial update হয় না।2) Consistency
Consistency নিশ্চিত করে যে transaction এর আগে ও পরে database একটি valid state এ থাকে। সব ধরনের rule, constraint এবং integrity condition মানা হয়।3) Isolation
Isolation নিশ্চিত করে যে একাধিক transaction একসাথে চললেও তারা একে অপরকে প্রভাবিত করবে না। প্রতিটি transaction আলাদাভাবে execute হওয়ার মতো আচরণ করে।4) Durability
Durability নিশ্চিত করে যে transaction একবার commit হয়ে গেলে তার পরিবর্তন স্থায়ীভাবে database এ সংরক্ষিত থাকে, system crash হলেও data হারায় না।
- 7Linux CommandUnix command (directory listing with hidden files).
Answer:
$ ls -al
- 8Programming ConceptString reverse program but without using new storage.
#include <bits/stdc++.h> using namespace std; int main() { string s; cout << "Enter String: "; cin >> s; int n = s.length(); int start = 0, end = n - 1; while (start < end) { // XOR-based swapping without using extra storage s[start] ^= s[end]; s[end] ^= s[start]; s[start] ^= s[end]; start++; end--; } cout << "Reverse String = " << s << endl; return 0; }Sample I/O: Enter String: itjobqns Reverse String = snqbojti === Code Execution Successful ===
- 9Database Management SystemSuppose a relational schema R(w,x,y,z)R(w,x,y,z) and the set of functional dependencies FF is given as: F={wx→yz,y→w,z→x} Find the candidate keys in the above relation.
Given: R(w,x,y,z)
Functional Dependencies: F = { wx→yz, y→w, z→x }
Goal: Find all candidate keys (minimal superkeys).
Key idea: Find attribute sets whose closure gives {w,x,y,z} and are minimal.
Closures:
- (wx)+ = wx → yz ⇒ {w,x,y,z} ⇒ wx is a candidate key.
- (yz)+: y→w ⇒ add w, z→x ⇒ add x ⇒ {w,x,y,z} ⇒ yz is a candidate key.
- (wz)+: z→x ⇒ get x, now wx→yz ⇒ get y,z ⇒ {w,x,y,z} ⇒ wz is a candidate key.
- (xy)+: y→w ⇒ get w, now wx→yz ⇒ get y,z ⇒ {w,x,y,z} ⇒ xy is a candidate key.
Answer (Candidate Keys): {wx}, {xy}, {wz}, {yz}
প্রদত্ত: R(w,x,y,z)
Functional Dependencies: F = { wx→yz, y→w, z→x }
উদ্দেশ্য: সবগুলো candidate key (minimal superkey) বের করা।
Key idea: যে attribute set-এর closure থেকে {w,x,y,z} পাওয়া যায় এবং সেটি minimal, সেটিই candidate key।
Closures:
- (wx)+ = wx → yz ⇒ {w,x,y,z} ⇒ wx candidate key।
- (yz)+: y→w ⇒ w যোগ, z→x ⇒ x যোগ ⇒ {w,x,y,z} ⇒ yz candidate key।
- (wz)+: z→x ⇒ x পাওয়া যায়, এরপর wx→yz ⇒ y,z পাওয়া যায় ⇒ {w,x,y,z} ⇒ wz candidate key।
- (xy)+: y→w ⇒ w পাওয়া যায়, এরপর wx→yz ⇒ z পাওয়া যায় ⇒ {w,x,y,z} ⇒ xy candidate key।
উত্তর (Candidate Keys): {wx}, {xy}, {wz}, {yz}
- 10Database Management SystemWeak Entry vs strong entity difference with relation.
- 11Structure Query LanguageFour queries(table client, salesman, sale, order etc) (unable to collect this question)
- 12Database Management SystemKeysRelation to find primary, candidate, super key
Primary Key, Candidate Key, and Super Key (with Example)
In a relational database, keys are used to uniquely identify each record (tuple) in a relation.
Example Relation: STUDENT
STUDENT(StudentID, Name, Email, Phone)
- Super Key: A super key is a set of one or more attributes that can uniquely identify a record in a table.
Super Key Examples:
{StudentID}, {Email}, {StudentID, Name}, {StudentID, Phone}- Candidate Key: A candidate key is a minimal super key. It uniquely identifies a record and has no unnecessary attributes.
Candidate Key Examples:
{StudentID}, {Email}- Primary Key: A primary key is one candidate key chosen to uniquely identify records in the relation.
Primary Key Example:
StudentID
Primary Key, Candidate Key এবং Super Key (উদাহরণসহ)
Relational database-এ key ব্যবহার করা হয় relation-এর প্রতিটি record (tuple) uniquely identify করার জন্য।
উদাহরণ Relation: STUDENT
STUDENT(StudentID, Name, Email, Phone)
- Super Key: Super key হলো এক বা একাধিক attribute-এর সমন্বয় যা একটি record uniquely identify করতে পারে।
Super Key-এর উদাহরণ:
{StudentID}, {Email}, {StudentID, Name}, {StudentID, Phone}- Candidate Key: Candidate key হলো minimal super key, অর্থাৎ কোনো অতিরিক্ত attribute থাকে না।
Candidate Key-এর উদাহরণ:
{StudentID}, {Email}- Primary Key: Primary key হলো candidate key থেকে নির্বাচিত একটি key যা table-এর প্রতিটি record uniquely identify করে।
Primary Key-এর উদাহরণ:
StudentID
- 13Data StructureHashningSeparate chaining hash function math.(How hashing is done for a particular set of numbers with the hashing function f(x)=x mod 7, show ythe process in diagrams and the resulting hashing table
we have some elements :- {15, 47, 23, 34, 85, 97, 65, 89, 70}. And hash function is h(x) = x mod 7.
The hash values will bex h(x) = x mod 7 15 1 47 5 23 2 34 6 85 1 97 6 56 2 89 5 70 0 The Hashing with chaining will be like −

- 14Non Technical QuestionNon Techবাংলা ফোকাস: -প্রযুক্তির অপব্যবহার এবং নৈতিক অবক্ষয়
English Focus: Drug Abuse and its remedy.
B2E: Covid-19 and the situation
E2B- Intl Mother Language Day
GK


