Skip to content

Latest commit

 

History

History
2230 lines (1823 loc) · 266 KB

File metadata and controls

2230 lines (1823 loc) · 266 KB

কোডিং সাক্ষাত্কার বিশ্ববিদ্যালয়

আমি এটি প্রথমে একটি সফটওয়্যার ইঞ্জিনিয়ার হওয়ার জন্য অধ্যয়নের বিষয়গুলির একটি স্বল্প-করণীয় তালিকা হিসাবে তৈরি করেছিলাম, তবে এটি আজ আপনি যে বৃহত তালিকা দেখতে পাচ্ছেন তাতে রুপ নিয়েছে এই শিক্ষা পরিকল্পনাটি পেরিয়ে যাওয়ার পরে, আমি নিয়োগ পেয়েছি অ্যামাজনে সফটওয়্যার ডেভলপমেন্ট ইঞ্জিনিয়ার হিসাবে!

খেয়াল করুন আপনাকে সম্ভবত আমার মতো পড়াশোনা করতে হবে না। যাইহোক, আপনার যা কিছু প্রয়োজন তা এখানেই।

আমি বেশ কয়েক মাস ধরে প্রতিদিন প্রায় ৮-১২ ঘন্টা অধ্যয়ন করেছি। এটি আমার গল্প: গুগল সাক্ষাত্কারের জন্য আমি কেন ৮ মাস পূর্ণ-সময় অধ্যয়ন করেছি

এখানে তালিকাভুক্ত আইটেমগুলি যেকোনো সফ্টওয়্যার সংস্থার সম্পর্কে আপনাকে একটি সাক্ষাত্কারের জন্য ভালভাবে প্রস্তুত করবে, যার মধ্যে থাকবে বৃহৎ প্রযুক্তি কোম্পানি যেমন: অ্যামাজন, ফেসবুক, গুগল বা মাইক্রোসফ্ট।

আপনার জন্য শুভকামনা!

অনুবাদ:
অনুবাদ অগ্রগতি:

এটি কি

Coding at the whiteboard - from HBO's Silicon Valley

এটি আমার বহু মাসের অধ্যয়ন পরিকল্পনা যার মাধ্যমে কোনো বড় প্রতিষ্ঠানের সফটওয়্যার ইঞ্জিনিয়ারের কাজে (স্ব-শিক্ষিত, কোনও সিএস ডিগ্রি ছাড়া) যোগ দেওয়া সম্ভব।

গুরুত্বপূর্নঃ

  • প্রোগ্রামিং এ সামান্য অভিজ্ঞতা (ভ্যারিয়েবলস,লুপ্স,মেথড/ফাংশন,ইত্যাদি)
  • ধৈর্য
  • সময়

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


সুচিপত্র

পাঠ পরিকল্পনা

অধ্যয়নের বিষয়সমূহ

চাকরি পাওয়ার জন্য

----------------এই পয়েন্টের নীচে থাকা সমস্ত কিছুই ঐচ্ছিক----------------

ঐচ্ছিক অতিরিক্ত বিষয় ও রিসোর্স

-অধিক বই


কেন এটি ব্যবহার করবেন

আপনি যদি সফটওয়্যার ইঞ্জিনিয়ার হিসেভে বড় কোম্পানি তে কাজ করতে চান তাহলে এই বিষয় গুলো আপনার জানা থাকা প্রয়োজন।

আপনি যদি আমার মতো কম্পিউটার সাইন্স এর ডিগ্রি মা মিয়ে থাকেন তাহলে এটি আপনাকে কম্পিউটার সাইন্স এর চার বছরের কোর্স শিখতে সাহায্য করবে।

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

এটি একটি দীর্ঘ পরিকল্পনা। এটি আপনার কয়েক মাস সময় নিতে পারে। আপনি যদি ইতিমধ্যে এর অনেক বিষয়ের সাথে পরিচিত হন তবে আপনাকে অনেক কম সময় লাগবে।

এটি কীভাবে ব্যবহার করবেন

নীচের সমস্ত কিছুই একটি রূপরেখা এবং আপনার আইটেমগুলি উপরের থেকে নীচে পর্যন্ত অনুসরন করা উচিত।

আমি নিজের অগ্রগতি নোট করার জন্য আমি গিট-হাবের বিশেষ মার্কডাউন ফ্লেভার এর টাস্ক লিস্ট ব্যবহার করছি।

একটি নতুন ব্রাঞ্চ তৈরি করুন যাতে আপনি এভাবে আইটেমগুলিতে টিক চিহ্ন ব্যাবহার করতে পারেন, বন্ধনীগুলিতে কেবল একটি এক্স রাখুন: [x]

একটি ব্রাঞ্চ ফর্ক করুন এবং নীচের কমান্ডগুলি অনুসরণ করুন

এই গিট-হাব রিপো টি ফর্ক করুন https://github.com/jwasham/coding-interview-university ফর্ক বাটনে চাপ দিয়ে

আপনার লোকাল রিপো তে ক্লোন করুন

git clone [email protected]:<your_github_username>/coding-interview-university.git
git checkout -b progress
git remote add jwasham https://github.com/jwasham/coding-interview-university
git fetch --all

আপনার পরিবর্তনগুলি শেষ করার পরে এক্স "X" চিহ্ন দিয়ে সমস্ত বাক্স চিহ্নিত করুন

git add .
git commit -m "Marked x"
git rebase jwasham/main
git push --set-upstream origin progress
git push --force

গিট-হাব-ফ্লেভার্ড মার্কডাউন সম্পর্কে আরও জানুন

আপনি কি নিজেকে যথেষ্ট স্মার্ট ভাবেন নাহ

ভিডিও রিসোর্স সম্পর্কে কিছু কথা

কিছু ভিডিও কেবল কোর্সেরা (Coursera) বা এডএক্স (EdX) ক্লাসে ভর্তি হয়ে পাওয়া যায়। এগুলিকে এমওওসি বলা হয়। কখনও কখনও ক্লাসগুলি সেশনে হয় না তাই আপনাকে কয়েক মাস অপেক্ষা করতে হবে, যাতে আপনার অ্যাক্সেস নেই।

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

একটি প্রোগ্রামিং ভাষা বেছে নিন

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

ভালো হয় যদি এই দুইটি কাজে একই ভাষা ব্যাবহার করেন তাহলে আপনাকে একটি ভাষাতেই দক্ষ হতে হবে।

এই শিক্ষা পরিকল্পনার জন্য

আমি যখন এই শিক্ষা পরিকল্পনা অনুসরন করেছিলাম তখন আমি সি ও পাইথন এই দুইটি ব্যাবহার করেছিলাম।

  • সি: এটি খুব ই লো লেভেল ল্যাংগুয়েজ। এটি আপনাকে পয়েন্টার এবং মেমরি অ্যালোকেশন / ডি-অ্যালোকেশন নিয়ে কাজ করতে দিবে। যার মাধ্যমে আপনি ভালো ভাবে অ্যালগোরিদম ও ডাটা স্ট্রাকচার শিখতে পারবেন। পাইথন ও জাভা হলো হাই লেভেল ল্যাংগুয়েজ এই ল্যাংগুয়েজ গুলোতে আপনার থেকে এই বিষয় গুলো লুকানো থাকে। দৈনিক কাজের ক্ষেত্রে যাহ খুব ই সুবিধা জনক কিন্ত শেখার ক্ষেত্রে যখন আপনি লো লেভেল ডাটা স্ট্রাকচার কিভাবে বানানো হয় শিখছেন তখন যতো লো লেভেল অর্থাৎ হার্ডওয়্যার এর কাছাকাছি এক্সহেখাই ভালো।
    • সি এর ব্যাবহার সর্বত্র। এর উদারন আপনি বই, ভিডিও, লেকচার, যেখানেই পড়বেন সেখানেই দেখতে পাবেন।
    • দি সি প্রোগ্রামিং ল্যাংগুয়েজ, ভলিউম ২
      • এটি একটি সংক্ষিপ্ত বই, তবে এটি আপনাকে সি ভাষার উপর একটি দুর্দান্ত দক্ষতা দেবে এবং আপনি যদি এটি একটু অনুশীলন করেন তবে আপনি দ্রুত দক্ষ হয়ে উঠবেন। সি বুঝতে পারলে আপনি প্রোগ্রাম এবং মেমরি কিভাবে কাজ করে তা বুঝতে পারবেন।
      • আপনাকে বইটির গভীরে যেতে হবে না (বা এমনকি এটি শেষ করতে হবে না)। শুধু যেটুকু পড়লে আপনি সি-তে পড়তে এবং লিখতে স্বাচ্ছন্দ্য বোধ করেন সেটুকু পড়ুন।
      • বইটির প্রশ্নের উত্তর
  • পাইথন: আধুনিক এবং খুব অভিব্যক্তিপূর্ণ, আমি এটি শিখেছি কারণ এটি খুব দরকারী এবং আমাকে একটি সাক্ষাত্কারে কম কোড লিখতে সাহায্য করে।

এগুলো আমার পছন্দ। কিন্ত আপনার পছন্দ অনুযায়ী আপনি শিখবেন।

আপানার হয়তো লাগবে নাহ কিন্ত এখানে নতুন কিছু ল্যাংগুয়েজ শেখার কিছু ওয়েবসাইট দেওয়া হলো:

আপনার কোডিং সাক্ষাত্কার এর জন্য

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

  • সি++
  • জাভা
  • পাইথন

আপনি এগুলি ও ব্যাবহার করতে পারেন তবে আগে থেকে জেনে নিবেন কারন নানা রকম সমস্যায় ভুগতে পারেন:

  • জাভা স্ক্রিপ্ট
  • রুবি

এখানে আমার লেখা একটি আর্টিকেল আছে যেখানে সাক্ষাত্কারের জন্য ল্যাংগুয়েজ নিয়ে আমি বলেছি। Pick One Language for the Coding Interview এই আর্টিকেল এর উপর ভিত্তি করী আমি আমার আর্টিকেলটি লিখেছিলাম: http://blog.codingforinterviews.com/best-programming-language-jobs/

আপনাকে ওই ল্যাংগুয়েজ এ খুব ই দক্ষ ও সাচ্ছন্দবোধ করতে হবে।

ভাষা পছন্দ সম্পর্কে আরো জানুন:

ভাষা অনুসারে রিসোর্স এখানে পাবেন

ডাটা স্ট্রাকচার এবং এ্যালগোরিদম এর বইসমুহ

এই বইটি কম্পিউটার সাইন্সের জন্য আপনার ভিত্তি তৈরি করবে।

আপনি স্বাচ্ছন্দ্য বোধ করবেন শুধুমাত্র এমন একটি ভাষা বেছে নিন। আপনি অনেক পড়তে এবং কোডিং করতে হবে।

সি

পাইথন

জাভা

আপনার পছন্দ:

সি++

আপনার পছন্দ:

ইন্টারভিউ এর প্রস্তুতি এর বইসমুহ

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

আমি এই দুটি কিনেছিলাম। এগুলো থেকে আমার প্রচুর প্রাক্টিস হয়েছে

  • Programming Interviews Exposed: Coding Your Way Through the Interview, 4th Edition
    • সি ++ এবং জাভাতে উত্তর
    • কোডিং সাক্ষাত্কার ক্র্যাক করার জন্য এটি একটি ভাল প্রস্তুতি
    • খুব বেশি কঠিন নয়, বেশিরভাগ সমস্যাগুলি আপনি একটি সাক্ষাত্কারে যা দেখবেন তার চেয়ে সহজ হতে পারে (আমি যা পড়েছি তা থেকে)
  • Cracking the Coding Interview, 6th Edition
    • জাভাতে উত্তর

আপনার যদি অতিরিক্ত পরিমাণে সময় থাকে তবে

একটি পছন্দ করুন:

আমার ভুল গুলো করবেন নাহ

এই তালিকাটি কয়েক মাস ধরে বেড়েছে, এবং হ্যাঁ, এটি একধরণের হাতছাড়া হয়ে যায়।

এখানে আমি কিছু ভুল করেছি যাতে আপনার আরও ভাল অভিজ্ঞতা হয়। এবং আপান্র অনেক সময় ও বাঁচবে।

1. আপনি সব মনে রাখতে পারবেন না

আমি কয়েক ঘন্টা ভিডিও দেখেছি এবং প্রচুর নোট নিয়েছি এবং কয়েক মাস পরে এমন অনেক কিছুই ছিল যা আমি মনে রাখতে পারিনি। আমি যেতে ৩ দিন কাটিয়েছি আমার নোটগুলি এবং ফ্ল্যাশকার্ডগুলি তৈরি করে যাতে আমি পর্যালোচনা করতে পারি। কিন্ত আমার এগুলোর দরকার ছিলো নাহ।

দয়া করে পড়ুন যাতে আপনি আমার ভুল না করেন:

কম্পিউটার বিজ্ঞান এর জ্ঞান মনে রাখা

2. ফ্ল্যাশকার্ড ব্যবহার করুন

সমস্যা সমাধানের জন্য, আমি একটি সামান্য ফ্ল্যাশকার্ডস সাইট তৈরি করেছি যেখানে আমি ২ ধরণের ফ্ল্যাশকার্ড যুক্ত করতে পারি: সাধারণ এবং কোড। প্রতিটি কার্ডের আলাদা বিন্যাস রয়েছে।

আমি একটি মোবাইল প্রথম ওয়েবসাইট তৈরি করেছি যাতে আমি যেখানেই থাকি না কেন আমার ফোন এবং ট্যাবলেটে পর্যালোচনা করতে পারি।

বিনামূল্যে নিজের তৈরি করুন:

আমি আমার ফ্ল্যাশকার্ডগুলি ব্যবহার করার পরামর্শ দিই না। অনেকগুলি আছে এবং তাদের মধ্যে অনেকগুলি তুচ্ছ বিষয় যা আপনার প্রয়োজন নেই.

তবু যদি আপনি আপনি আমার কথা শুনতে নাহ চান। এখানে ফ্ল্যাশ কার্ড গুলি পাবেন:

মনে রাখবেন আমি ওভারবোর্ডে গিয়েছিলাম এবং সমাবেশগুলির ভাষা এবং পাইথন ট্রিভিয়া থেকে শুরু করে মেশিন লার্নিং এবং পরিসংখ্যানের সমস্ত কিছুর জন্য কার্ড রয়েছে। যা প্রয়োজন তার জন্য এটি অনেক বেশি।

ফ্ল্যাশকার্ডগুলিতে দ্রষ্টব্য: আপনি যখন প্রথমবার উত্তরটি জানেন তখন তা চিহ্নিত হিসাবে চিহ্নিত করবেন না। আপনাকে দেখতে হবে একই কার্ড এবং এটি জেনে রাখার আগে বেশ কয়েকবার সঠিক উত্তর দিন। পুনরাবৃত্তি সেই জ্ঞানকে আরও গভীর করে দেবে আপনার মস্তিষ্ক.

আমার ফ্ল্যাশকার্ড সাইটটি ব্যবহার করার বিকল্প হ'ল আনকি, যা আমার কাছে বহুবার প্রস্তাবিত হয়েছিল। এটি আপনাকে মনে রাখতে সহায়তা করার জন্য একটি পুনরাবৃত্তি সিস্টেম ব্যবহার করে। এটি ব্যবহারকারী-বান্ধব, সমস্ত প্ল্যাটফর্মে উপলব্ধ এবং একটি ক্লাউড সিঙ্ক সিস্টেম রয়েছে। আইওএসে এটির দাম 25 ডলার তবে অন্যান্য প্ল্যাটফর্মগুলিতে বিনামূল্যে।

আনকি ফর্ম্যাটে আমার ফ্ল্যাশকার্ড ডাটাবেস: https://ankiweb.net/shared/info/25173560 (ধন্যবাদ @ এক্সভিউনিয়া)

3. পর্যালোচনা, পর্যালোচনা, পর্যালোচনা

আমি ASCII, ওএসআই স্ট্যাক, বিগ-ও স্বরলিপিগুলি এবং আরও অনেক কিছুতে চিট শীটের একটি সেট রাখি। আমার কিছুটা বাজে সময় পেলে আমি সেগুলি অধ্যয়ন করি।

আধা ঘন্টার জন্য প্রোগ্রামিং সমস্যা থেকে বিরতি নিন এবং আপনার ফ্ল্যাশকার্ডগুলি দিয়ে যান।

4. ফোকাস করুন

অনেকগুলি বিভ্রান্তি রয়েছে যা মূল্যবান সময় নিতে পারে। ফোকাস এবং ঘনত্ব শক্ত।

সাক্ষাত্কার প্রস্তুতি

বইএর তালিকা

আমি যা ব্যবহার করেছি তার চেয়ে এটি একটি সংক্ষিপ্ত তালিকা। এটি আপনার সময় বাঁচাতে সংক্ষেপে বর্ণিত।

কম্পিউটার আর্কিটেকচার

  • [গ্রেট কোড লিখুন: খণ্ড ১: মেশিনটি বোঝা] (https://www.amazon.com/Write-Great-Code-Unders સમજ-ম্যাচাইন / ডিপি / 1593270038) -বইটি 2004 সালে প্রকাশিত হয়েছিল এবং এটি কিছুটা পুরানো হলেও সংক্ষেপে কম্পিউটার বোঝার জন্য এটি এক ভয়ঙ্কর উত্স। -লেখক আবিষ্কার করেছেন [এইচএলএ] (https://en.wikedia.org/wiki/High_Level_As आशीर्वाद), তাই লবণের দানা দিয়ে এইচএলএ-তে উল্লেখ এবং উদাহরণ নিন। বিস্তৃতভাবে ব্যবহৃত হয় না, তবে সমাবেশটি কেমন লাগে তার শালীন উদাহরণ। -এই অধ্যায়গুলি আপনাকে একটি সুন্দর ভিত্তি দেওয়ার জন্য মূল্যবান:

    ......
    -দ্বিতীয় অধ্যায়-সংখ্যা উপস্থাপনা
    -অধ্যায় 3-বাইনারি গাণিতিক এবং বিট অপারেশন
    -অধ্যায় 4-ভাসমান-পয়েন্ট প্রতিনিধিত্ব
    -অধ্যায় 5-চরিত্র উপস্থাপনা
    -অধ্যায় 6-মেমরি সংস্থা এবং অ্যাক্সেস
    -অধ্যায় 7-সম্মিলিত ডেটা টাইপ এবং মেমরি অবজেক্টস
    -অধ্যায় 9-সিপিইউ আর্কিটেকচার
    -অধ্যায় 10-নির্দেশ সেট আর্কিটেকচার
    -অধ্যায় 11-মেমরি আর্কিটেকচার এবং সংস্থা
    

আপনি কি কভার দেখতে পাবেন না

এগুলি প্রচলিত প্রযুক্তি তবে এই অধ্যয়ন পরিকল্পনার অংশ নয়:

  • এসকিউএল
  • জাভাস্ক্রিপ্ট
  • এইচটিএমএল, সিএসএস এবং অন্যান্য ফ্রন্ট-এন্ড প্রযুক্তি

দৈনিক পরিকল্পনা

কিছু বিষয় একদিন নেয়, এবং কিছুতে একাধিক দিন সময় লাগবে। কিছু বাস্তবায়নের কিছুই না দিয়ে কেবল শিখছে।

প্রতিদিন আমি নীচের তালিকা থেকে একটি বিষয় নিয়ে যাই, সেই বিষয় সম্পর্কে ভিডিও দেখি এবং একটি বাস্তবায়ন এখানে লিখি:

  • সি-স্ট্রাকস এবং ফাংশনগুলি ব্যবহার করে যা স্ট্রাক * এবং আরজ হিসাবে অন্য কোনও কিছু নেয়।
  • সি ++-অন্তর্নির্মিত প্রকারগুলি ব্যবহার না করে
  • সি ++-অন্তর্নির্মিত প্রকারগুলি যেমন STL এর std :: লিঙ্কযুক্ত তালিকার জন্য তালিকা ব্যবহার করে
  • পাইথন-অন্তর্নির্মিত প্রকারগুলি (পাইথনের অনুশীলন চালিয়ে যেতে) ব্যবহার করে
  • এবং আমি এটি সঠিকভাবে করছি তা নিশ্চিত করার জন্য পরীক্ষাগুলি লিখুন, কখনও কখনও কেবল সাধারণ দাবী () বিবৃতি ব্যবহার করে
  • আপনি জাভা বা অন্য কিছু করতে পারেন, এটি কেবল আমার জিনিস।

আপনার এসবের দরকার নেই। আপনার কেবলমাত্র [সাক্ষাত্কারের জন্য একটি ভাষা] প্রয়োজন (#সাক্ষাত্কারের জন্য এক-ভাষা বেছে নিন)।

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

আমার প্রতিটি বিষয়ের জন্য এগুলি করার জন্য সময় নাও থাকতে পারে তবে আমি চেষ্টা করব।

আপনি আমার কোডটি এখানে দেখতে পারেন: -[সি] (https://github.com/jwasham/pੈਕਟ-c) -[সি ++] (https://github.com/jwasham/pੈਕਟ-cpp) -[পাইথন] (https://github.com/jwasham/pੈਕਟ-python)

আপনার প্রতিটি অ্যালগরিদমের সাহস মুখস্থ করার দরকার নেই।

হোয়াইটবোর্ড বা কাগজে কোড লিখুন, কম্পিউটার নয়। কিছু নমুনা ইনপুট দিয়ে পরীক্ষা করুন। তারপরে এটি কম্পিউটারে পরীক্ষা করে দেখুন।

পূর্বশর্ত জ্ঞান

<সংশ্লেষ> পূর্বশর্ত জ্ঞান << সংক্ষিপ্ত>
  • ** সি ** শিখুন -সি সর্বত্র আছে। আপনি অধ্যয়নরত অবস্থায় আপনি বই, বক্তৃতা, ভিডিও, * সর্বত্র * এর উদাহরণ দেখতে পাবেন।

    • [সি প্রোগ্রামিং ল্যাঙ্গুয়েজ, খণ্ড ২] (https://www.amazon.com/Programming-Language-ব্রায়ান-ডব্লিউ-কর্নিগান/dp/0131103628) -এটি একটি সংক্ষিপ্ত বই, তবে এটি আপনাকে সি ভাষায় দুর্দান্ত হ্যান্ডেল দেবে এবং যদি আপনি এটি কিছুটা অনুশীলন করেন আপনি দ্রুত দক্ষ হয়ে উঠবেন। সি বোঝা আপনাকে প্রোগ্রাম এবং মেমরি কীভাবে কাজ করে তা বুঝতে সহায়তা করে। -[প্রশ্নের উত্তর] (https://github.com/lekkas/c-algorithms)
  • ** কম্পিউটার কীভাবে কোনও প্রোগ্রাম প্রক্রিয়া করে: **

অ্যালগরিদমিক জটিলতা / বিগ-ও / অ্যাসিপোটিক বিশ্লেষণ


এই কোর্সটিতে অনেক বিষয় রয়েছে। প্রতিটি সম্ভবত আপনাকে কয়েক দিন, বা এমনকি এক সপ্তাহ বা তারও বেশি সময় লাগবে। এটা আপনার সময়সূচী উপর নির্ভর করে।

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

আপনি এখানে আমার কোড দেখতে পারেন:

আপনাকে প্রতিটি অ্যালগরিদম মুখস্থ করতে হবে না। আপনার নিজের বাস্তবায়ন লিখতে সক্ষম হওয়ার জন্য আপনাকে এটি যথেষ্ট বুঝতে সক্ষম হতে হবে।

কোডিং প্রশ্ন অনুশীলন

এটা এখানে কেন? আমি ইন্টারভিউ দিতে প্রস্তুত নই।

তারপর ফিরে যান এবং এটি পড়ুন।

কেন আপনাকে প্রোগ্রামিং সমস্যাগুলি অনুশীলন করতে হবে:

  • সমস্যা শনাক্তকরণ, এবং যেখানে সঠিক ডেটা স্ট্রাকচার এবং অ্যালগরিদমগুলি ফিট করে৷
  • সমস্যার জন্য দরকারী জিনিস সংগ্রহ করা
  • ইন্টারভিউতে আপনার মতন সমস্যার মধ্য দিয়ে কথা বলা
  • একটি হোয়াইটবোর্ড বা কাগজে কোডিং, কম্পিউটার নয়
  • আপনার সমাধানের জন্য সময় এবং স্থান জটিলতা নিয়ে আসছে (নীচে Big-O দেখুন)
  • আপনার সমাধান পরীক্ষা

একটি ইন্টারভিউতে পদ্ধতিগত, যোগাযোগমূলক সমস্যা সমাধানের জন্য একটি দুর্দান্ত ভূমিকা রয়েছে। আপনি প্রোগ্রামিং থেকে এটি পাবেন সাক্ষাৎকারের বইও, কিন্তু আমি এই অসামান্য খুঁজে পেয়েছি: Algorithm design canvas

একটি হোয়াইটবোর্ড বা কাগজে কোড লিখুন, কম্পিউটার নয়। কিছু নমুনা ইনপুট দিয়ে পরীক্ষা করুন। তারপর এটি টাইপ করুন এবং একটি কম্পিউটারে এটি পরীক্ষা করুন।

আপনার বাড়িতে একটি হোয়াইটবোর্ড না থাকলে, একটি আর্ট স্টোর থেকে একটি বড় অঙ্কন প্যাড নিন। আপনি সোফায় বসে অনুশীলন করতে পারেন। এটি আমার "সোফা হোয়াইটবোর্ড"। আমি শুধু স্কেলের জন্য ফটোতে কলম যোগ করেছি। যদি আপনি একটি কলম ব্যবহার করেন, আপনি মুছে দিতে পারেন. দ্রুত এলোমেলো হয়ে যায়। আমি একটি পেন্সিল এবং ইরেজার ব্যবহার করি।

আমার সোফা হোয়াইটবোর্ড

কোডিং প্রশ্ন অনুশীলন প্রোগ্রামিং সমস্যার উত্তর মুখস্ত করা সম্পর্কে নয়।

কোডিং সমস্যা

আপনার মূল কোডিং ইন্টারভিউ বই ভুলবেন না here.

সমস্যা সমাধানে:

কোডিং ইন্টারভিউ প্রশ্ন ভিডিও:

চ্যালেঞ্জ/অনুশীলনের সাইট:

  • LeetCode
    • আমার প্রিয় কোডিং সমস্যা সাইট। এটি 1-2 মাসের জন্য সাবস্ক্রিপশনের অর্থের মূল্য যা আপনি সম্ভবত প্রস্তুত করছেন।
    • কোড ওয়াক-থ্রুগুলির জন্য উপরে নিক হোয়াইট এবং ফিশারকোডার ভিডিওগুলি দেখুন৷
  • HackerRank
  • TopCoder
  • Codeforces
  • Codility
  • Geeks for Geeks
  • InterviewBit
  • AlgoExpert
    • Google ইঞ্জিনিয়ারদের দ্বারা তৈরি, এটি আপনার দক্ষতা বাড়াতে একটি চমৎকার সম্পদও।
  • Project Euler
    • খুব গণিত ফোকাসড, এবং কোডিং ইন্টারভিউয়ের জন্য সত্যিই উপযুক্ত নয়

চল শুরু করি

ঠিক আছে, যথেষ্ট কথা, আসুন শিখি!

কিন্তু শিখতে গিয়ে উপরে থেকে কোডিং সমস্যা করতে ভুলবেন না!

অ্যালগরিদমিক জটিলতা / বিগ-ও / অ্যাসিম্পটোটিক বিশ্লেষণ

ওয়েল, যে যথেষ্ট যে সম্পর্কে.

আপনি যখন "Cracking the Coding Interview" এর মধ্য দিয়ে যান, তখন এই বিষয়ে একটি অধ্যায় থাকে এবং শেষে একটি কুইজ দেখতে হয় যদি আপনি বিভিন্ন অ্যালগরিদমের রানটাইম জটিলতা সনাক্ত করতে পারেন। এটি একটি সুপার পর্যালোচনা এবং পরীক্ষা.

ডাটা স্ট্রাকচার

  • অ্যারে

    • অ্যারে সম্পর্কে:
    • Implement a vector (mutable array with automatic resizing):
      • Practice coding using arrays and pointers, and pointer math to jump to an index instead of using indexing.
      • New raw data array with allocated memory
        • can allocate int array under the hood, just not use its features
        • start with 16, or if starting number is greater, use power of 2 - 16, 32, 64, 128
      • size() - আইটেমের সংখ্যা
      • capacity() - আইটেমের সংখ্যা এটি ধরে রাখতে পারে
      • is_empty()
      • at(index) - returns item at given index, blows up if index out of bounds
      • push(item)
      • insert(index, item) - inserts item at index, shifts that index's value and trailing elements to the right
      • prepend(item) - can use insert above at index 0
      • pop() - শেষ থেকে সরান, ভ্যালু রিটার্ন করুন
      • delete(index) - delete item at index, shifting all trailing elements left
      • remove(item) - looks for value and removes index holding it (even if in multiple places)
      • find(item) - looks for value and returns first index with that value, -1 if not found
      • resize(new_capacity) // private function
        • যখন সাইজ পুরন হয়ে যায়, তখন সেটার সাইজ ডবল করে দিন
        • when popping an item, if size is 1/4 of capacity, resize to half
    • Time
      • O(1) to add/remove at end (amortized for allocations for more space), index, or update
      • O(n) to insert/remove elsewhere
    • Space
      • contiguous in memory, so proximity helps performance
      • space needed = (array capacity, which is >= n) * size of item, but even if 2n, still O(n)
  • লিঙ্কড লিস্ট

    • বিবরণ:
    • C Code (video) - পুরো ভিডিওটি নয়, নোড স্ট্রাকট এবং মেমরি বরাদ্দ সম্পর্কে কিছু অংশ
    • লিঙ্কড লিস্ট বনাম অ্যারে:
    • Why you should avoid linked lists (video)
    • Gotcha: you need pointer to pointer knowledge: (for when you pass a pointer to a function that may change the address where that pointer points) This page is just to get a grasp on ptr to ptr. I don't recommend this list traversal style. Readability and maintainability suffer due to cleverness.
    • Implement (I did with tail pointer & without):
      • size() - returns number of data elements in list
      • empty() - bool returns true if empty
      • value_at(index) - returns the value of the nth item (starting at 0 for first)
      • push_front(value) - adds an item to the front of the list
      • pop_front() - remove front item and return its value
      • push_back(value) - adds an item at the end
      • pop_back() - removes end item and returns its value
      • front() - get value of front item
      • back() - get value of end item
      • insert(index, value) - insert value at index, so current item at that index is pointed to by new item at index
      • erase(index) - removes node at given index
      • value_n_from_end(n) - returns the value of the node at nth position from the end of the list
      • reverse() - reverses the list
      • remove_value(value) - এই মান দিয়ে তালিকার প্রথম আইটেমটি সরিয়ে দেয়
    • Doubly-linked List
      • Description (video)
      • ইমপ্লিমেন্টের প্রয়োজন নাই।

-###স্ট্যাক

-###কিউ

  • [সারি (ভিডিও)] (https://www.coursera.org/lecture/data-structures/queues-EShpq)
  • [বিজ্ঞপ্তি বাফার / ফিফো] (https://en.wikedia.org/wiki/Circular_buffer) - [ ] [Review] Queues in 3 minutes (video)
  • লেজ পয়েন্টার সহ লিঙ্কযুক্ত-তালিকা ব্যবহার করে প্রয়োগ করুন: -এনকুই (মান)-লেজের স্থানে মান যোগ করে -ডেকিউ ()-মান ফেরত দেয় এবং সর্বশেষে যুক্ত হওয়া উপাদান (সামনে) সরিয়ে দেয় -খালি ()
  • স্থির আকারের অ্যারে ব্যবহার করে প্রয়োগ করুন: -এনকুই (মান)-উপলব্ধ স্টোরেজ শেষে আইটেম যুক্ত করে -ডেকিউ ()-মান প্রদান করে এবং সম্প্রতি যুক্ত হওয়া উপাদানকে সরিয়ে দেয় -খালি () -সম্পূর্ণ()
  • খরচ: -লিঙ্কযুক্ত তালিকার সাহায্যে একটি খারাপ বাস্তবায়ন যেখানে আপনি মাথার দিকে tailুকিয়ে রাখুন এবং লেজটিতে শেরোনামটি হবে O (n) কারণ আপনার শেষ উপাদানটির পরেরটি দরকার, প্রতিটি ডেকিউকে পুরো ট্র্যাভারসাল সৃষ্টি করে -এনকুই: ও (1) (সূচিত, লিঙ্কযুক্ত তালিকা এবং অ্যারে [প্রোবিং]) -প্রামাণ্য: ও (1) (লিঙ্কযুক্ত তালিকা এবং অ্যারে) -খালি: O (1) (লিঙ্কযুক্ত তালিকা এবং অ্যারে)

-###হ্যাশ টেবিল

##আরও জ্ঞান

আরও জ্ঞান << সংক্ষিপ্ত>

-###বাইনারি অনুসন্ধান

-###বিটওয়াস অপারেশন

##গাছ

গাছ

-###গাছ-নোট ও পটভূমি

  • [সিরিজ: গাছ (ভিডিও)] (https://www.coursera.org/learn/data-structures/ নির্বাচন / 95qda/trees) -মৌলিক গাছ নির্মাণ -traversal -ম্যানিপুলেশন আলগোরিদিম
  • [বিএফএস (প্রস্থের প্রথম সন্ধান) এবং ডিএফএস (গভীরতা-প্রথম অনুসন্ধান) (ভিডিও)] (https://www.youtube.com/watch?v=uWL6FJhq5fM) -বিএফএস নোট: -স্তর আদেশ (বিএফএস, সারি ব্যবহার করে) -সময়ের জটিলতা: ও (এন) -স্থান জটিলতা: সেরা: O (1), সবচেয়ে খারাপ: O (n / 2) = O (n) -ডিএফএস নোট: -সময়ের জটিলতা: ও (এন) -স্থান জটিলতা: সেরা: ও (লগ এন)-গড়। গাছের উচ্চতা সবচেয়ে খারাপ: ও (এন) -অর্ডার (ডিএফএস: বাম, স্ব, ডান) -পোস্টর্ডার (ডিএফএস: বাম, ডান, স্ব) -প্রির্ডার (ডিএফএস: স্ব, বাম, ডান) - [ ] [Review] Breadth-first search in 4 minutes (video) - [ ] [Review] Depth-first search in 4 minutes (video) - [ ] [Review] Tree Traversal (playlist) in 11 minutes (video)

-###বাইনারি অনুসন্ধান গাছ: বিএসটি

-###গাদা / অগ্রাধিকার সারি / বাইনারি হিপ -গাছ হিসাবে ভিজ্যুয়ালাইজড, তবে সাধারণত সঞ্চয়স্থানে লিনিয়ার থাকে (অ্যারে, লিঙ্কযুক্ত তালিকা)

##শ্রেণীবিভাজন

বাছাইকরণ

-[ ] নোট: -প্রকারভেদ প্রয়োগ করুন এবং সর্বোত্তম কেস / নিকৃষ্টতম কেস, প্রত্যেকের গড় জটিলতা জানেন: -কোনও বুদ্বুদ বাছাই নয়-এটি ভয়ানক-হে (n ^ 2), যখন এন <= 16 বাদে

  • অ্যালগরিদম বাছাইয়ের স্থায়িত্ব ("কুইকসোর্ট স্থিতিশীল?") -[অ্যালগোরিদম স্থিতিশীলতা বাছাই করা হচ্ছে) (https://en.wikedia.org/wiki/Sorting_algorithm#Stability) -[অ্যালগরিদমগুলি বাছাইয়ে স্থিতিশীলতা] (http://stackoverflow.com/questions/1517793/stability-in-sorting-algorithms) -[অ্যালগোরিদম বাছাইয়ে স্থায়িত্ব] (http://www.geeksforgeeks.org/stability-in-sorting-algorithms/) -[অ্যালগরিদম বাছাই-স্থিতিশীলতা] (http://homepages.math.uic.edu/~leon/cs-mcs401-s08/handouts/stability.pdf)
  • লিঙ্কযুক্ত তালিকায় কোন অ্যালগরিদম ব্যবহার করা যেতে পারে? অ্যারেতে কোনটি? উভয় উপর? -আমি একটি লিঙ্কযুক্ত তালিকা বাছাইয়ের প্রস্তাব দেব না, তবে মার্জ সারণি করণীয়। -[লিঙ্কযুক্ত তালিকার জন্য বাছাই করুন মার্জ করুন] (http://www.geeksforgeeks.org/ নিমেষে-অনুসারে-লিঙ্কড-তালিকা /)

-হিপসোর্টের জন্য, উপরে হ্যাপের ডেটা কাঠামোটি দেখুন। হিপ সাজানো দুর্দান্ত তবে স্থিতিশীল নয়।

সংক্ষিপ্তসার হিসাবে, এখানে [১৫ টি বাছাই করা অ্যালগরিদম] (https://www.youtube.com/watch?v=kPRA0W1kECg) এর ভিজ্যুয়াল উপস্থাপনা রয়েছে। আপনার যদি এই বিষয়ে আরও বিশদ প্রয়োজন, [কিছু বিষয়ের উপর অতিরিক্ত বিশদ] এর "বাছাই করা" বিভাগটি দেখুন (কিছু বিষয়ে-কিছু-অতিরিক্ত-বিশদ)

##গ্রাফ

গ্রাফ

গ্রাফগুলি কম্পিউটার বিজ্ঞানের বিভিন্ন সমস্যার প্রতিনিধিত্ব করতে ব্যবহার করা যেতে পারে, তাই এই বিভাগটি দীর্ঘ, যেমন গাছ এবং বাছাইয়ের মতো ছিল।

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

-সম্পূর্ণ কোর্সেরা কোর্স:

-আমি বাস্তবায়ন করব:

  • সংলগ্ন তালিকার সাথে ডিএফএস (পুনরাবৃত্ত)
  • সংলগ্ন তালিকার সাথে ডিএফএস (স্ট্যাক সহ পুনরাবৃত্ত)
  • সংলগ্ন ম্যাট্রিক্স সহ ডিএফএস (পুনরাবৃত্ত)
  • সংলগ্ন ম্যাট্রিক্স সহ ডিএফএস (স্ট্যাক সহ পুনরাবৃত্ত)
  • সংলগ্ন তালিকা সহ বিএফএস
  • সংলগ্ন ম্যাট্রিক্স সহ বিএফএস
  • একক উত্সের সংক্ষিপ্ততম পথ (ডিজকস্ট্র)
  • সর্বনিম্ন বিস্তৃত গাছ -ডিএফএস-ভিত্তিক অ্যালগরিদম (উপরে অ্যাডুনি ভিডিও দেখুন):
    • চক্র পরীক্ষা করুন (টপোলজিকাল সাজানোর জন্য প্রয়োজনীয়, যেহেতু আমরা শুরু করার আগে চক্রটি পরীক্ষা করব)
    • টপোলজিকাল সাজান
    • একটি গ্রাফে সংযুক্ত উপাদানগুলি গণনা করুন
    • দৃ strongly়ভাবে সংযুক্ত উপাদানগুলির তালিকা করুন
    • দ্বিপক্ষীয় গ্রাফ পরীক্ষা করুন

##আরও জ্ঞান

আরও জ্ঞান << সংক্ষিপ্ত>

-###পুনরাবৃত্তি

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

-###অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং

-###নকশা নিদর্শন

-###সম্মিলক (n কে নির্বাচন করুন) এবং সম্ভাবনা

-###এনপি, এনপি-সম্পূর্ণ এবং আনুমানিক অ্যালগরিদম -এনপি-সম্পূর্ণ সমস্যার সর্বাধিক বিখ্যাত শ্রেণীর সম্পর্কে জানুন, যেমন ভ্রমণ ভ্রমণ এবং ন্যাপস্যাক সমস্যা, এবং যখন কোনও সাক্ষাত্কার আপনাকে ছদ্মবেশে জিজ্ঞাসা করে তখন সেগুলি সনাক্ত করতে সক্ষম হোন। -এনপি-সম্পূর্ণ অর্থ কী তা জানুন।

-###ক্যাচ

-###প্রক্রিয়া এবং থ্রেডস

  • কম্পিউটার বিজ্ঞান 162-অপারেটিং সিস্টেম (25 টি ভিডিও): -প্রক্রিয়া এবং থ্রেডগুলির জন্য ভিডিওগুলি 1-11 দেখুন -[অপারেটিং সিস্টেমস এবং সিস্টেম প্রোগ্রামিং (ভিডিও)] (https://archive.org/details/ucberkeley-webcast-PL-XXv-cvA_iBDyz-ba4yDskqMDY6A1w_c) -[প্রক্রিয়া এবং একটি থ্রেডের মধ্যে পার্থক্য কী?] (Https://www.quora.com/What-is-the-differences-between-a-process-and-a-thread) -কভার: -প্রক্রিয়াগুলি, থ্রেডগুলি, সমঝোতার বিষয়গুলি -প্রক্রিয়া এবং থ্রেড মধ্যে পার্থক্য -প্রক্রিয়া -থ্রেড -তালা -মিটেক্সেস -semaphores -মনিটর -তারা কীভাবে কাজ করে -অচলাবস্থা -লাইভলক -সিপিইউ ক্রিয়াকলাপ, বাধা, প্রসঙ্গের স্যুইচিং -মাল্টিকোর প্রসেসরগুলির সাথে আধুনিক একত্রীকরণ -[পেজিং, বিভাগকরণ এবং ভার্চুয়াল মেমোরি (ভিডিও)] (https://www.youtube.com/watch?v=LKe7xK0bF7o&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=2) -[বাধা (ভিডিও)] (https://www.youtube.com/watch?v=uFKi2-J-6II&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8&index=3) -[শিডিং (ভিডিও)] (https://www.youtube.com/watch?v=-Gu5mYdKbu4&index=4&list=PLCiOXwirraUCBE9i_ukL8_Kfg6XNv7Se8) -প্রক্রিয়া সংস্থান প্রয়োজন (মেমরি: কোড, স্ট্যাটিক স্টোরেজ, স্ট্যাক, গাদা, এবং ফাইল বিবরণকারী, i / o) -থ্রেড রিসোর্সের প্রয়োজন (একই প্রক্রিয়ায় অন্যান্য থ্রেডের সাথে উপরের (বিয়োগ স্ট্যাক) তবে প্রতিটিটির নিজস্ব পিসি, স্ট্যাক কাউন্টার, রেজিস্টার এবং স্ট্যাক রয়েছে) -নতুন প্রক্রিয়া মেমরিটিতে লেখার আগ পর্যন্ত ফোর্কিং সত্যই লেখার অনুলিপি (কেবল পঠনযোগ্য) হয়, তবে এটি একটি সম্পূর্ণ অনুলিপি করে। -প্রসঙ্গে স্যুইচিং -কীভাবে প্রসঙ্গের স্যুইচিং অপারেটিং সিস্টেম এবং অন্তর্নিহিত হার্ডওয়্যার দ্বারা শুরু করা হয়
  • [সি ++ (সিরিজ-10 টি ভিডিও) এর থ্রেড]] (https://www.youtube.com/playlist?list=PL5jc9xFGsL8E12so1wlMS0r0hTQoJL74M)
  • পাইথনে সম্মতি (ভিডিও):

-###পরীক্ষামূলক -ঢাকতে: -ইউনিট টেস্টিং কীভাবে কাজ করে -মক অবজেক্টস কী -সংহতকরণ পরীক্ষা কি -নির্ভরতা ইনজেকশন কি

-###তফসিল -কোনও ওএসে, এটি কীভাবে কাজ করে -অপারেটিং সিস্টেমের ভিডিওগুলি থেকে সংগ্রহ করা যায়

-###স্ট্রিং অনুসন্ধান এবং ম্যানিপুলেশনগুলি

আপনার যদি এই বিষয়ে আরও বিশদ প্রয়োজন, [কিছু বিষয়ের উপর অতিরিক্ত বিবরণ] "স্ট্রিং ম্যাচিং" বিভাগটি দেখুন (কিছু-বিষয়ে-কিছু-অতিরিক্ত)

-###চেষ্টা -নোট করুন বিভিন্ন ধরণের চেষ্টা আছে। কারও কারও কাছে উপসর্গ আছে, কারও কাছে কিছু নেই, আবার কিছু বিটের পরিবর্তে স্ট্রিং ব্যবহার করে পথ ট্র্যাক। -আমি কোডের মাধ্যমে পড়েছি, তবে বাস্তবায়ন করব না।

-###ভাসমান পয়েন্ট নম্বর

  • সাধারণ 8-বিট: [ভাসমান পয়েন্ট সংখ্যাগুলির প্রতিনিধিত্ব-1 (ভিডিও-গণনায় একটি ত্রুটি রয়েছে-ভিডিও বর্ণনা দেখুন)] (https://www.youtube.com/watch?v=ji3SfClm8TU)
  • 32 বিট: [আইইইই 7575 32-বিট ভাসমান পয়েন্ট বাইনারি (ভিডিও)] (https://www.youtube.com/watch?v=50ZYcZebIec)

-###ইউনিকোড

  • [সর্বনিম্ন ন্যূনতম প্রতিটি সফ্টওয়্যার বিকাশকারী অবশ্যই, ইউনিকোড এবং চরিত্রের সেট সম্পর্কে ইতিবাচকভাবে অবশ্যই জানতে হবে] (http://www.joelonsoftware.com/articles/Unicode.html)
  • [প্রতিটি প্রোগ্রামার একেবারে নিখুঁতভাবে, এনকোডিংগুলি এবং পাঠ্যের সাথে কাজ করার জন্য চরিত্রের সেটগুলি সম্পর্কে ইতিবাচক প্রয়োজন] [http://kunststube.net/encoding/)

-###শেষ

-###নেটওয়ার্কিং -** আপনার যদি নেটওয়ার্কিংয়ের অভিজ্ঞতা থাকে বা কোনও নির্ভরযোগ্যতা প্রকৌশলী বা অপারেশন ইঞ্জিনিয়ার হতে চান তবে প্রশ্নগুলি আশা করুন ** -অন্যথায়, এটি জেনে রাখা ভাল

##সিস্টেম ডিজাইন, স্কেলিবিলিটি, ডেটা হ্যান্ডলিং

<সুমারী> সিস্টেম ডিজাইন, স্কেলাবিলিটি, ডেটা হ্যান্ডলিং

** আপনার 4+ বছরের অভিজ্ঞতা থাকলে আপনি সিস্টেম ডিজাইন প্রশ্নগুলি আশা করতে পারেন *

-স্কেলাবিলিটি এবং সিস্টেম ডিজাইন অনেকগুলি বিষয় এবং সংস্থান সহ অনেক বড় বিষয় since এমন একটি সফ্টওয়্যার / হার্ডওয়্যার সিস্টেম ডিজাইন করার সময় বিবেচনা করার মতো অনেক কিছুই রয়েছে যা স্কেল করতে পারে। এটিতে বেশ কিছুটা সময় ব্যয় করার প্রত্যাশা করুন। -বিবেচনা: -স্কেলিবিলিটি -একক মানগুলিতে বড় ডেটা সেট স্থাপন করুন -একটি ডেটা সেট করে অন্যটিতে রূপান্তর করুন -অশ্লীলভাবে প্রচুর পরিমাণে ডেটা পরিচালনা করা -ব্যবস্থা পরিকল্পনা -বৈশিষ্ট্য সেট -ইন্টারফেস -শ্রেণি শ্রেণিবিন্যাস -নির্দিষ্ট সীমাবদ্ধতার অধীনে একটি সিস্টেম ডিজাইন করা -সরলতা এবং দৃust়তা -বাণিজ্য -কর্মক্ষমতা বিশ্লেষণ এবং অপ্টিমাইজেশন


##চূড়ান্ত পর্যালোচনা

চূড়ান্ত পর্যালোচনা
এই বিভাগে সংক্ষিপ্ত ভিডিও থাকবে যা আপনি বেশিরভাগ গুরুত্বপূর্ণ ধারণাটি পর্যালোচনা করতে খুব দ্রুত দেখতে পারেন।
আপনি প্রায়শই একটি রিফ্রেশার চাইলে এটি দুর্দান্ত।

##কোডিং প্রশ্ন অনুশীলন

<সংশ্লেষ> কোডিং প্রশ্ন অনুশীলন << সংক্ষিপ্ত>

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

** কোডিং প্রশ্ন অনুশীলন প্রোগ্রামিং সমস্যার উত্তর মুখস্থ করার বিষয়ে নয় * **

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

একটি সাক্ষাত্কারে পদ্ধতিগত, যোগাযোগমূলক সমস্যা সমাধানের জন্য দুর্দান্ত ভূমিকা রয়েছে। আপনি প্রোগ্রামিং থেকে এটি পাবেন সাক্ষাত্কারের বইগুলিও, তবে আমি এই অসামান্যটি পেয়েছি: [অ্যালগোরিদম ডিজাইন ক্যানভাস] (http://www.hiredintech.com/algorithm-design/)

বাড়িতে হোয়াইটবোর্ড নেই? এটা বোধগম্য. আমি একটি অদ্ভুত এবং একটি বড় হোয়াইটবোর্ড। হোয়াইটবোর্ডের পরিবর্তে, একটি বাছাই করুন একটি আর্ট স্টোর থেকে বড় অঙ্কন প্যাড। আপনি পালঙ্কে বসে অনুশীলন করতে পারেন। এটি আমার "সোফা হোয়াইটবোর্ড"। আমি স্কেলে কলমটি ফটোতে যুক্ত করেছি। আপনি যদি কলম ব্যবহার করেন তবে আপনি মুছে ফেলতে পারবেন। অগোছালো দ্রুত পায়।

! [আমার সোফা হোয়াইটবোর্ড] (https://d3j2pkmjtin6ou.cloudfront.net/art_board_sm_2.jpg)

প্রাসঙ্গিক:

-[টপকোডারদের জন্য গণিত] (https://www.topcoder.com / সম্প্রদায় / কমপিটিটিভ-প্রোগ্রামিং / টিউটোরিয়ালস / ম্যাথেমেটিক্সের জন্য-ট্যাপকোডার /) -[ডায়নামিক প্রোগ্রামিং-নোভাইস থেকে অ্যাডভান্সড] (https://www.topcoder.com/commune/competitive-pogramming/tutorials/dynamic-programming-from-novice-to-advanced/ -[এমআইটি সাক্ষাত্কার উপকরণ] (https://web.archive.org/web/20160906124824/http://courses.csail.mit.edu/iap/interview/matorys.php)

** প্রোগ্রামিং সমস্যাগুলি পড়ুন এবং করুন (এই ক্রমে): **

[উপরে বুক তালিকা] দেখুন (#বুক-তালিকা)

##কোডিং অনুশীলন / চ্যালেঞ্জ

<সংশ্লেষ> কোডিং প্রশ্ন অনুশীলন << সংক্ষিপ্ত>

একবার আপনি আপনার মস্তিষ্ক শিখে ফেললে, সেই মস্তিষ্কগুলিকে কাজে লাগান। প্রতিদিন যতটা সম্ভব কোডিং চ্যালেঞ্জ নিন।

কোডিং সাক্ষাত্কার প্রশ্ন ভিডিও: -[আইডিজার (৮৮ টি ভিডিও)] (https://www.youtube.com/watch?v=NBcqBddFbZw&list=PLamzFoFxwoNjPfxzaWqs7cZGsPYy0x_gI) -[তুষার রায় (৫ টি প্লেলিস্ট)] (https://www.youtube.com/user/tusharroy2525/playlists?shelf_id=2&view=50&sort=dd)

চ্যালেঞ্জ সাইটগুলি: -[লেটকোড] (https://leetcode.com/) -[টপকোডার] (https://www.topcoder.com/) -[প্রকল্পের এলিউর (গণিত-কেন্দ্রিক)] (https://projecteuler.net/index.php?section=problems) -[কোডওয়ারস] (http://www.codewars.com) -[হ্যাকারআর্থ] (https://www.haakerrearth.com/) -[হ্যাকারর্যাঙ্ক] (https://www.hackerrank.com/) -[কোডলিটি] (https://codility.com / প্রোগ্রামার /) -[ইন্টারভিউকেক] (https://www.interviewcake.com/) -[গিক্সের জন্য গিগস] (http://www.geeksforgeeks.org/) -[সাক্ষাত্কার বিট] (https://www.interviewbit.com) -[স্ফিয়ার অনলাইন জজ (স্পোজ)] (http://www.spoj.com/) -[কোডেফ] (https://www.codechef.com/)

চ্যালেঞ্জ রেপো: -[পাইথনে ইন্টারেক্টিভ কোডিং সাক্ষাত্কারের চ্যালেঞ্জগুলি] (https://github.com/donnemartin/interactive-coding-challenges)

মক সাক্ষাত্কার: -[গেইনলোক.কম: বড় সংস্থাগুলির মক সাক্ষাত্কার]] (http://www.gainlo.co/#!/)-আমি এটি ব্যবহার করেছি এবং এটি আমাকে ফোনের স্ক্রিন এবং সাইটে সাক্ষাত্কারের জন্য শিথিল করতে সহায়তা করেছে। -[প্র্যাম্প: সহকর্মীদের কাছ থেকে / সাথে মক সাক্ষাত্কার] (https://www.pramp.com/)-অনুশীলন সাক্ষাত্কারগুলির পিয়ার-টু-পিয়ার মডেল -[রেফড্যাশ: মক সাক্ষাত্কার এবং তাত্ক্ষণিক সাক্ষাত্কার]] (https://refdash.com/)-প্রযুক্তিবিদদের সাথে একাধিক সাক্ষাত্কার এড়িয়ে প্রার্থীদের দ্রুত ট্র্যাক করতে সহায়তা করে।

##একবার আপনি সাক্ষাত্কারের কাছাকাছি চলে আসবেন

  • কোডিং সাক্ষাত্কার সেট 2 (ভিডিও) ক্র্যাক করা: -[কোড সাক্ষাত্কারে ক্র্যাকিং] (https://www.youtube.com/watch?v=4NIb9l3imAo) -[কোডিং সাক্ষাত্কার ক্র্যাকিং-ফুলস্ট্যাক স্পিকার সিরিজ] (https://www.youtube.com/watch?v=Eg5-tdAwclo)

##আপনার সারসংকলন

-কোডিং সাক্ষাত্কার এবং ক্রমিং প্রোগ্রামিং সাক্ষাত্কারের পিছনে ক্র্যাকিং এ প্রিপ আইটেমগুলি পুনরায় শুরু দেখুন

##সাক্ষাত্কারটি কখন আসবে সে সম্পর্কে চিন্তাভাবনা করুন

নীচের আইটেমগুলির লাইন সহ আপনি পাবেন 20 টি সাক্ষাত্কারের প্রশ্ন। প্রতিটি জন্য 2-3 উত্তর আছে। আপনি অর্জন করেছেন এমন কিছু সম্পর্কে কেবল ডেটা নয়, একটি গল্প রাখুন।

-তুমি কেন এই চাকুরি চাও? -কোন কঠিন সমস্যা আপনি সমাধান করেছেন? -সবচেয়ে বড় চ্যালেঞ্জের মুখোমুখি? -সেরা / সবচেয়ে খারাপ ডিজাইন দেখা গেছে? -একটি বিদ্যমান পণ্য উন্নত করার জন্য ধারণা। -আপনি ব্যক্তিগতভাবে এবং একটি দলের অংশ হিসাবে কীভাবে সেরা কাজ করেন? -আপনার দক্ষতা বা অভিজ্ঞতাগুলির মধ্যে কোনটি ভূমিকায় সম্পদ হবে এবং কেন? -[জব x / প্রজেক্ট y] এ আপনি সবচেয়ে বেশি কী উপভোগ করেছেন? -[জব x / প্রজেক্ট y] এ আপনি যে সবচেয়ে বড় চ্যালেঞ্জের মুখোমুখি হয়েছিলেন? -আপনি [জব এক্স / প্রজেক্ট ওয়াই]-এ সবচেয়ে কঠিন বাগটি কীসের মুখোমুখি হয়েছিল? -আপনি [জব x / প্রজেক্ট y] এ কী শিখলেন? -[জব এক্স / প্রজেক্ট ওয়াই] তে আপনি কী আরও ভাল করতে পারতেন?

##সাক্ষাত্কারকারীর জন্য প্রশ্ন রয়েছে

আমার কিছু (আমি ইতিমধ্যে উত্তর জানতে পারে তবে তাদের মতামত বা দলের দৃষ্টিকোণ চাই):

-আপনার দলটি কত বড়? -আপনার দেবচক্রটি দেখতে কেমন? আপনি জলপ্রপাত / স্প্রিন্ট / চটজলটি করেন? -সময়সীমার দিকে ধাবিত হওয়া কি সাধারণ? নাকি নমনীয়তা আছে? -আপনার দলে কীভাবে সিদ্ধান্ত নেওয়া হয়? -আপনি প্রতি সপ্তাহে কত সভা? -আপনি কি মনে করেন আপনার কাজের পরিবেশ আপনাকে মনোনিবেশ করতে সহায়তা করে? -তুমি কিসের উপর কাজ করছ? -এ ব্যাপারে আপনি কি পছন্দ করেন? -কাজের জীবন কেমন?

##একবার আপনি কাজ পেয়ে যাবেন

অভিনন্দন!

শিখতে থাকুন।

আপনি সত্যিই কখনও করেনি।


************************************************** ************************************************** *
************************************************** ************************************************** *

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

************************************************** ************************************************** *
************************************************** ************************************************** *

##অতিরিক্ত বই

অতিরিক্ত বই

-[ইউনিক্স প্রোগ্রামিং পরিবেশ] (https://www.amazon.com/dp/013937681X) -একজন বয়স্ক কিন্তু গুডি -[লিনাক্স কমান্ড লাইন: একটি সম্পূর্ণ ভূমিকা] (https://www.amazon.com/dp/1593273894/) -একটি আধুনিক বিকল্প -[টিসিপি / আইপি সচিত্র সিরিজ] (https://en.wikedia.org/wiki/TCP/IP_ ইলাস্ট্রেটেড) -[প্রথম নকশার প্রধান শিরোনাম] (https://www.amazon.com/gp/product/0596007124/) -নকশা নিদর্শন একটি মৃদু ভূমিকা -[নকশার প্যাটার্নস: পুনরায় ব্যবহারযোগ্য অবজেক্ট-ওরিয়েন্টে ডি সফ্টওয়্যার এর উপাদানসমূহ] (https://www.amazon.com/ ডিজাইন-প্যাটার্নস-উপাদানসমূহ-পুনরায় ব্যবহারযোগ্য-অবজেক্ট-ওরিয়েন্টড / ডিপি / ২০১২ 36৩6363১২) -ওরফে "গ্যাং অফ ফোর" বই, বা জিওএফ -ক্যানোনিকাল ডিজাইন নিদর্শন বই -[ইউনিক্স এবং লিনাক্স সিস্টেম অ্যাডমিনিস্ট্রেশন হ্যান্ডবুক, 5 তম সংস্করণ] (https://www.amazon.com/UNIX-Linux-System-প্রশাসক-হ্যান্ডবুক/dp/0134277554/) -[অ্যালগোরিদম ডিজাইন ম্যানুয়াল] (http://www.amazon.com/Algorithm-ডিজাইন-ম্যানুয়াল-স্টিভেন-স্কিয়েনা / ডিপি / 1849967202) (স্কিয়েনা) -একটি পর্যালোচনা এবং সমস্যা স্বীকৃতি হিসাবে -অ্যালগোরিদম ক্যাটালগ অংশটি আপনি একটি সাক্ষাত্কারে পাবেন এমন অসুবিধার সুযোগের বাইরেও। -এই বইয়ের 2 টি অংশ রয়েছে: -ডেটা স্ট্রাকচার এবং অ্যালগরিদমের উপর ক্লাসের পাঠ্যপুস্তক -পেশাদার: -যে কোনও অ্যালগরিদম পাঠ্যপুস্তক যেমন হবে তেমন একটি ভাল পর্যালোচনা -শিল্প ও একাডেমিয়ার সমস্যা সমাধানের জন্য তাঁর অভিজ্ঞতা থেকে দুর্দান্ত গল্প -সি কোড কোড -কনস: -সিএলআরএসের মতো ঘন বা দুর্ভেদ্য হতে পারে এবং কিছু ক্ষেত্রে সিএলআরএস কিছু বিষয়ের জন্য আরও ভাল বিকল্প হতে পারে -অধ্যায় 7, 8, 9 অনুসরণ করার চেষ্টা করা বেদনাদায়ক হতে পারে, কারণ কিছু আইটেম ভালভাবে ব্যাখ্যা করা হয়নি বা আমার চেয়ে বেশি মস্তিষ্কের প্রয়োজন নেই -আমাকে ভুল মনে করবেন না: আমি স্কিয়েনা, তার শিক্ষার ধরন এবং পদ্ধতিগুলি পছন্দ করি তবে আমি স্টনি ব্রুকের উপাদান নাও হতে পারি। -অ্যালগরিদম ক্যাটালগ: -আপনি এই বইটি কেনার আসল কারণ। -এই অংশে পেতে। এটির মাধ্যমে একবার আমার পথ তৈরি হয়ে গেলে এখানে আপডেট হবে। -কিন্ডেল এ ভাড়া দিতে পারেন -উত্তর: -[সমাধান] (http://www.algorithm.cs.sunysb.edu/algowiki/index.php/The_Algorithms_ ডিজাইন_ ম্যানুয়াল_ (দ্বিতীয়_ সংস্করণ) -[সমাধান] (http://blog.panictank.net/category/algorithmndesignmanoutsolutions/page/2/) -[এরেতা] (http://www3.cs.stonybrook.edu/~skiena/algorist/book/errata)

-[অ্যালগরিদমের ভূমিকা] (https://www.amazon.com/Intr Productions-আলগোরিদিমস ৩ য়আর-এমআইটি-প্রেস / ডিপি/0262033844) -** গুরুত্বপূর্ণ: ** এই বইটি পড়ার কেবল মূল্য সীমিত থাকবে। এই বইটি অ্যালগরিদম এবং ডেটা স্ট্রাকচারের দুর্দান্ত পর্যালোচনা, তবে কীভাবে ভাল কোড লিখতে হয় তা শেখায় না। আপনি দক্ষতার সাথে একটি শালীন সমাধান কোড করতে সক্ষম হতে হবে। -ওরফে সিএলআর, কখনও কখনও সিএলআরএস, কারণ স্টেইন খেলায় দেরি করেছিল

-[কম্পিউটার আর্কিটেকচার, ষষ্ঠ সংস্করণ: একটি পরিমাণগত পদ্ধতির] (https://www.amazon.com/dp/0128119055) -আরও সমৃদ্ধের জন্য আরও আধুনিক (2017), তবে দীর্ঘতর চিকিত্সা

-[প্রোগ্রামিং পার্লস] (http://www.amazon.com/Programming-Pearls-2nd-জন-Bentley/dp/0201657880) -প্রথম অধ্যায় দুটি প্রোগ্রামিং সমস্যার চতুর সমাধান উপস্থাপন করে (কিছু ডেটা টেপ ব্যবহার করে খুব পুরানো) তবে এটি কেবল একটি ভূমিকা প্রোগ্রামের নকশা এবং আর্কিটেকচারের জন্য এটি একটি গাইডবুক, অনেকটা কোড কমপ্লিটের মতো, তবে আরও ছোট।

##অতিরিক্ত শিক্ষা

অতিরিক্ত পড়াশুনা <সংক্ষিপ্ত>

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

-###সংকলক

-###ইম্যাক্স এবং ভিআই (মি) -ইউনিক্স ভিত্তিক কোড সম্পাদকের সাথে নিজেকে পরিচিত করুন -vi (এম): -[ভিএম 01 সহ সম্পাদনা-ইনস্টলেশন, সেটআপ, এবং মোডগুলি (ভিডিও)] (https://www.youtube.com/watch?v=5givLEMcINQ&index=1&list=PL13bz4SHGmRxlZVmWQ9DvXo1fEg4UdGkr) -[ভিআইএম অ্যাডভেঞ্চারস] (http://vim-ad مہم.com/) -4 টি ভিডিওর সেট: -[দ্বি / ভিআইএম সম্পাদক-পাঠ 1] (https://www.youtube.com/watch?v=SI8TeVMX8pk) -[দ্বি / ভিআইএম সম্পাদক-পাঠ 2] (https://www.youtube.com/watch?v=F3OO7ZIOaEE) -[দ্বি / ভিআইএম সম্পাদক-পাঠ 3] (https://www.youtube.com/watch?v=ZYEccA_nMaI) -[দ্বি / ভিআইএম সম্পাদক-পাঠ 4] (https://www.youtube.com/watch?v=1lYD5gwgZIA) -[ইমাসের পরিবর্তে ভী ব্যবহার করা] [http://www.cs.yale.edu/homes/aspnes/classes/223/notes.html#ব্যবহার_ভি_ইনস্টিড_ও_এম্যাকস) -ইমাস: -[বুনিয়াদি ইম্যাকস টিউটোরিয়াল (ভিডিও)] (https://www.youtube.com/watch?v=hbmV1bnQ-i0) -3 সেট (ভিডিও): -[ইমাস টিউটোরিয়াল (প্রারম্ভিক)-পার্ট 1-ফাইল কমান্ড, কাট / অনুলিপি / পেস্ট করুন, কার্সার কমান্ড] (https://www.youtube.com/watch?v=ujODL7MD04Q) -[ইমাস টিউটোরিয়াল (প্রারম্ভিক)-পার্ট 2-বাফার পরিচালনা, অনুসন্ধান, এমএক্স গ্রেপ এবং আরগ্রিপ মোড] (https://www.youtube.com/watch?v=XWpsRupJ4II) -[ইমাস টিউটোরিয়াল (প্রারম্ভিক)-পর্ব 3-এক্সপ্রেশন, বিবৃতি, ~ / .emacs ফাইল এবং প্যাকেজ] (https://www.youtube.com/watch?v=paSgzPso-yc) -[এভিল মোড: বা, আমি কীভাবে উদ্বেগ বন্ধ করতে এবং ইমাসকে ভালোবাসতে শিখেছি (ভিডিও)] (https://www.youtube.com/watch?v=JWD1Fpdd4Pc) -[ইমাস সহ সি প্রোগ্রাম রচনা] [http://www.cs.yale.edu/homes/aspnes/class/223/notes.html#রাইটিং_সি_প্রগ্রাম_উইথ_এম্যাকস) -[(হতে পারে) অরগ মোড গভীরতায়: কাঠামো পরিচালনার (ভিডিও)] (https://www.youtube.com/watch?v=nsGYet02bEk)

-###ইউনিক্স কমান্ড লাইন সরঞ্জাম -আমি ভাল সরঞ্জামগুলি থেকে নীচে তালিকায় পূর্ণ করেছি।

-###তথ্য তত্ত্ব (ভিডিও)

-###সমতা এবং হামিং কোড (ভিডিও)

-###এন্ট্রপি -নীচে ভিডিও দেখুন -প্রথমে তথ্য তত্ত্বের ভিডিওগুলি নিশ্চিত করে দেখুন

  • [তথ্য তত্ত্ব, ক্লড শ্যানন, এন্ট্রপি, রিডানডেন্সি, ডেটা সংক্ষেপণ এবং বিটস (ভিডিও)] (https://youtu.be/JnJq3Py0dyM?t=176)

-###ক্রিপ্টোগ্রাফি -নীচে ভিডিও দেখুন -প্রথমে তথ্য তত্ত্বের ভিডিওগুলি নিশ্চিত করে দেখুন

-###সঙ্কোচন -প্রথমে তথ্য তত্ত্বের ভিডিওগুলি নিশ্চিত করে দেখুন

-###কম্পিউটার নিরাপত্তা -[এমআইটি (২৩ টি ভিডিও)] (https://www.youtube.com/playlist?list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) - [ভূমিকা, হুমকির মডেল] (https://www.youtube.com/watch?v=GqmQg-cszw4&index=1&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) - [হাইজ্যাকিং আক্রমণকে নিয়ন্ত্রণ করুন] (https://www.youtube.com/watch?v=6bwzNg5qQ0o&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=2) - [বাফার ওভারফ্লো শোষণ এবং প্রতিরক্ষা] (https://www.youtube.com/watch?v=drQyrzRoRiA&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=3) - [প্রিভিলেজ বিচ্ছেদ] (https://www.youtube.com/watch?v=6SIJmoE9L9g&index=4&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) - [সক্ষমতা] (https://www.youtube.com/watch?v=8VqTSY-11F4&index=5&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) - [স্যান্ডবক্সিং নেটিভ কোড] (https://www.youtube.com/watch?v=VEV74hwASeU&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh&index=6) - [ওয়েব সুরক্ষা মডেল] (https://www.youtube.com/watch?v=chkFBigodIw&index=7&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) - [ওয়েব অ্যাপ্লিকেশনগুলি সুরক্ষিত করা] (https://www.youtube.com/watch?v=EBQIGy1ROLY&index=8&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) - [সিম্বলিক এক্সিকিউশন] (https://www.youtube.com/watch?v=yRVZPvHYHzw&index=9&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) - [নেটওয়ার্ক সুরক্ষা] (https://www.youtube.com/watch?v=SIEVvk3NVuk&index=11&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) - [নেটওয়ার্ক প্রোটোকল] (https://www.youtube.com/watch?v=QOtA76ga_fY&index=12&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh) - [সাইড-চ্যানেল আক্রমণগুলি) (https://www.youtube.com/watch?v=PuVMkSEcPiI&index=15&list=PLUl4u3cNGP62K2DjQLRxDNRi0z2IRWnNh)

-###আবর্জনা সংগ্রহ

-###সমান্তরাল প্রোগ্রামিং

-###মেসেজিং, সিরিয়ালাইজেশন এবং কুইউিং সিস্টেম

-###এ *

-###ফাস্ট ফোরিয়ার ট্রান্সফর্ম

-###ব্লুম ফিল্টার -এম বিট এবং কে হ্যাশিং ফাংশন সহ একটি ব্লুম ফিল্টার দেওয়া, সন্নিবেশ এবং সদস্যপদ পরীক্ষা উভয়ই হ'ল (কে) -[ব্লুম ফিল্টার (ভিডিও)] (https://www.youtube.com/watch?v=-SUTGoFYjZs) -[ব্লুম ফিল্টার | ম্যাসিভ ডেটাসেটের খনন | স্ট্যানফোর্ড বিশ্ববিদ্যালয় (ভিডিও)] (https://www.youtube.com/watch?v=qBTdukbzc78) -[টিউটোরিয়াল] (http://billmill.org/bloomfilter-tutorial/) -[ব্লুম ফিল্টার অ্যাপ কীভাবে লিখবেন] (http://blog.michaelschmatz.com/2016/04/11/how-to-write-a-bloom-filter-cpp/)

-###হাইপারলগলগ -[কেবল মাত্র 1.5 কেবি মেমরি ব্যবহার করে এক বিলিয়ন স্বতন্ত্র বিষয়গুলি কীভাবে গণনা করতে হবে) (http://highscalability.com/blog/2012/4/5/big-data-counting-how-to-count-a-billion-distinct-objects-us.html)

-###লোকালয়-সংবেদনশীল হ্যাশিং -নথির সাদৃশ্য নির্ধারণ করতে ব্যবহৃত -MD5 বা SHA এর বিপরীত যা 2 টি নথি / স্ট্রিং ঠিক একই কিনা তা নির্ধারণ করতে ব্যবহৃত হয়। -[সিমহাশিং (আশাবাদী) সহজ করে]] (http://ferd.ca/simhashing-hopefully-made-simple.html)

-###ভ্যান এমডে বোস ট্রি

-###সংযুক্ত ডেটা কাঠামো

-###ভারসাম্যযুক্ত অনুসন্ধান গাছ -কমপক্ষে এক ধরণের সুষম বাইনারি ট্রি জানুন (এবং এটি কীভাবে প্রয়োগ করা হয় তা জানুন): -"সুষম অনুসন্ধান গাছগুলির মধ্যে, এভিএল এবং ২/৩ টি গাছ এখন পাস é এবং লাল-কালো গাছগুলি আরও জনপ্রিয় বলে মনে হচ্ছে। একটি বিশেষ আকর্ষণীয় স্ব-সংগঠিত ডেটা কাঠামো হ'ল স্প্লে ট্রি, যা ঘূর্ণন ব্যবহার করে যে কোনও অ্যাক্সেসযুক্ত কীটি রুটে নিয়ে যেতে ""-স্কিয়েনা -এর মধ্যে আমি একটি স্প্লে গাছকে বাস্তবায়ন করতে বেছে নিয়েছি। আমি যা পড়েছি তা থেকে আপনি একটি বাস্তবায়ন করবেন না আপনার সাক্ষাত্কারে ভারসাম্যযুক্ত অনুসন্ধান গাছ। তবে আমি একটি আপ কোডিং এক্সপোজার চেয়েছিলেন এবং আসুন এটির মুখোমুখি হওয়া, স্প্লে গাছগুলি মৌমাছির হাঁটু। আমি প্রচুর লাল-কালো গাছের কোডটি পড়েছি। -স্প্লে ট্রি: সন্নিবেশ, অনুসন্ধান, ফাংশন মুছুন যদি আপনি লাল / কালো গাছ প্রয়োগ করে শেষ করেন তবে এইগুলি ব্যবহার করে দেখুন: -অনুসন্ধান এবং সন্নিবেশ ফাংশন, মুছুন এড়ানো -আমি বি-ট্রি সম্পর্কে আরও জানতে চাই যেহেতু এটি খুব বড় ডেটা সেটগুলির সাথে এত ব্যাপকভাবে ব্যবহৃত হয়।

  • [স্ব-ভারসাম্য বাইনারি অনুসন্ধান বৃক্ষ] (https://en.wikedia.org/wiki/S سیل-ব্যালেন্সিং_বাইনারি_সার্চ_ট্রি)

  • ** এভিএল গাছ ** -প্রস্তুতিতে: আমি যা বলতে পারি, সেগুলি থেকে অনুশীলনে এগুলি বেশি ব্যবহার করা হয় না, তবে আমি দেখতে পেতাম তারা কোথায় থাকবে: এভিএল ট্রি ও (লগ এন) অনুসন্ধান, সন্নিবেশ এবং অপসারণকে সমর্থনকারী আরেকটি কাঠামো। এটি আরও কঠোরভাবে হয় লাল – কালো গাছের চেয়ে সুষম, ধীরে ধীরে সন্নিবেশ এবং অপসারণ কিন্তু দ্রুত পুনরুদ্ধারের দিকে পরিচালিত করে। এটি এটি তোলে ডেটা স্ট্রাকচারের জন্য আকর্ষণীয় যা একবারে তৈরি করা যেতে পারে এবং ভাষা যেমন পুনর্গঠন ছাড়াই লোড করা যেতে পারে অভিধানগুলি (বা প্রোগ্রামের অভিধান, যেমন কোনও এসেম্বলার বা দোভাষীর অপকডস)।

  • ** গাছ স্প্লে ** -প্রস্তুতিতে: স্প্লে গাছগুলি সাধারণত ক্যাশে, মেমরি বরাদ্দকারী, রাউটার, আবর্জনা সংগ্রহকারী, উইন্ডোজ এনটি-তে (ভার্চুয়াল মেমরির মধ্যে, ডেটা সংক্ষেপণ, দড়ি (দীর্ঘ পাঠ্য স্ট্রিংয়ের জন্য ব্যবহৃত স্ট্রিংয়ের প্রতিস্থাপন)) নেটওয়ার্কিং এবং ফাইল সিস্টেম কোড) ইত্যাদি

  • ** লাল / কালো গাছ ** -এটি একটি 2-3 গাছের অনুবাদ (নীচে দেখুন) -প্রস্তুতিতে: লাল – কালো গাছগুলি সন্নিবেশের সময়, মোছার সময় এবং অনুসন্ধানের সময়ের জন্য সবচেয়ে খারাপ গ্যারান্টি সরবরাহ করে। এটি কেবল তাদেরকে সময়-সংবেদনশীল অ্যাপ্লিকেশন যেমন রিয়েল-টাইম অ্যাপ্লিকেশনগুলিতে মূল্যবান করে তোলে না, তবে এটি তাদের অন্যান্য ডেটা স্ট্রাকচারগুলিতে মূল্যবান বিল্ডিং ব্লক করে তোলে যা সবচেয়ে খারাপ ক্ষেত্রে গ্যারান্টি সরবরাহ করে; উদাহরণস্বরূপ, গণনা জ্যামিতিতে ব্যবহৃত অনেক ডেটা স্ট্রাকচারগুলি লাল – কালো গাছের উপর ভিত্তি করে এবং বর্তমান লিনাক্স কার্নেলগুলিতে ব্যবহৃত সম্পূর্ণ ফেয়ার সিডিউলার লাল-কালো গাছ ব্যবহার করে। জাভার 8 সংস্করণে, সংগ্রহের হ্যাশম্যাপটি এমনভাবে সংশোধন করা হয়েছে যে দুর্বলদের সাথে অভিন্ন উপাদানগুলি সংরক্ষণ করতে লিংকডলিস্ট ব্যবহার না করে হ্যাশকোডস, একটি লাল-কালো গাছ ব্যবহৃত হয়।

  • ** ২-৩ টি অনুসন্ধান গাছ ** -প্রস্তুতিতে: ধীরে ধীরে অনুসন্ধানের ব্যয়ে 2-3 টি গাছে দ্রুত সন্নিবেশ থাকে (যেহেতু এভিএল গাছের তুলনায় উচ্চতা বেশি)। -আপনি খুব সহজেই 2-3 গাছ ব্যবহার করবেন কারণ এর প্রয়োগে নোডের বিভিন্ন ধরণের জড়িত। পরিবর্তে লোকে লোহিত কালো গাছ ব্যবহার করে।

  • ** ২-৩-৪ টি গাছ (ওরফ ২-৪ টি গাছ) ** -প্রস্তুতিতে: প্রতি 2-4 টি গাছের জন্য, একই ক্রমে ডেটা উপাদানগুলির সাথে সম্পর্কিত লাল – কালো গাছ রয়েছে। সন্নিবেশ এবং মোছা 2-4 টি গাছের ক্রিয়াকলাপগুলি রঙ-ফ্লিপিং এবং লাল-কালো গাছে ঘূর্ণনের সমতুল্য। এটি 2-4 গাছ একটি করে লাল-কালো গাছগুলির পিছনে যুক্তি বোঝার জন্য গুরুত্বপূর্ণ সরঞ্জাম এবং এ কারণেই অনেক সূচনা অ্যালগরিদম পাঠগুলি প্রবর্তন করে লাল-কালো গাছের ঠিক আগে 2-4 টি গাছ, যদিও ** 2-4 টি গাছ সাধারণত অনুশীলনে ব্যবহৃত হয় না **।

  • ** এন-অ্যারি (কে-আরি, এম-আরি) গাছগুলি ** -দ্রষ্টব্য: এন বা কে শাখা প্রশাখার উপাদান (সর্বাধিক শাখা) -বাইনারি গাছগুলি একটি 2-অ্যারি গাছ, যার শাখা ফ্যাক্টর = 2 থাকে -2-3 গাছ 3-ary হয়

  • ** বি-ট্রিস ** -মজার ঘটনা: এটি একটি রহস্য, তবে বি বোয়িং, ভারসাম্যহীন বা বায়ারের পক্ষে (সহ-উদ্ভাবক) দাঁড়াতে পারে -প্রস্তুতিতে: বি-ট্রিগুলি ডেটাবেজে ব্যাপকভাবে ব্যবহৃত হয়। বেশিরভাগ আধুনিক ফাইল সিস্টেমগুলি বি-ট্রি (বা ভেরিয়েন্ট) ব্যবহার করে। এ ছাড়াও ডাটাবেসগুলিতে এর ব্যবহার, বি-ট্রি ফাইল সিস্টেমে একটি স্বতন্ত্রভাবে দ্রুত এলোমেলো অ্যাক্সেসের জন্য ব্যবহৃত হয় allow একটি নির্দিষ্ট ফাইল ব্লক। মূল সমস্যাটি হ'ল ফাইল ব্লক আই ঠিকানাটিকে ডিস্ক ব্লকে পরিণত করে into (বা সম্ভবত একটি সিলিন্ডার-মাথা-সেক্টর) ঠিকানা।

-###কেডি গাছ -একটি আয়তক্ষেত্র বা উচ্চ মাত্রার অবজেক্টে পয়েন্ট সংখ্যা সন্ধানের জন্য দুর্দান্ত -কে-নিকটতম প্রতিবেশীদের জন্য ভাল ফিট

-###তালিকা বাদ দিন -"এগুলি কিছুটা কাল্ট ডেটা কাঠামো"-স্কিয়েনা

-###নেটওয়ার্ক প্রবাহ

-###অসম্পূর্ণ সেট ও ইউনিয়ন অনুসন্ধান করুন

-###দ্রুত প্রক্রিয়াজাতকরণের জন্য গণিত

-###ট্রেপ -একটি বাইনারি অনুসন্ধান গাছ এবং একটি গাদা সংমিশ্রণ

-###লিনিয়ার প্রোগ্রামিং (ভিডিও)

-###জ্যামিতি, উত্তল হাল (ভিডিও)

-###স্বতন্ত্র গণিত -নীচে ভিডিও দেখুন

-###মেশিন লার্নিং


##কিছু বিষয় সম্পর্কে অতিরিক্ত বিশদ

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

-[ ] শ্রেণীবিভাজন

##ভিডিও সিরিজ

ফিরে বসে উপভোগ করুন। "নেটফ্লিক্স এবং দক্ষতা": পি

<সুমারী> ভিডিও সিরিজ

##কম্পিউটার সায়েন্স কোর্স

-[অনলাইন সিএস কোর্সগুলির ডিরেক্টরি] (https://github.com/open-source-sociversity/computer-s विज्ञान) -[সিএস কোর্সের ডিরেক্টরী (অনেকগুলি অনলাইন লেকচার সহ)] (https://github.com/prakhar1989/awesome-courses)

##কাগজপত্র

পেপারস

-[ক্লাসিক কাগজগুলি ভালবাসেন?] (Https://www.cs.cmu.edu/~crary/819-f09/)

##লাইসেন্স

[সিসি-বাই-এসএ-4.0] (./ LICENSE.txt)