Skip to content

Latest commit

 

History

History
2233 lines (1828 loc) · 267 KB

File metadata and controls

2233 lines (1828 loc) · 267 KB

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

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

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

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

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

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

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

এটি কি

Coding at the whiteboard - from HBO's Silicon Valley

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

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

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

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


সুচিপত্র

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

git clone git@github.com:<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 :: লিঙ্কযুক্ত তালিকার জন্য তালিকা ব্যবহার করে
  • পাইথন-অন্তর্নির্মিত প্রকারগুলি (পাইথনের অনুশীলন চালিয়ে যেতে) ব্যবহার করে
  • এবং আমি এটি সঠিকভাবে করছি তা নিশ্চিত করার জন্য পরীক্ষাগুলি লিখুন, কখনও কখনও কেবল সাধারণ দাবী () বিবৃতি ব্যবহার করে
  • আপনি জাভা বা অন্য কিছু করতে পারেন, এটি কেবল আমার জিনিস।

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

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

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

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

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

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

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

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

  • কম্পিউটার কীভাবে কোনও প্রোগ্রাম প্রক্রিয়া করে:

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


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

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

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

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

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

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

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

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

  • সমস্যা শনাক্তকরণ, এবং যেখানে সঠিক ডেটা স্ট্রাকচার এবং অ্যালগরিদমগুলি ফিট করে৷
  • সমস্যার জন্য দরকারী জিনিস সংগ্রহ করা
  • ইন্টারভিউতে আপনার মতন সমস্যার মধ্য দিয়ে কথা বলা
  • একটি হোয়াইটবোর্ড বা কাগজে কোডিং, কম্পিউটার নয়
  • আপনার সমাধানের জন্য সময় এবং স্থান জটিলতা নিয়ে আসছে (নীচে 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.youtube.com/watch?v=kPRA0W1kECg) এর ভিজ্যুয়াল উপস্থাপনা রয়েছে। আপনার যদি এই বিষয়ে আরও বিশদ প্রয়োজন, [কিছু বিষয়ের উপর অতিরিক্ত বিশদ] এর "বাছাই করা" বিভাগটি দেখুন (কিছু বিষয়ে-কিছু-অতিরিক্ত-বিশদ)

গ্রাফ

গ্রাফ

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

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

আরও জ্ঞান

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

প্রাসঙ্গিক:

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

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

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

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

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

কোডিং সাক্ষাত্কার প্রশ্ন ভিডিও:

চ্যালেঞ্জ সাইটগুলি:

চ্যালেঞ্জ রেপো:

মক সাক্ষাত্কার:

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

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

  • কোডিং সাক্ষাত্কার সেট 2 (ভিডিও) ক্র্যাক করা:

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

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

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

নীচের আইটেমগুলির লাইন সহ আপনি পাবেন 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://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)

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

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

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

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


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

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

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

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

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

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

##কাগজপত্র

পেপারস

লাইসেন্স

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