Skip to content

Latest commit

 

History

History
2156 lines (1779 loc) · 257 KB

File metadata and controls

2156 lines (1779 loc) · 257 KB

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

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

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

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

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

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

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

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

##এটা কি?

Coding at the whiteboard - from HBO's Silicon Valley

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

অপরিহার্যঃ

  • কোডিং নিয়ে একটু অভিজ্ঞতা (variables, loops, methods/functions, etc)
  • ধৈর্য
  • সময়

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


সুচিপত্র

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

অধ্যয়নের বিষয়

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

অতিরিক্ত সংস্থান

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


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

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

আপনি যদি কম্পিউটার সায়েন্সে ডিগ্রী পেতে মিস করেন, যেমন আমি করেছি, এটি আপনাকে ধরবে এবং আপনার জীবনের চার বছর বাঁচাবে।

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

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

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

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

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

যদি আপনি গিট ব্যবহার করতে না চান

এই পৃষ্ঠায়, উপরের দিকের কোড বোতামে ক্লিক করুন, তারপর "Download ZIP" এ ক্লিক করুন। ফাইলটি আনজিপ করুন এবং আপনি পাঠ্য ফাইলগুলির সাথে কাজ করতে পারেন।

আপনি যদি মার্কডাউন বোঝে এমন একটি কোড এডিটরে খোলা থাকেন, তাহলে আপনি সবকিছু সুন্দরভাবে ফরম্যাট করা দেখতে পাবেন।

কিভাবে একটি জিপ ফাইল হিসাবে রেপো ডাউনলোড করবেন

যদি আপনি গিট ব্যবহার করতে চান

  1. গিটহাব রেপো ফোর্ক করুনঃ https://github.com/jwasham/coding-interview-university by clicking on the Fork button.

    গিটহাব রেপো ফোর্ক করুন

  2. আপনার লোকাল রেপোতে ক্লোন করুনঃ

    git clone [email protected]:<your_github_username>/coding-interview-university.git
    cd coding-interview-university
    git checkout -b progress
    git remote add jwasham https://github.com/jwasham/coding-interview-university
    git fetch --all
    
  3. আপনি আপনার পরিবর্তনগুলি সম্পূর্ণ করার পরে X দিয়ে সমস্ত বাক্স চিহ্নিত করুনঃ

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

মনে হয় না আপনি যথেষ্ট স্মার্ট নন

-সফল সফ্টওয়্যার ইঞ্জিনিয়াররা স্মার্ট, তবে অনেকেরই এমন নিরাপত্তাহীনতা রয়েছে যে তারা যথেষ্ট স্মার্ট নয়।

ভিডিও সংস্থান সম্পর্কে

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

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

একটি প্রোগ্রামিং ভাষা চয়ন করুন

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

পছন্দের ভাষা একই হবে, যাতে আপনাকে শুধুমাত্র একটিতে দক্ষ হতে হবে।

এই স্টাডি প্ল্যানের জন্য

যখন আমি অধ্যয়নের পরিকল্পনাটি করেছি, তখন আমি এর বেশিরভাগের জন্য 2টি ভাষা ব্যবহার করেছি: সি এবং পাইথন

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

এই আমার পছন্দ। আপনি অবশ্যই যা পছন্দ করেন তাই করেন।

আপনার এটির প্রয়োজন নাও হতে পারে, তবে একটি নতুন ভাষা শেখার জন্য এখানে কিছু সাইট রয়েছে:

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

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

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

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

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

এখানে একটি নিবন্ধটি আমি সাক্ষাত্কারের জন্য একটি ভাষা বেছে নেওয়ার বিষয়ে লিখেছি: কোডিং সাক্ষাত্কারের জন্য একটি ভাষা বেছে নিন এই মূল নিবন্ধটি আমার পোস্টের উপর ভিত্তি করে ছিল: সাক্ষাৎকারের জন্য একটি প্রোগ্রামিং ভাষা নির্বাচন করা

আপনার ভাষায় খুব স্বাচ্ছন্দ্য বোধ করা এবং বুদ্ধিমান হওয়া দরকার।

পছন্দ সম্পর্কে আরও পড়ুন:

ভাষা ভিত্তিক উৎসগুলো দেখুন

ডেটা স্ট্রাকচার এবং অ্যালগরিদমের জন্য বই

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

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

সি

পাইথন

জাভা

আপনার পছন্দ:

সি++

আপনার পছন্দ:

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

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

আমি এই দুটি কিনলাম। তারা আমাকে প্রচুর অনুশীলন দিয়েছে।

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

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

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

আমার মত ভুল করবেন না

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

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

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

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

অনুগ্রহ করে পড়ুন যাতে আপনি আমার ভুল করবেন না:

Retaining Computer Science Knowledge.

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

সমস্যা সমাধানের জন্য, আমি একটি ছোট ফ্ল্যাশকার্ড সাইট তৈরি করেছি যেখানে আমি 2 ধরনের ফ্ল্যাশকার্ড যোগ করতে পারি: সাধারণ এবং কোড। প্রতিটি কার্ড আলাদা ফরম্যাটিং আছে। আমি একটি মোবাইল-প্রথম ওয়েবসাইট তৈরি করেছি, যাতে আমি যেখানেই থাকি না কেন আমার ফোন বা ট্যাবলেটে পর্যালোচনা করতে পারি৷

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

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

কিন্তু আপনি যদি আমার কথা শুনতে না চান তবে এখানে যান:

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

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

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

আনকি ফরম্যাটে আমার ফ্ল্যাশকার্ড ডাটাবেজ: https://ankiweb.net/shared/info/25173560 (thanks @xiewenya).

কিছু ছাত্র ফাকা স্থানের সাথে বিন্যাস সংক্রান্ত সমস্যাগুলি উল্লেখ করেছে যা নিম্নলিখিতগুলি করে ঠিক করা যেতে পারে: ডেক খুলুন, কার্ড সম্পাদনা করুন, কার্ডগুলিতে ক্লিক করুন, "স্টাইলিং" রেডিও বোতাম নির্বাচন করুন, সদস্য যোগ করুন "হোয়াইট-স্পেস: প্রি;" কার্ড ক্লাসে।

3. আপনি শেখার সময় কোডিং ইন্টারভিউ প্রশ্ন করুন

এই অত্যন্ত গুরুত্বপূর্ণ.

আপনি ডেটা স্ট্রাকচার এবং অ্যালগরিদম শেখার সময় কোডিং ইন্টারভিউ প্রশ্ন করা শুরু করুন।

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

একবার আপনি একটি বিষয় শিখে গেলে, এবং এটির সাথে কিছুটা স্বাচ্ছন্দ্য বোধ করেন, উদাহরণস্বরূপ, লিঙ্ক করা তালিকা: ১. coding interview books (বা কোডিং সমস্যা ওয়েবসাইট, নীচে তালিকাভুক্ত) একটি খুলুন ২. লিঙ্ক করা তালিকা সম্পর্কিত ২ বা ৩ প্রশ্ন করুন। ৩. পরবর্তী শেখার বিষয়ে যান। ৪. পরে, ফিরে যান এবং আরও ২ বা ৩ লিঙ্কযুক্ত তালিকা সমস্যাগুলি করুন৷ ৫. আপনি শেখা প্রতিটি নতুন বিষয়ের সাথে এটি করুন।

আপনি এই সমস্ত জিনিস শেখার সময় সমস্যা করতে থাকুন, পরে নয়।

আপনাকে জ্ঞানের জন্য নিয়োগ করা হচ্ছে না, তবে আপনি কীভাবে জ্ঞান প্রয়োগ করবেন।

এই জন্য অনেক সম্পদ আছে, নীচে তালিকাভুক্ত। সামনে আগাতে থাকুন।

4. ফোকাস করুন

মূল্যবান সময় নিতে পারে যে বিভ্রান্তি অনেক আছে. ফোকাস এবং একাগ্রতা কঠিন। কিছু সঙ্গীত চালু করুন গান ছাড়া এবং আপনি বেশ ভাল ফোকাস করতে সক্ষম হবেন।

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

কোডিং সমস্যা

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

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

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

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

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

চল শুরু করি

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

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

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

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

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

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

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

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

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

<সংশ্লেটি> ডেটা স্ট্রাকচার

-###অ্যারে -একটি স্বয়ংক্রিয় আকার পরিবর্তনকারী ভেক্টর প্রয়োগ করুন।

  • বিবরণ: -[অ্যারে (ভিডিও)] (https://www.coursera.org/learn/data-structures/ নির্বাচন //sBSF/arrays) -[ইউসি বার্কলে সিএস 61 বি-লিনিয়ার এবং মাল্টি-ডিম অ্যারে (ভিডিও)] (https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE) (15m 32s থেকে দেখা শুরু করুন) -[ডাইনামিক অ্যারে (ভিডিও)] (https://www.coursera.org/learn/data-structures/lecture/EwbnV/dynamic-arrays) -[জেগড অ্যারে (ভিডিও)] (https://www.youtube.com/watch?v=1jtrQqYpt7g)
  • একটি ভেক্টর প্রয়োগ করুন (স্বয়ংক্রিয় আকার পুনরায় আকারের সাথে পরিবর্তনীয় অ্যারে):
    • অ্যারে এবং পয়েন্টার ব্যবহার করে কোডিং অনুশীলন করুন, এবং সূচক ব্যবহারের পরিবর্তে সূচীতে ঝাঁপ দেওয়ার জন্য পয়েন্টার ম্যাথ th
    • বরাদ্দ মেমরি সহ নতুন কাঁচা ডেটা অ্যারে -হুডের অধীনে ইন অ্যারে বরাদ্দ করতে পারে, কেবল তার বৈশিষ্ট্যগুলি ব্যবহার করবেন না -16 দিয়ে শুরু করুন, বা যদি শুরুর সংখ্যাটি বেশি হয় তবে 2-16, 32, 64, 128 এর শক্তি ব্যবহার করুন
    • আকার ()-আইটেমের সংখ্যা
    • ক্ষমতা ()-এটি ধরে রাখতে পারে এমন আইটেমের সংখ্যা -[ ] খালি()
    • এ (সূচক)-প্রদত্ত সূচকে আইটেমটি ফেরত দেয়, সূচক সীমা ছাড়িয়ে গেলে ফুটিয়ে উঠে
    • ধাক্কা (আইটেম)
    • সন্নিবেশ (সূচক, আইটেম)-সূচীতে আইটেম সন্নিবেশ করায়, সূচকের মান এবং পিছনের উপাদানগুলি ডানদিকে সরিয়ে দেয়
    • প্রিপেন্ড (আইটেম)-উপরে সূচক 0 এ সন্নিবেশ ব্যবহার করতে পারেন
    • পপ ()-শেষ থেকে সরান, ফেরতের মান
    • মুছুন (সূচী)-সূচি অনুসারে আইটেম মুছুন, সমস্ত অনুবর্তনীয় উপাদান বাম দিকে সরিয়ে
    • সরান (আইটেম)-মান সন্ধান করে এবং এটি ধরে রাখা সূচকটি সরিয়ে দেয় (এমনকি একাধিক জায়গায় থাকলেও)
    • সন্ধান করুন (আইটেম)-মানটির সন্ধান করে এবং সেই মানটির সাথে প্রথম সূচকটি প্রদান করে,-১ পাওয়া না গেলে
    • পুনরায় আকার দিন (নতুন_ক্ষমতা) // ব্যক্তিগত ফাংশন -যখন আপনি সক্ষমতা পৌঁছেছেন, আকার দ্বিগুণ করার জন্য পুনরায় আকার দিন -কোনও আইটেমটি পপ করার সময়, আকারটি যদি 1/4 ধারণক্ষমতা হয় তবে আকারটি অর্ধেক করুন
  • সময় -ও (1) শেষে অন্তর্ভুক্ত / অপসারণ (আরও স্থানের জন্য বরাদ্দের জন্য সূক্ষ্ম), সূচক বা আপডেট -ও (এন) অন্যত্র সন্নিবেশ / অপসারণ করতে
  • স্পেস -স্মৃতিতে সামঞ্জস্যপূর্ণ তাই নৈকট্য পারফরম্যান্সে সহায়তা করে -স্থান প্রয়োজন = (অ্যারে ক্ষমতা, যা> = এন) * আইটেমের আকার, তবে 2n হলেও এখনও হে (এন)

-###লিঙ্কযুক্ত তালিকাগুলি

  • বিবরণ:
  • [সি কোড (ভিডিও)] (https://www.youtube.com/watch?v=QN6FPiD0Gzo) -পুরো ভিডিও নয়, নোড স্ট্রাক্ট এবং মেমরির বরাদ্দ সম্পর্কে কেবল অংশ।
  • লিঙ্কযুক্ত তালিকা বনাম অ্যারে: -[কোর লিঙ্কযুক্ত তালিকা বনাম অ্যারেগুলি (ভিডিও)] (https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/rjBs9/core-linked-lists-vs-arrays) -[রিয়েল ওয়ার্ল্ডের লিঙ্কযুক্ত তালিকায় বনাম অ্যারেগুলি (ভিডিও)] (https://www.coursera.org/learn/data-structures-optimizing-performance/lecture/QUaUd/in-the-real-world-lists-vs-arrays)
  • [কেন আপনার লিঙ্কযুক্ত তালিকাগুলি (ভিডিও) এড়ানো উচিত]] (https://www.youtube.com/watch?v=YQs6IC-vgmo)
  • গোটচা: আপনার পয়েন্টার জ্ঞানের জন্য পয়েন্টার প্রয়োজন: (আপনি যখন কোনও ফাংশনটিতে কোনও পয়েন্টার পাস করেন যা ঠিকানা পরিবর্তন করতে পারে যেখানে সেই পয়েন্টারটি নির্দেশ করে) এই পৃষ্ঠাটি কেবল পিটিআর থেকে পিটিআর এ উপলব্ধি পেতে। আমি এই তালিকাটি ট্র্যাভার্সাল স্টাইলের প্রস্তাব দিই না। পড়ার যোগ্যতা এবং রক্ষণাবেক্ষণযোগ্যতা চতুরতার কারণে ভোগে। -[পয়েন্টারগুলিতে নির্দেশক] (https://www.eskimo.com/~scs/cclass/int/sx8.html)
  • বাস্তবায়ন করুন (আমি টেইল পয়েন্টার দিয়ে ও ছাড়াই করেছি):
    • আকার ()-তালিকায় ডাটা উপাদানগুলির সংখ্যা প্রদান করে
    • খালি ()-শূন্য হলে বুল সত্য দেয়
    • মান_আট (সূচক)-নবম আইটেমটির মান প্রদান করে (প্রথমটির জন্য 0 থেকে শুরু করে)
    • পুশ_ফ্রন্ট (মান)-তালিকার সামনের অংশে একটি আইটেম যুক্ত করে
    • পপ_ফ্রন্ট ()-সামনের আইটেমটি সরিয়ে তার মানটি ফিরিয়ে দিন
    • পুশ_ব্যাক (মান)-শেষে একটি আইটেম যুক্ত করে
    • পপ_ব্যাক ()-শেষ আইটেমটি সরিয়ে দেয় এবং এর মান প্রদান করে
    • সামনের ()-সামনের আইটেমটির মান পান
    • ফিরে ()-শেষ আইটেমটির মান পান
    • সন্নিবেশ (সূচক, মান)-সূচকে মূল্য সন্নিবেশ করানো হয়, সুতরাং সেই সূচীতে বর্তমান আইটেমটি সূচীতে নতুন আইটেম দ্বারা নির্দেশিত
    • মুছুন (সূচক)-প্রদত্ত সূচকে নোড সরান s
    • মান_ন_ফ্রম_েন্ড (এন)-তালিকার শেষে থেকে নবম অবস্থানে নোডের মান প্রদান করে
    • বিপরীত ()-তালিকার বিপরীতে
    • সরান_মূল্য (মান)-এই মান সহ তালিকার প্রথম আইটেমটি সরিয়ে দেয়
  • দ্বিগুণভাবে সংযুক্ত তালিকা -[বিবরণ (ভিডিও)] (https://www.coursera.org/learn/data-structures/lecture/jpGKD/doubly-linked-lists) -বাস্তবায়নের দরকার নেই

-###স্ট্যাক

-###কিউ

  • [সারি (ভিডিও)] (https://www.coursera.org/lecture/data-structures/queues-EShpq)
  • [বিজ্ঞপ্তি বাফার / ফিফো] (https://en.wikedia.org/wiki/Circular_buffer)
  • লেজ পয়েন্টার সহ লিঙ্কযুক্ত-তালিকা ব্যবহার করে প্রয়োগ করুন: -এনকুই (মান)-লেজের স্থানে মান যোগ করে -ডেকিউ ()-মান ফেরত দেয় এবং সর্বশেষে যুক্ত হওয়া উপাদান (সামনে) সরিয়ে দেয় -খালি ()
  • স্থির আকারের অ্যারে ব্যবহার করে প্রয়োগ করুন: -এনকুই (মান)-উপলব্ধ স্টোরেজ শেষে আইটেম যুক্ত করে -ডেকিউ ()-মান প্রদান করে এবং সম্প্রতি যুক্ত হওয়া উপাদানকে সরিয়ে দেয় -খালি () -সম্পূর্ণ()
  • খরচ: -লিঙ্কযুক্ত তালিকার সাহায্যে একটি খারাপ বাস্তবায়ন যেখানে আপনি মাথার দিকে 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) -ডিএফএস নোট: -সময়ের জটিলতা: ও (এন) -স্থান জটিলতা: সেরা: ও (লগ এন)-গড়। গাছের উচ্চতা সবচেয়ে খারাপ: ও (এন) -অর্ডার (ডিএফএস: বাম, স্ব, ডান) -পোস্টর্ডার (ডিএফএস: বাম, ডান, স্ব) -প্রির্ডার (ডিএফএস: স্ব, বাম, ডান)

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

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

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

বাছাইকরণ

-[ ] নোট: -প্রকারভেদ প্রয়োগ করুন এবং সর্বোত্তম কেস / নিকৃষ্টতম কেস, প্রত্যেকের গড় জটিলতা জানেন: -কোনও বুদ্বুদ বাছাই নয়-এটি ভয়ানক-হে (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)