Failed to render content. Please refresh the page. Showing plain-text fallback.
"@/components/CTA" থেকে CTA আমদানি করুন
টেকনিক্যাল ইন্টারভিউ প্রশ্ন: সমাধান এবং উদাহরণ সহ সম্পূর্ণ গাইড (2025)
সর্বশেষ আপডেট: ফেব্রুয়ারী 6, 2025
কী টেকওয়ে
- প্রযুক্তিগত সাক্ষাত্কারগুলি সমস্যা সমাধান, কোডিং দক্ষতা এবং সিস্টেম ডিজাইন জ্ঞানের মূল্যায়ন করে
- সমাধান কোডিং করার আগে সমস্যাগুলি বোঝার দিকে মনোনিবেশ করুন
- আপনার চিন্তাভাবনা প্রক্রিয়া এবং পদ্ধতিটি স্পষ্টভাবে ব্যাখ্যা করুন
সাধারণ ডেটা স্ট্রাকচার এবং অ্যালগরিদম নিয়মিত অনুশীলন করুন।
- আপনার সমাধানগুলিতে সময় এবং স্থানের জটিলতা বিবেচনা করুন
🎯 প্রো টিপ: প্রযুক্তিগত সাক্ষাত্কারগুলি আপনার সমস্যা সমাধানের প্রক্রিয়াটি প্রদর্শন করার বিষয়ে, কেবল সঠিক উত্তর পাওয়া নয়। সাক্ষাত্কারকারীরা দেখতে চান যে আপনি কীভাবে চিন্তা করেন, জটিল সমস্যাগুলির কাছে যান এবং প্রযুক্তিগত ধারণাগুলি স্পষ্টভাবে যোগাযোগ করেন।
টেকনিক্যাল ইন্টারভিউ বোঝা
টেকনিক্যাল ইন্টারভিউ আপনার প্রোগ্রামিং দক্ষতা, সমস্যা সমাধানের ক্ষমতা, অ্যালগরিদমিক চিন্তাভাবনা এবং প্রযুক্তিগত জ্ঞানের মূল্যায়ন করে। এগুলি সাধারণত কোডিং চ্যালেঞ্জ, সিস্টেম ডিজাইন আলোচনা এবং প্রযুক্তিগত ধারণার প্রশ্নগুলির সাথে জড়িত।
টেকনিক্যাল প্রশ্নের ধরন:
- কোডিং সমস্যা: অ্যালগরিদম বাস্তবায়ন এবং সমস্যা সমাধান
- ডেটা স্ট্রাকচার প্রশ্ন: অ্যারে, লিঙ্ক তালিকা, গাছ, গ্রাফ সমস্যা
- সিস্টেম ডিজাইন: স্কেলেবল সিস্টেম এবং আর্কিটেকচার ডিজাইন করা
- ডাটাবেস প্রশ্ন: এসকিউএল প্রশ্ন এবং ডাটাবেস ডিজাইন
- ডিবাগিং: কোড সমস্যাগুলি সন্ধান করা এবং ঠিক করা
- প্রযুক্তিগত ধারণা: অ্যালগরিদম, ফ্রেমওয়ার্ক এবং প্রযুক্তি ব্যাখ্যা করা
সাক্ষাত্কারকারীরা কী মূল্যায়ন করেন:
- সমস্যা সমাধানের পদ্ধতি: আপনি কীভাবে জটিল সমস্যাগুলি ভেঙে ফেলেন
- কোডিং দক্ষতা: পরিষ্কার, দক্ষ কোড লেখার ক্ষমতা
- অ্যালগরিদম জ্ঞান: ডেটা স্ট্রাকচার এবং অ্যালগরিদম বোঝা
- যোগাযোগ: প্রযুক্তিগত ধারণাগুলি স্পষ্টভাবে ব্যাখ্যা করার ক্ষমতা
- কোডের গুণমান: পঠনযোগ্য, রক্ষণাবেক্ষণযোগ্য কোড লেখা
ফান্ডামেন্টাল ডেটা স্ট্রাকচার এবং অ্যালগরিদম
অ্যারে এবং স্ট্রিংস
সাধারণ সমস্যা:
1. দুই অঙ্ক
সমস্যা: পূর্ণসংখ্যা 'nums' এবং একটি পূর্ণসংখ্যা 'লক্ষ্য' এর একটি অ্যারে দেওয়া হয়েছে, দুটি সংখ্যার সূচকগুলি ফেরত দেয় যা 'লক্ষ্য' পর্যন্ত যোগ করে।
সমাধান:
'''পাইথন
DEF twosum(সংখ্যা, লক্ষ্য):
# ভ্যালু -> ইনডেক্স স্টোর করার জন্য হ্যাশ ম্যাপ তৈরি করুন
nummap = {}
আমির জন্য, গণনায় সংখ্যা (সংখ্যা):
পরিপূরক = লক্ষ্য - সংখ্যা
যদি nummap পরিপূরক হয়:
রিটার্ন [nummap[পরিপূরক], আমি]
nummap[num] = i
প্রত্যাবর্তন[সম্পাদনা]
সময়: O(n), স্থান: O(min(m, n)) যেখানে m অক্ষরসেটের আকার
ব্যাখ্যা: অনন্য অক্ষরগুলি ট্র্যাক করার জন্য সেট সহ স্লাইডিং উইন্ডো কৌশল।
লিঙ্ক করা তালিকা
1. বিপরীত লিঙ্কযুক্ত তালিকা
সমস্যা: একটি একক লিঙ্কযুক্ত তালিকা বিপরীত করুন।
সমাধান:
'''পাইথন
ডিএফ reverselist (প্রধান):
পূর্ববর্তী = কিছুই নয়
বর্তমান = মাথা
বর্তমান:
nexttemp = বর্তমান.পরবর্তী
current.next = পূর্ববর্তী
পূর্ববর্তী = বর্তমান
বর্তমান = nexttemp
রিটার্ন পূর্ববর্তী
সময়: O(n), স্থান: O(1)
ব্যাখ্যা: ফ্লয়েডের চক্র সনাক্তকরণ অ্যালগরিদম ধীর এবং দ্রুত পয়েন্টার ব্যবহার করে।
গাছ এবং বাইনারি অনুসন্ধান গাছ
1. বাইনারি ট্রি ইনঅর্ডার ট্র্যাভার্সাল
সমস্যা: বাইনারি ট্রির ক্রমে ট্রাভার্সেল ফিরে আসুন।
সমাধান:
'''পাইথন
ডিএফ inordertraversal(মূল):
ফলাফল = []
স্ট্যাক = []
বর্তমান = মূল
কারেন্ট বা স্ট্যাক থাকাকালীন:
বর্তমান:
স্ট্যাক.অ্যাপেন্ড (বর্তমান)
বর্তমান = বর্তমান.বাম
বর্তমান = স্ট্যাক.পপ ()
ফলাফল.অ্যাপেন্ড (current.val)
বর্তমান = বর্তমান.ডান
রিটার্ন রেজাল্ট
সময়: O(n), স্থান: O(h)
ব্যাখ্যা: প্রতিটি সাবট্রির জন্য সীমানা পরীক্ষা সহ পুনরাবৃত্তিমূলক বৈধতা।
ডায়নামিক প্রোগ্রামিং
1. সিঁড়ি বেয়ে ওঠা
সমস্যা: সিঁড়ি বেয়ে ওঠার অনেকগুলি উপায় সন্ধান করুন (একবারে 1 বা 2 ধাপ)।
সমাধান:
'''পাইথন
ডিএফ climbstairs(এন):
যদি n = tokensneeded:
self.tokens -= tokensneeded
রিটার্ন ট্রু
রিটার্ন মিথ্যা
বিকল্প:
'''এসকিউএল
দ্বিতীয় সর্বোচ্চ বেতন হিসাবে বেতন নির্বাচন করুন
কর্মচারী থেকে
বেতন ডিইএসসি দ্বারা অর্ডার
সীমা 1 অফসেট 1
3. নবম সর্বোচ্চ বেতন
সমস্যা: সর্বোচ্চ বেতন সন্ধান করুন।
সমাধান:
'''এসকিউএল
ফাংশন তৈরি করুন getNthHighestsalary (N INT) RETURNS INT
আরম্ভ
ফলাফল আইএনটি ঘোষণা করুন;
ফলাফল সেট = শূন্য;
ফলাফলে বেতন নির্বাচন করুন
থেকে (
আরএনকে হিসাবে বেতন, DENSERANK() ওভার (স্যালারি ডিইএসসি দ্বারা অর্ডার) নির্বাচন করুন
কর্মচারী থেকে
) র ্যাঙ্ক করা হয়েছে
যেখানে rnk = N
সীমা 1;
রিটার্ন ফলাফল;
শেষ
মূল ধারণা: এনক্যাপসুলেশন, উত্তরাধিকার, পলিমরফিজম, ডিজাইন প্যাটার্ন।
2. একটি ভেন্ডিং মেশিন ডিজাইন করুন
প্রয়োজনীয়তা:
- কয়েন / বিল গ্রহণ করুন
• পণ্য বিতরণ
- অপর্যাপ্ত তহবিল পরিচালনা করুন
- রিটার্ন পরিবর্তন
- স্টক ম্যানেজমেন্ট
নকশা পদ্ধতি:
'''পাইথন
ক্লাস ভেন্ডিংমেশিন:
ডিএফ init(স্ব):
self.products = {} # productid -> (নাম, দাম, পরিমাণ)
স্ব.ভারসাম্য = 0
ডিইএফ insertmoney(স্ব, পরিমাণ):
সেলফ ব্যালেন্স += পরিমাণ
ডিএফ selectproduct(স্ব, productid):
যদি productid স্ব.পণ্যগুলিতে না থাকে:
ফেরত "পণ্য পাওয়া যায়নি"
নাম, দাম, পরিমাণ = স্ব.পণ্য[productid]
যদি পরিমাণ == 0:
রিটার্ন "আউট অফ স্টক"
যদি সেলফ.ব্যালেন্স