ইন্টারভিউ গাইড
System design interview-তে কী আশা করবে আর কীভাবে এগোবে — সবকিছু এক জায়গায়।
৭ ধাপের Framework
১. Requirements বোঝা
Functional (কী কী feature) আর Non-functional (কত user, কত দ্রুত, কতটা available) — দুটোই স্পষ্ট করো। প্রশ্ন করতে ভয় পেয়ো না।
২. Scale আন্দাজ (Estimation)
কত ব্যবহারকারী, প্রতি সেকেন্ডে কত request (QPS), কত storage লাগবে — মোটামুটি হিসাব করো (napkin math)।
৩. API ডিজাইন
মূল endpoint গুলো ঠিক করো — যেমন createPost(), getFeed(userId)। input/output কী হবে।
৪. Data Model
কোন ডেটা কোথায় থাকবে, SQL না NoSQL, মূল table/collection গুলো কী।
৫. High-Level Design
একটা বড় ছবি আঁকো — client, load balancer, server, cache, database, queue কীভাবে যুক্ত।
৬. Deep Dive
২-৩টা গুরুত্বপূর্ণ অংশ গভীরভাবে আলোচনা করো — যেমন feed কীভাবে তৈরি হবে, ডেটা কীভাবে shard হবে।
৭. Bottleneck ও Scaling
কোথায় সমস্যা হতে পারে (single point of failure?) আর কীভাবে আরও scale করবে — সেটা বলো।
গুরুত্বপূর্ণ টিপস
- 1.প্রশ্ন স্পষ্ট না হলে আগে clarifying প্রশ্ন করো — অনুমান করে শুরু করো না।
- 2.জোরে জোরে চিন্তা করো (think aloud) — interviewer তোমার চিন্তাভাবনা শুনতে চায়।
- 3.নিখুঁত উত্তর নয়, যুক্তিসঙ্গত trade-off খুঁজছে তারা।
- 4.সবসময় একটা সহজ ডিজাইন দিয়ে শুরু করো, তারপর ধাপে ধাপে scale করো।
- 5.প্রতিটা সিদ্ধান্তের পেছনে 'কেন' ব্যাখ্যা করো।
- 6.Estimation-এ বড় গোল সংখ্যা ব্যবহার করো — নিখুঁত হিসাব দরকার নেই।
- 7.Single point of failure খুঁজে বের করো ও সমাধান দাও।
- 8.সময় ব্যবস্থাপনা করো — এক জায়গায় আটকে থেকো না।
- 9.Read-heavy না Write-heavy system — সেটা আগে বুঝে নাও, সমাধান বদলে যায়।
- 10.জানা না থাকলে সততার সাথে বলো, তারপর যুক্তি দিয়ে আন্দাজ করো।