system-design-primer/README-bn.md

39 KiB
Raw Blame History

English日本語简体中文繁體中文 | ArabicBrazilian PortugueseGermanGreekItalianKoreanPersianPolishRussianSpanishThaiTurkishVietnamese . Bengali | Add Translation

সিস্টেম ডিজাইন পাঠ


অনুপ্রেরণা

বড়-স্কেলের সিস্টেম ডিজাইন সম্বন্ধে ধারণা ।

চাকুরির ইন্টারভিউতে সিস্টেম ডিজাইন বিষয়ক প্রশ্নের প্রস্তুতি ।

বড়-স্কেলের সিস্টেম ডিজাইন সম্বন্ধে ধারণা

স্কেলেবেল সিস্টেম ডিজাইন সম্বন্ধে ধারণা আপনাকে একজন ভাল প্রকৌশলী হতে সাহায্য করবে।

সিস্টেম ডিজাইন একটি বিশদ বিষয় । সিস্টেম ডিজাইন নীতি নিয়ে সুবিশাল তথ্যাদি ইন্টারনেটে ছড়িয়ে আছে।

এখানে তথ্যাদিগুলো সুসংগঠিতভাবে সংগৃহীত হয়েছে যা আপনাকে স্কেলেবেল সিস্টেম সম্বন্ধে জানতে সাহায্য করবে ।

ওপেন সোর্স জনগোষ্ঠী থেকে শিক্ষা

এটি একটি অবিরাম সংযোজিত, ওপেন সোর্স প্রোজেক্ট।

আমরা কন্ট্রিবিউশানকে স্বাগতম জানাই!

সিস্টেম ডিজাইন ইন্টারভিউয়ের জন্য প্রস্তুতি

এছাড়াও কোডিং ইন্টারভিউয়ের জন্য অনেক টেক কোম্পানিতে টেকনিক্যাল ইন্টারভিউ প্রক্রিয়ায় সিস্টেম ডিজাইন একটি আবশ্যিক উপাদান

সাধারণ সিস্টেম ডিজাইন ইন্টারভিউ প্রশ্নগুলো অনুশীলন করুন এবং নমুনা সমাধানের সাথে নিজের সমাধান তুলনা করুন: আলোচনা করুন, কোড করুন এবং ডায়াগ্রাম ব্যবহার করতে শিখুন

ইন্টারভিউ প্রস্তুতির জন্য আরও কিছু টপিক নিম্নে দেওয়া হল:

Anki flashcards


প্রদত্ত Anki flashcard decks স্থান পুনরাবৃত্তি করে আপনাকে সিস্টেম ডিজাইনের মুল ধারণা বুঝতে সাহায্য করবে।

সিস্টেম ডিজাইন ডেক

সামনের টপিক গুলো পড়তে এটি অনেক সাহায্য করবে।

কোডিং রিসোর্স: ইন্টারেক্টিভ কোডিং চ্যালেঞ্জ

আপনি কি কোডিং ইন্টারভিয়ের জন্য রিসোর্স খুঁজছেন?


আপনি ইন্টারেক্টিভ কোডিং চ্যালেঞ্জ নামের অণু-প্রোজেক্টটি দেখতে পারেন, যাতে আরও Anki ডেক রয়েছে।

কন্ট্রিবিউটিং

কমিউনিটি থেকে শিক্ষা নিন

বিনা দ্বিধায় পুল রিকুয়েস্ট সাবমিট করে আমাদের সাহায্য করুন:

  • ভুল সংশোধন (ফিক্স এরর)
  • সেকশনের উন্নয়ন
  • নতুন সেকশন সংযোজন
  • অনুবাদ

কিছু বিষয় আমাদের আরও ঝালাই করতে হবে যা আপনি উন্নয়নাধীন সেকশনে এ পাবেন।

কন্ট্রিবিউটিং নির্দেশিকা পর্যবেক্ষণ করুন।

সিস্টেম ডিজাইনের বিষয়গুলোর সূচি

বিভিন্ন সিস্টেম ডিজাইনের বিষয়গুলোর সুবিধা-অসুবিধাসহ সারমর্ম সবকিছুর ভাল-মন্দ দিক আছে.

প্রতিটি সেকশনে কিছু লিঙ্ক রয়েছে যা আপনাকে আরও গভীর রিসোর্সে নিয়ে যাবে।


পড়ার দিকনির্দেশনা

আপনার ইন্টারভিউয়ের সময়রেখার উপর ভিত্তি করে নিমোক্ত বিষয়গুলো সুপারিশ করা হল

Imgur

Q: ইন্টার্ভিউয়ের জন্য আমার কি েখানের সবকিছু জানা লাগবে ?

A: না, আপনার ইন্টার্ভিউয়ের প্রস্তুতির জন্য এখানের সবকিছু জানা লাগবে না।.

আপনাকে ইন্টেরভিউতে কি ধরণের প্রশ্ন জিজ্ঞেস করবে তা কিছু বিষয়গুলোর উপর নির্ভর করছে যেমনঃ

  • আপনার কতদিনের অভিজ্ঞতা রয়েছে
  • আপনার টেকনিক্যাল ব্যাকগ্রাউন্ড কি
  • আপনি কোন পদের জন্য ইন্টারভিউ দিচ্ছেন
  • আপনি কোন কোম্পানিতে ইন্টারভিয় দিচ্ছেন
  • ভাগ্য

অনেক অভিজ্ঞতাসম্পন্ন প্রার্থীরা সাধারণত সিস্টেম ডিজাইন নিয়ে অনেক কিছু জানে বলে ধারণা করা হয়। আর্কিটেক্ট অথবা টিম লিডরাও ব্যক্তি কন্ট্রিবিউটর থেকে বেশি জানে বলে ধারণা করা হয়। প্রধান টেক কোম্পানিগুলোতে সাধারণত এক বা ততোধিক ডিজাইন ইন্টারভিউ রাউন্ড থাকে।

বিশদভাবে শুরু করুন এবং কয়েকটি বিষয়ে গভীর যান। এটা বিভিন্ন প্রধান সিস্টেম ডিজাইন বিষয় সম্পর্কে জানতে একটু সাহায্য করে। আপনার সময়রেখা, অভিজ্ঞতা, কোন অবস্থানের জন্য আপনি ইন্টার্ভিউ দিচ্ছেন এবং আপনি কোন সংস্থাগুলির সাথে ইন্টার্ভিউ দিচ্ছেন তার উপর ভিত্তি করে নিচের নির্দেশিকা সামঞ্জস্য করুন।

  • সংক্ষিপ্ত সময়রেখা - আপনার লক্ষ্য হবে সিস্টেম ডিজাইন বিষয়ে প্রশস্ত ধারণা নেওয়া। কিছু ইন্টার্ভিউয়ের প্রশ্ন সমাধান করে প্রস্তুতি নিন।
  • মাঝারি সময়রেখা - আপনার লক্ষ্য হবে সিস্টেম ডিজাইন বিষয়ে প্রশস্ত এবং কিছু গভীর ধারণা নেওয়া।অনেক ইন্টার্ভিউয়ের প্রশ্ন সমাধান করে প্রস্তুতি নিন।
  • দীর্ঘ সময়রেখা - আপনার লক্ষ্য হবে সিস্টেম ডিজাইন বিষয়ে প্রশস্ত এবং অনেক গভীর ধারণা নেওয়া। প্রায় সব ইন্টার্ভিউয়ের প্রশ্ন সমাধান করে প্রস্তুতি নিন।
সংক্ষিপ্ত মাঝারি দীর্ঘ
কিভাবে সিস্টেম কাজ করে তা বিশদভাবে জানার জন্য সিস্টেম ডিজাইন বিষয়গুলো পড়ুন 👍 👍 👍
যে কোম্পানিতে আপনি ইন্টার্ভিউ দিবেন তাদের সম্বন্ধে কোম্পানি ইঞ্জিনিয়ারিং ব্লগস কিছু আর্টিকেল পড়ুন 👍 👍 👍
কিছু বাস্তব জীবনের আর্কিটেকচার পড়ুন 👍 👍 👍
পর্যালোচনা করুন কিভাবে সিস্টেম ডিজাইন ইন্টারভিউ প্রশ্ন মোকাবেলা করবেন 👍 👍 👍
সিস্টেম ডিজাইন ইন্টারভিউ প্রশ্ন, সমাধানসহ নিয়ে কাজ করুন কিছু অনেক প্রায় সব
অবজেক্ট ওরিয়েন্টেড ডিজাইন ইন্টারভিউ প্রশ্ন, সমাধানসহ নিয়ে কাজ করুন কিছু অনেক প্রায় সব
পর্যালোচনা করুন আরও সিস্টেম ডিজাইন ইন্টারভিউ প্রশ্ন কিছু অনেক প্রায় সব

কিভাবে সিস্টেম ডিজাইন ইন্টারভিউ প্রশ্ন মোকাবেলা করবেন

কিভাবে একটি সিস্টেম ডিজাইন ইন্টারভিউ প্রশ্নের উত্তর দিবেন।

সিস্টেম ডিজাইন ইন্টারভিউ একটি খোলামেলা কথোপকথন। আপনার থেকে এটার নেতৃত্ব আশা করা হবে।

আপনি আলোচনা গাইড করার জন্য নিম্নলিখিত ধাপগুলি ব্যবহার করতে পারেন। এই প্রক্রিয়া দৃঢ় করতে সাহায্য করার জন্য, আপনি সিস্টেম ডিজাইন ইন্টারভিউ প্রশ্ন, সমাধানসহ সেকশনটি নিমোক্ত ধাপগুলো অনুসরণ করে কাজ করতে পারেন।

ধাপ ১ঃ ব্যবহার ক্ষেত্রের রূপরেখা, সীমাবদ্ধতা, এবং অনুমান

প্রয়োজনীয় তথ্য সংগ্রহ করুন এবং সমস্যাটিকে একটি ক্ষেত্রের মধ্যে আনুন। ব্যবহার ক্ষেত্রে এবং সীমাবদ্ধতা ব্যাখ্যা করতে প্রশ্ন জিজ্ঞাসা করুন. অনুমান নিয়ে আলোচনা করুন।

  • কে এটি ব্যবহার করতে যাচ্ছে?
  • তারা কিভাবে এটি ব্যবহার করতে যাচ্ছেন?
  • এর কতজন ব্যবহারকারী আছে?
  • সিস্টেমটি কি করে?
  • সিস্টেমের ইনপুট এবং আউটপুট কি কি?
  • আমরা কি পরিমাণ ডাটা পরিচালনা করব বলে আশা করি?
  • আমরা প্রতি সেকেন্ডে কত পরিমাণ রিকোয়েস্ট আশা করি?
  • রিড টু রাইট এর প্রত্যাশিত অনুপাত কত?

ধাপ ২ঃ একটি হাই লেভেল ডিজাইন তৈরি

সমস্ত গুরুত্বপূর্ণ উপাদান নিয়ে একটি হাই লেভেল ডিজাইনের রূপরেখা তৈরি করুন।

  • প্রধান উপাদানসমুহ এবং তাদের মাঝে সংযোগ স্থাপন করে একটি খসড়া চিত্র আঁকুন।
  • আপনার ধারণনার ন্যায্যতা প্রমাণ করুন।

ধাপ ৩ঃ কোর উপাদান ডিজাইন

প্রতিটি কোর উপাদানের বিস্তারিত জানার জন্য গভীরে চলে যান। উদাহরণস্বরূপ, যদি আপনাকে বলা হয় একটি ইউআরএল শর্টনিং সেবা ডিজাইন করুন, তবে নিমোক্ত বিষয়গুলো আলোচনা করুনঃ

  • সম্পূর্ণ ইউআরএল এর হ্যাশ তৈরি এবং সংরক্ষণ
    • এমডি৫ এবং বেস৬২
    • হ্যাশ কলিশন্স
    • এসকিউএল বা নোএসকিউএল
    • ডাটাবেজ স্কিমা
  • একটি হ্যাশেড ইউআরএল থেকে সম্পূর্ণ ইউআরএল অনুবাদ
    • ডাটাবেজ সন্ধান
  • এপিআই এবং অবজেক্ট ওরিয়েন্টেড ডিজাইন

ধাপ ৪ঃ ডিজাইন স্কেল

যেসব সীমাবদ্ধতা বিঘ্ন ঘটাতে পারে তাদের সনাক্ত এবং সম্বোধন করুন। উদাহরণস্বরূপ, আপনার স্কেলবিলিটি সমস্যা মোকাবেলার জন্য কি নিম্নলিখিত বিষয়গুলো প্রয়োজন?

  • লোড ব্যালেন্সার
  • অনুভূমিক স্কেলিং
  • কেশিং
  • ডাটাবেজ শারডিং

সম্ভাব্য সমাধান এবং ভালোমন্দ দিক নিয়ে আলোচনা করুন। সবকিছুর ভাল-মন্দ দিক আছে। স্কেলেবল সিস্টেম ডিজাইনের প্রিন্সিপাল মেনে সীমাবদ্ধতাগুলো সম্বোধন করুন।

ব্যাক-অফ-দ্যা-এনভেলপ গণনা

আপনি কিছু অনুমান খসড়া করতে বলা হতে পারে। নিমোক্ত রিসোর্সগুলোর জন্য পরিশিষ্ট উল্লেখ করা হলঃ

আরও সোর্স এবং পড়ার উপকরণ

একটি ভাল ধারণা পেতে কি আশা করা উচিত তার জন্য নিম্নলিখিত লিঙ্ক দেখুনঃ

সিস্টেম ডিজাইন ইন্টারভিউ সমাধানসহ প্রশ্ন

নমুনা আলোচনা, কোড, এবং ডায়াগ্রামের সাথে সাধারণ সিস্টেম ডিজাইনের ইন্টারভিউ প্রশ্ন।

সমাধানগুলো solutions/ ফোল্ডারে লিঙ্ক করা হয়েছে।

প্রশ্ন
Pastebin.com (or Bit.ly) ডিজাইন করুন সমাধান
টুইটারের টাইমলাইন এবং সার্চ (অথবা ফেইসবুক ফিড এবং সার্চ) ডিজাইন করুন সমাধান
ওয়েব ক্রলার ডিজাইন করুন সমাধান
Mint.com ডিজাইন করুন সমাধান
সামাজিক নেটওয়ার্কের জন্য ডাটা স্ট্রাকচার ডিজাইন করুন সমাধান
সার্চ ইঞ্জিনের জন্য কি-ভ্যালু স্টোর ডিজাইন করুন সমাধান
বিভিন্ন বৈশিষ্ট্যে অ্যামাজনের বিক্রয় রেঙ্কিং ডিজাইন করুন সমাধান
AWS লক্ষাধিক ব্যবহারকারীদের স্কেলিং করার জন্য সিস্টেম ডিজাইন করুন সমাধান
একটি সিস্টেম ডিজাইন প্রশ্ন যোগ করুন কন্ট্রিবিউট

Design Pastebin.com (or Bit.ly)

View exercise and solution

Imgur

View exercise and solution

Imgur

Design a web crawler

View exercise and solution

Imgur

Design Mint.com

View exercise and solution

Imgur

Design the data structures for a social network

View exercise and solution

Imgur

Design a key-value store for a search engine

View exercise and solution

Imgur

Design Amazon's sales ranking by category feature

View exercise and solution

Imgur

Design a system that scales to millions of users on AWS

View exercise and solution

Imgur

Object-oriented design interview questions with solutions

Common object-oriented design interview questions with sample discussions, code, and diagrams.

Solutions linked to content in the solutions/ folder.

Note: This section is under development

Question
Design a hash map Solution
Design a least recently used cache Solution
Design a call center Solution
Design a deck of cards Solution
Design a parking lot Solution
Design a chat server Solution
Design a circular array Contribute
Add an object-oriented design question Contribute

আরও সিস্টেম ডিজাইন ইন্টারভিউ প্রশ্ন

সিস্টেম ডিজাইনের প্রচলিত ইন্টারভিউ প্রশ্নগুলি, কীভাবে প্রতিটি সমাধান করতে হবে তার সহায়গুলির লিঙ্ক রয়েছে।

প্রশ্ন সন্ধানপুস্তক
ড্রপবক্সের মতো একটি ফাইল সিঙ্ক পরিষেবা ডিজাইন করুন youtube.com
গুগলের মতো সার্চ ইঞ্জিন ডিজাইন করুন queue.acm.org
stackexchange.com
ardendertat.com
stanford.edu
গুগলের মতো একটি স্কেলেবল ওয়েব ক্রলার ডিজাইন করুন quora.com
গুগল ডক্স ডিজাইন করুন code.google.com
neil.fraser.name
রেডিসের মতো কী-ভ্যালু স্টোর ডিজাইন করুন slideshare.net
ম্যামক্যাশড এর মতো একটি ক্যাশড সিস্টেম ডিজাইন করুন slideshare.net
অ্যামাজনের মতো একটি সুপারিশ সিস্টেম ডিজাইন করুন hulu.com
ijcai13.org
বিটলির মতো একটি টিনিইউআরএল সিস্টেম ডিজাইন করুন n00tc0d3r.blogspot.com
হোয়াটসঅ্যাপের মতো একটি চ্যাট অ্যাপ্লিকেশন ডিজাইন করুন highscalability.com
ইনস্টাগ্রামের মতো একটি ছবি শেয়ারিং সিস্টেম ডিজাইন করুন highscalability.com
highscalability.com
ফেসবুক নিউজ ফিড ফাংশন ডিজাইন করুন quora.com
quora.com
slideshare.net
ফেসবুক টাইমলাইন ফাংশন ডিজাইন করুন facebook.com
highscalability.com
ফেসবুক চ্যাট ফাংশন ডিজাইন করুন erlang-factory.com
facebook.com
ফেসবুকের মতো একটি গ্রাফ অনুসন্ধান ফাংশন ডিজাইন করুন facebook.com
facebook.com
facebook.com
ক্লাউডফ্লেয়ারের মতো একটি সামগ্রী বিতরণ নেটওয়ার্ক ডিজাইন করুন figshare.com
টুইটারের মতো একটি ট্রেন্ডিং টপিক সিস্টেম ডিজাইন করুন michael-noll.com
snikolov .wordpress.com
একটি এলোমেলো আইডি জেনারেশন সিস্টেম ডিজাইন করুন blog.twitter.com
github.com
একটি সময়ের ব্যবধানে শীর্ষ ক অনুরোধগুলি ফেরত দিন cs.ucsb.edu
wpi.edu
এমন একটি সিস্টেম ডিজাইন করুন যা একাধিক ডেটা সেন্টার থেকে ডেটা পরিবেশন করে highscalability.com
একটি অনলাইন মাল্টিপ্লেয়ার কার্ড গেম ডিজাইন করুন indieflashblog.com
buildnewgames.com
একটি গারবেজ কালেকশন সিস্টেম ডিজাইন করুন stuffwithstuff.com
washington.edu
একটি এপিআই রেট লিমিটার ডিজাইন করুন https://stripe.com/blog/
স্টক এক্সচেঞ্জের ডিজাইন করুন (নাসডাক বা বাইনান্সের মতো) Jane Street
Golang Implementation
Go Implemenation
একটি সিস্টেম ডিজাইন প্রশ্ন যুক্ত করুন Contribute