সুচিপত্র[লুকান][দেখান]
- 1. গোলং বর্ণনা কর।
- 2. অন্যান্য ভাষার তুলনায় Go-এর কী কী সুবিধা রয়েছে?
- 3. গোলং প্রোগ্রামিং এ, fmt কি?
- 4. গো ইন্টারফেস আসলে কি?
- 5. স্ট্রিং লিটারেল আসলে কি?
- 6. গোলং-এ কাজের পরিবেশ এবং পরামিতিগুলি কীভাবে কনফিগার করা হয়?
- 7. গোলং প্যাকেজ বর্ণনা করুন?
- 8. গোল্যাং দ্বারা কোন ধরনের ডেটা সমর্থিত?
- 9. গোলং-এ একটি পরিবর্তনশীলের স্ট্যাটিক টাইপ ঘোষণা বলতে আপনি কী বোঝেন?
- 10. গোলং-এ, গতিশীল পরিবর্তনশীল ঘোষণা কী?
- 11. আমি কিভাবে GO প্রোগ্রামিং ভাষায় কাস্টম প্যাকেজ ব্যবহার করতে পারি?
- 12. গোরুটিন আসলে কি? আপনি কিভাবে এটি একটি থামাতে পারেন?
- 13. একটি রুন বর্ণনা করুন।
- 14. enums প্রতিনিধিত্ব করার জন্য Go বুলি কি?
- 15. রানটাইমে ভেরিয়েবলের ধরন কিভাবে চেক করা হয়?
- 16. Go চ্যানেল বর্ণনা করুন।
- 17. গোলং পদ্ধতি ব্যাখ্যা কর।
- 18. একটি ডেটা রেস আসলে কি?
- 19. গো আবর্জনা সংগ্রহ ঠিক কি?
- 20. গোলং ব্যবহার করে পরীক্ষার পর্যায়গুলি বর্ণনা করুন।
- 21. গো-তে স্লাইসগুলি ঠিক কী?
- 22. হিপ মেমরি আসলে কি?
- 23. ফাংশন ক্লোজার ঠিক কি?
- 24. গোলং এর গোটো বিবৃতিটির অর্থ কী?
- 25. গোলং-এ, Lvalue এবং Rvalue কি?
- 26. গো-তে, লুপিং কনস্ট্রাক্টগুলি কী কী?
- 27. ডিজাইন প্যাটার্ন ঠিক কি?
- 28. সাধারণ ফাইল অপারেশনের জন্য সেরা গোলং প্যাকেজ কি? ফাইল ম্যানিপুলেশনের জন্য কোন অতিরিক্ত গোলং প্যাকেজ ব্যবহার করা হয়?
- 29. গোলং এর অবজেক্ট-ওরিয়েন্টেড আর্কিটেকচারের একটি ব্যাখ্যা দাও।
- 30. গোলং কোন ধরনের রূপান্তর সমর্থন করে?
- 31. প্রকার দাবীর উদ্দেশ্য এবং অপারেশন বর্ণনা করুন।
- 32. একটি struct টাইপ ঠিক কি?
- 33. একটি স্লাইস মানের ব্যাকিং অ্যারে ব্যাখ্যা করুন।
- 34. GOPATH এবং GOROOT উভয় ভেরিয়েবল থাকা কি প্রয়োজনীয় এবং যদি তাই হয়, কেন?
- 35. গোলং কি উত্তরাধিকার সক্ষম করে?
- 36. গোলং-এ, সিজিও কীভাবে উপস্থিত হয়?
- 37. গোলং এর পয়েন্টার টাইপ কি?
- উপসংহার
গো প্রোগ্রামিং ভাষা, প্রায়ই নামে পরিচিত Golang, একটি ওপেন-সোর্স প্রোগ্রামিং ভাষা যা C-এর সাথে তুলনীয় কিন্তু দ্রুত সংকলন, মসৃণ সঙ্গতি এবং বিকাশকারীর সুবিধার জন্য ডিজাইন করা হয়েছে।
এই ভাষাটি Google দ্বারা বিকশিত এবং ব্যবহার করা হয়েছিল, কিন্তু সাম্প্রতিক বছরগুলিতে এটি অন্যান্য সংস্থাগুলিতে ট্র্যাকশন অর্জন করেছে কারণ সমসাময়িক, নেটওয়ার্ক প্রোগ্রামিংয়ের চাহিদা বেড়েছে।
দ্রুত সফ্টওয়্যার অ্যাপ্লিকেশন ডেভেলপমেন্ট, মসৃণ সঙ্গতি, বর্ধিত রানটাইম দক্ষতা এবং কম ত্রুটির জন্য সর্বোত্তম সংকলন অফার করে গোল্যাং বিকাশকারীদের জন্য উন্নয়নকে সহজ করে তোলে।
বিভিন্ন কর্মসংস্থানের বিকল্প সহ গোলং দ্রুত একটি জনপ্রিয় কর্পোরেট প্রোগ্রামিং ভাষা হয়ে উঠছে। গুগল, উবার এবং অ্যাপলের মতো অনেক আইটি বেহেমথ, গোলংকে এর স্বল্প বিকাশের সময়, শেখার সহজ, উন্নত রানটাইম, আবর্জনা সংগ্রহ এবং অন্যান্য সুবিধার জন্য পছন্দ করে।
যত বেশি সংস্থা গোলং ব্যবহার করে, গোলং প্রোগ্রামারদের প্রয়োজনীয়তা বৃদ্ধি পায়। তলদেশের সরুরেখা? গোলং শেখার ফলে বেশ কিছু কর্মসংস্থানের সম্ভাবনা তৈরি হবে।
আপনি যদি একজন গোলং ডেভেলপার হিসেবে কাজ করতে চান, তাহলে আপনাকে অবশ্যই আপনার ইন্টারভিউয়ের জন্য পর্যাপ্ত প্রস্তুতি নিতে হবে। সেজন্য আমরা গোলং ইন্টারভিউ প্রশ্নগুলির এই বিস্তৃত সংগ্রহটি সংকলন করেছি।
এই পোস্টে, আমরা প্রাথমিক থেকে উন্নত গোলং সাক্ষাত্কারের প্রশ্নগুলি উপস্থাপন করব, যাতে আপনি সহজেই সাক্ষাত্কারটি পেতে পারেন।
1. গোলং বর্ণনা কর।
গো একটি উচ্চ-স্তরের, সাধারণ-উদ্দেশ্য প্রোগ্রাম ভাষা যা আবর্জনা সংগ্রহ এবং সমসাময়িক প্রোগ্রামিং সমর্থন করে এবং খুব শক্তভাবে এবং স্ট্যাটিকভাবে টাইপ করা হয়। গো অ্যাপ্লিকেশনগুলি প্যাকেজগুলি ব্যবহার করে তৈরি করা হয়, যা কার্যকর নির্ভরতা ব্যবস্থাপনা প্রদান করে।
উপরন্তু, এটি সোর্স কোড থেকে এক্সিকিউটেবল বাইনারি তৈরি করতে কম্পাইল-লিঙ্ক পদ্ধতির সুবিধা দেয়। সুন্দর এবং স্পষ্ট সিনট্যাকটিক স্ট্রাকচার সহ গো একটি সহজবোধ্য ভাষা।
এটি শক্তিশালী স্ট্যান্ডার্ড লাইব্রেরির একটি সেটের সাথে আসে যা বিকাশকারীরা অন্যান্য প্যাকেজের প্রয়োজন ছাড়াই সমস্যাগুলি সমাধান করতে ব্যবহার করতে পারে।
2. অন্যান্য ভাষার তুলনায় Go-এর কী কী সুবিধা রয়েছে?
- বুদ্ধিবৃত্তিক পরীক্ষা হিসাবে শুরু হওয়া অন্যান্য ভাষার বিপরীতে ব্যবহারিকতার কথা মাথায় রেখে Go কোড তৈরি করা হয়েছিল। সিনট্যাক্স এবং বৈশিষ্ট্যের প্রতিটি পছন্দ প্রোগ্রামারের সুবিধার কথা মাথায় রেখে করা হয়।
- যেহেতু স্বয়ংক্রিয় আবর্জনা সংগ্রহ অ্যাপ্লিকেশনটির সাথে একযোগে চলে, তাই এটি জাভা বা পাইথনের চেয়ে অনেক বেশি কার্যকর।
- গোলং-এ স্কেলেবিলিটি এবং কনকারেন্সি উভয়কেই অগ্রাধিকার দেওয়া হয়।
- গোলংকে সাধারণত অন্যান্য ভাষার চেয়ে বেশি বোধগম্য বলে মনে করা হয় কারণ এটির একটি একক, প্রমিত কোড কাঠামো রয়েছে।
3. গোলং প্রোগ্রামিং এ, fmt কি?
ফরম্যাট প্যাকেজ fmt চিহ্ন দ্বারা চিহ্নিত করা হয়। ব্যবহারকারীরা মৌলিক পাঠ্য, মান, বা অন্য কিছু ফর্ম্যাট করতে এবং এটি মুদ্রণ করতে এই কার্যকারিতা ব্যবহার করতে পারেন।
এটি ব্যবহারকারীদের টার্মিনাল ইনপুট গ্রহণ করতে, লেখকের সাথে একটি ফাইলে লিখতে এবং এমনকি পছন্দসই অভিনব ত্রুটি বার্তা তৈরি করতে দেয়। এই প্যাকেজটি ইনপুট এবং আউটপুট ফর্ম্যাটিং সম্পর্কে।
4. গো ইন্টারফেস আসলে কি?
Go-এর ইন্টারফেসগুলি অন্যান্য ভাষার থেকে আলাদা। গো ইন্টারফেস হল একটি বিশেষ ধরনের যা এক বা একাধিক পদ্ধতির স্বাক্ষরের সংগ্রহ প্রকাশ করতে ব্যবহৃত হয়।
ইন্টারফেসটি "টাইপ" শব্দটি ব্যবহার করে নাম এবং কীওয়ার্ড ইন্টারফেস অনুসরণ করে গঠিত হয়। ইন্টারফেসগুলি নিম্নরূপ সংজ্ঞায়িত করা যেতে পারে:
- পদ্ধতির একটি সংগ্রহ
- আদর্শ
5. স্ট্রিং লিটারেল আসলে কি?
একটি স্ট্রিং আক্ষরিক হল একটি স্ট্রিং ধ্রুবক যা অক্ষর সংযুক্ত করে উত্পাদিত হয়। কাঁচা এবং ব্যাখ্যা করা স্ট্রিং লিটারেল হল দুই ধরনের স্ট্রিং লিটারেল। কাঁচা স্ট্রিং লিটারেল ব্যাকটিক্স (foo) দ্বারা আবদ্ধ এবং অব্যক্ত UTF-8 অক্ষর ধারণ করে.
ব্যাখ্যা করা স্ট্রিং লিটারালগুলি হল স্ট্রিংগুলি ডবল উদ্ধৃতির মধ্যে লেখা এবং নতুন লাইন এবং অসম্পূর্ণ ডবল উদ্ধৃতি ব্যতীত যেকোনো অক্ষর অন্তর্ভুক্ত করে।
6. গোলং-এ কাজের পরিবেশ এবং পরামিতিগুলি কীভাবে কনফিগার করা হয়?
কাজের পরিবেশ এবং সেটিংস JSON ব্যবহার করে কনফিগার করা যেতে পারে, যা আজকাল ব্যাপকভাবে ব্যবহৃত হয়। সত্য যে JSON স্ট্যান্ডার্ড লাইব্রেরিতে অন্তর্ভুক্ত করা হয়েছে এর প্রধান সুবিধা।
স্ট্যান্ডার্ড লাইব্রেরি উদ্দেশ্যের জন্য লেখার পদ্ধতি প্রদান করে তথ্য কাঠামো, যা এটি খুব পঠনযোগ্য করে তোলে। Go এর জন্য YAML প্যাকেজ একটি অতিরিক্ত পছন্দ।
7. গোলং প্যাকেজ বর্ণনা করুন?
প্যাকেজগুলি হল ফোল্ডার যা অন্যান্য প্যাকেজ এবং তাদের সোর্স কোড গো ওয়ার্কস্পেসে রাখে। লিঙ্কযুক্ত প্যাকেজগুলি সোর্স ফাইলগুলিতে লেখা ভেরিয়েবল, ফাংশন এবং প্রকারগুলি সহ সমস্ত কোড অন্তর্ভুক্ত করে।
প্রতিটি সোর্স ফাইল একটি প্যাকেজের একটি অংশ, এবং গো প্যাকেজগুলিও প্যাকেজের ভিতরে সংরক্ষণ করা যেতে পারে।
8. গোল্যাং দ্বারা কোন ধরনের ডেটা সমর্থিত?
গোলং নিম্নলিখিত ধরনের ব্যবহার করে:
- পদ্ধতি
- বুলিয়ান
- সাংখ্যিক
- স্ট্রিং
- ইশারা
- ক্রিয়া
- ইন্টারফেস
- ফালি
- struct
- মানচিত্র
- চ্যানেল
- বিন্যাস
9. গোলং-এ একটি পরিবর্তনশীলের স্ট্যাটিক টাইপ ঘোষণা বলতে আপনি কী বোঝেন?
স্ট্যাটিক টাইপ ভেরিয়েবল ডিক্লেয়ারেশনের জন্য ভেরিয়েবলের বিস্তৃত তথ্যের প্রয়োজন ছাড়াই কম্পাইলার অন্য একটি সংকলন চালিয়ে যেতে পারে, যা এটিকে আশ্বস্ত করে যে প্রদত্ত প্রকার এবং নামের সাথে শুধুমাত্র একটি পরিবর্তনশীল রয়েছে।
একটি পরিবর্তনশীল ঘোষণা শুধুমাত্র সংকলনের সময় গুরুত্বপূর্ণ; অ্যাপ্লিকেশনের সাথে সংযোগ করার সময় কম্পাইলারের একটি বাস্তব পরিবর্তনশীল এবং ঘোষণার প্রয়োজন।
10. গোলং-এ, গতিশীল পরিবর্তনশীল ঘোষণা কী?
কম্পাইলারকে অবশ্যই একটি গতিশীল প্রকারের পরিবর্তনশীল ঘোষণায় পরিবর্তনশীলের ধরণ ব্যাখ্যা করতে হবে এটিতে স্থানান্তরিত পরিমাণের উপর ভিত্তি করে। একটি প্রয়োজনীয় শর্ত হিসাবে, কম্পাইলারের স্ট্যাটিকালি শ্রেণীবদ্ধ করার জন্য একটি ভেরিয়েবলের প্রয়োজন হয় না।
11. আমি কিভাবে GO প্রোগ্রামিং ভাষায় কাস্টম প্যাকেজ ব্যবহার করতে পারি?
আপনি যদি আপনার লাইব্রেরির জন্য একটি পৃথক go get -table প্রজেক্ট তৈরি করেন এবং এটি শুধুমাত্র অভ্যন্তরীণ ব্যবহারের জন্য, আপনি এই মত কোড লিখতে পারেন।
- আপনার প্রকল্পের ডিরেক্টরির অধীনে লাইব্রেরি ফাইল ডিরেক্টরি রাখুন।
- প্রকল্পটি ধারণ করে ওয়ার্কস্পেসের মূলের সাপেক্ষে লাইব্রেরিটিকে তার পাথ দ্বারা পড়ুন।
12. গোরুটিন আসলে কি? আপনি কিভাবে এটি একটি থামাতে পারেন?
একটি গরউটিন হল একটি ফাংশন বা পদ্ধতি যা একটি ডেডিকেটেড গোরুটিন থ্রেডে অন্যান্য গোরুটিনের সাথে একযোগে চলে। গোরুটিন থ্রেডগুলি সাধারণ থ্রেডের তুলনায় হালকা হয়, এবং বেশিরভাগ গোলং অ্যাপ্লিকেশন একযোগে হাজার হাজার গোরুটিন ব্যবহার করে।
একটি সংকেত চ্যানেল পাস করে একটি goroutine বন্ধ করা যেতে পারে. গোরুটিনগুলি কেবলমাত্র সিগন্যালে সাড়া দিতে পারে যদি তাদের চেক করার নির্দেশ দেওয়া হয়, তাই আপনার লুপের শীর্ষের মতো যুক্তিসঙ্গত জায়গায় চেকগুলি অন্তর্ভুক্ত করুন।
13. একটি রুন বর্ণনা করুন।
গো-তে, একটি রুন হল একটি অন্তর্নির্মিত টাইপ যার নাম int32। ইউনিকোড কোডপয়েন্ট গো-তে রুন হিসাবে কাজ করে। কোডপয়েন্ট কত বাইট নেয় না কেন, এটি একটি রুন দ্বারা প্রতিনিধিত্ব করা যেতে পারে।
Runes একটি স্ট্রিং ক্রমে হতে হবে না. যদিও আমরা স্ট্রিং এবং রুনের মধ্যে রূপান্তর করতে পারি, তারা একই নয়।
14. enums প্রতিনিধিত্ব করার জন্য Go বুলি কি?
গোলং প্রোগ্রামিং ভাষা সরাসরি enums সমর্থন করে না। Iota এবং ধ্রুবক enums বাস্তবায়ন করতে ব্যবহার করা যেতে পারে। নিম্নলিখিত পদ্ধতির যেকোন একটি গণনাকৃত প্রকার বাস্তবায়নের জন্য ব্যবহার করা যেতে পারে:
- একটি নতুন পূর্ণসংখ্যার ধরন প্রবর্তন করা হচ্ছে
- Iota এর মান নির্দেশ করতে ব্যবহৃত হয়।
- টাইপ একটি স্ট্রিং ফাংশন প্রদান করে
15. রানটাইমে ভেরিয়েবলের ধরন কিভাবে চেক করা হয়?
টাইপ স্যুইচ হল রিয়েল-টাইমে ভেরিয়েবলের ধরন নির্ণয় করার সবচেয়ে কার্যকর পদ্ধতি। টাইপ স্যুইচ ব্যবহার করার সময় ভেরিয়েবলের মূল্যায়ন করা হয় মানের পরিবর্তে টাইপ দ্বারা।
উভয়ই একটি ডিফল্ট কেস, যা কার্যকর করা হয় যদি কোনোটিই সত্য না হয় এবং অন্তত একটি ক্ষেত্রে, যা একটি শর্তসাপেক্ষ বিবৃতি হিসাবে কাজ করে, প্রতিটি স্যুইচে উপস্থিত থাকে। আপনি, উদাহরণস্বরূপ, একটি টাইপ সুইচ ডিজাইন করতে পারেন যা নির্ধারণ করে যে ইন্টারফেস মানটি আমি অন্তর্ভুক্ত করছি তা int বা স্ট্রিং টাইপ কিনা:
16. Go চ্যানেল বর্ণনা করুন।
একটি গো চ্যানেল ডেটা ট্রান্সমিশন এবং গোরুটিনের মধ্যে স্থানান্তর সক্ষম করে। একই ধরনের ডেটা একটি চ্যানেল জুড়ে পাঠানো যেতে পারে।
চ্যানেলের দ্বিমুখী ডেটা প্রবাহের কারণে Goroutines একই চ্যানেলে ডেটা পাঠাতে এবং গ্রহণ করতে সক্ষম।
17. গোলং পদ্ধতি ব্যাখ্যা কর।
গোলাং ক্লাস প্রদান করে না কিন্তু পদ্ধতি সমর্থন করে। এই পদ্ধতিগুলি ফাংশনের সাথে অভিন্ন, গো পদ্ধতিগুলির একটি রিসিভার পরামিতি ব্যতীত।
Go পদ্ধতিতে রিসিভার প্যারামিটারের মাধ্যমে প্রাপকের বৈশিষ্ট্যগুলিতে অ্যাক্সেস রয়েছে। গো মেথড, রিসিভার ফাংশন নামেও পরিচিত, আরও সঠিক এবং বাস্তব-বিশ্বের ধারণা উপস্থাপনে সহায়তা করে।
18. একটি ডেটা রেস আসলে কি?
সবচেয়ে সাধারণ এবং কঠিন ডিবাগ হল একটি ডেটা রেস। শেয়ার্ড মেমরিতে আনসিঙ্ক্রোনাইজড অ্যাক্সেস বা আলাদা হ্যান্ডলিং ছাড়া একই সময়ে একাধিক গোরুটিন সম্পাদনের ফলে ডেটা রেস ফল্ট হয়।
19. গো আবর্জনা সংগ্রহ ঠিক কি?
আবর্জনা সংগ্রহ সঞ্চয়ের পুনঃপ্রয়োজন করে যা গতিশীলভাবে অন্যান্য বস্তুর দ্বারা ব্যবহারের জন্য একটি প্রোগ্রামে বরাদ্দ করা হয়েছে। শব্দটি প্রায়শই নির্দিষ্ট মেমরি ব্লক প্রকাশ করার জন্য স্পষ্ট কোড (একটি প্রোগ্রামার দ্বারা সরবরাহ করা) এর পরিবর্তে রুটিন স্টোরেজের জন্য বর্জ্য সংগ্রহকারীর স্বয়ংক্রিয় পুনর্জন্মকে বোঝায়।
স্বয়ংক্রিয় ট্র্যাশ সংগ্রহ প্রায়শই শুরু হয় যখন বিনামূল্যে RAM-এর পরিমাণ একটি পূর্বনির্ধারিত থ্রেশহোল্ডের নিচে বা নির্দিষ্ট সংখ্যক বরাদ্দের পরে পড়ে।
আরও গতিশীল বস্তুর জন্য মেমরিতে স্থান তৈরি করতে সফ্টওয়্যারটির আর প্রয়োজন নেই এমন আইটেমগুলিকে বাদ দেওয়াকে "আবর্জনা সংগ্রহ" হিসাবে উল্লেখ করা হয়।
20. গোলং ব্যবহার করে পরীক্ষার পর্যায়গুলি বর্ণনা করুন।
গোলং কাস্টম টেস্টিং স্যুট ব্যবহার করে প্যাকেজগুলির স্বয়ংক্রিয় পরীক্ষা প্রদান করে। একটি নতুন স্যুট প্রতিষ্ঠা করতে, একটি ফাইল তৈরি করুন যা _test.go দিয়ে শেষ হয় এবং একটি TestXxx ফাংশন অন্তর্ভুক্ত করে, যেখানে আপনি যে বৈশিষ্ট্যটি পরীক্ষা করছেন তার নামের সাথে Xxx প্রতিস্থাপিত হয়৷
একটি ফাংশন যা লগইন ক্ষমতা পরীক্ষা করে, উদাহরণস্বরূপ, টেস্টলগিন নাম দেওয়া হবে। টেস্টিং স্যুট ফাইলটি তারপরে পরীক্ষা করা ফাইলের মতো একই প্যাকেজে অন্তর্ভুক্ত করা হয়।
টেস্ট ফাইলটি সাধারণ এক্সিকিউশনের সময় এড়িয়ে যাবে কিন্তু আপনি যখন গো টেস্ট কমান্ড ইনপুট করবেন তখন এটি চালানো হবে।
21. গো-তে স্লাইসগুলি ঠিক কী?
স্লাইসগুলি হল একটি গুরুত্বপূর্ণ Go ডেটা টাইপ যা অ্যারের তুলনায় সিকোয়েন্সের জন্য আরও শক্তিশালী ইন্টারফেস প্রদান করে। স্লাইসগুলি, অ্যারেগুলির বিপরীতে, তাদের মধ্যে থাকা উপাদানগুলির উপর নির্ভর করে শুধুমাত্র টাইপ করা হয় (উপাদানের সংখ্যা নয়)।
শূন্য নয় এমন একটি দৈর্ঘ্য সহ একটি খালি স্লাইস তৈরি করতে, অন্তর্নির্মিত "মেক" কীওয়ার্ডটি ব্যবহার করুন।
22. হিপ মেমরি আসলে কি?
আমরা হিপ মেমরিতে গতিশীলভাবে গঠিত বস্তু এবং ভেরিয়েবল সংরক্ষণ করি। যখন আমরা আর কোনো বস্তু ব্যবহার করি না, তখন আমরা সাধারণত এটি দখল করা হিপ মেমরি মুছে ফেলি।
23. ফাংশন ক্লোজার ঠিক কি?
ফাংশন ক্লোজারগুলি হল এক ধরণের ফাংশন মান যা বাহ্যিকভাবে উল্লেখিত ভেরিয়েবল তৈরি করে। রেফারেন্সকৃত ভেরিয়েবলের মানগুলিতে ফাংশনের অ্যাক্সেস এবং নিয়ন্ত্রণ রয়েছে।
একটি দৃষ্টান্ত হিসাবে, একটি adder() দ্বারা প্রত্যাবর্তিত বন্ধ প্রতিটি একটি ভিন্ন রেফারেন্সড যোগ ভেরিয়েবলের সাথে আবদ্ধ।
24. গোলং এর গোটো বিবৃতিটির অর্থ কী?
গোটো স্টেটমেন্ট গোলং-এ একটি জাম্প স্টেটমেন্ট হিসেবে কাজ করে। Goto প্রোগ্রামের উপর একটি নির্দিষ্ট লেবেল নিয়ন্ত্রণ প্রদান করতে ব্যবহৃত হয়।
এটি কোডের কিছু অংশ এড়িয়ে যেতে এবং প্রয়োজনীয় বিবৃতিতে সরাসরি যেতে ব্যবহার করা যেতে পারে, অথবা এটি একটি নির্দিষ্ট পরিস্থিতিতে প্রদত্ত প্রোগ্রাম কোডের একটি অংশ পুনরাবৃত্তি করতে ব্যবহার করা যেতে পারে।
25. গোলং-এ, Lvalue এবং Rvalue কি?
মান:
- এটি একটি স্মৃতি স্থান নির্দেশ করে.
- এটা পরিবর্তন করা যেতে পারে.
- এটি একটি পরিবর্তনশীল শনাক্তকারীকে নির্দেশ করে।
- এটি = অপারেটরের বাম বা ডানে ঘটতে পারে।
- x =20 লাইনে, উদাহরণস্বরূপ, x একটি lvalue এবং 20 হল একটি rvalue।
মূল্য:
- এটি একটি নির্দিষ্ট মান নির্দেশ করে।
- এটি একটি মেমরি-সঞ্চিত ডেটা মান উপস্থাপন করে।
- এটি সর্বদা = অপারেটরের ডান দিকে ঘটে।
- 10 = 20 অভিব্যক্তিটি ভুল, উদাহরণস্বরূপ, যেহেতু = অপারেটরের বাম দিকে একটি rvalue (10) আছে।
26. গো-তে, লুপিং কনস্ট্রাক্টগুলি কী কী?
গো-তে শুধুমাত্র একটি লুপিং উপাদান রয়েছে: লুপের জন্য। ফর লুপ তিনটি অংশ নিয়ে গঠিত যা সেমিকোলন দ্বারা বিভক্ত:
- লুপ শুরু হওয়ার আগে Init স্টেটমেন্ট চালানো হয়। এটি প্রায়শই একটি পরিবর্তনশীল ঘোষণা যা শুধুমাত্র লুপের সুযোগের মধ্যে উপস্থিত হয়।
- প্রতিটি পুনরাবৃত্তির আগে, লুপটি চালিয়ে যাওয়া উচিত কিনা তা নির্ধারণ করতে শর্ত বিবৃতিটি বুলিয়ান হিসাবে মূল্যায়ন করা হয়।
- পোস্টের বিবৃতি প্রতিটি পুনরাবৃত্তির উপসংহারে চালানো হয়।
27. ডিজাইন প্যাটার্ন ঠিক কি?
ডিজাইন প্যাটার্ন হল কোডের অংশ যা সাধারণ সফ্টওয়্যার সমস্যাগুলি মোকাবেলা করতে পুনরায় ব্যবহার করা যেতে পারে। আপনি যদি ডিজাইন প্যাটার্ন ব্যবহার করেন, আপনার প্রকল্পগুলি আরও মডুলার, মাপযোগ্য এবং দক্ষ সফ্টওয়্যার তৈরি করবে। ডিজাইন প্যাটার্ন আপনাকে আপনার অ্যাপস প্রসারিত করতে এবং একটি দলের সাথে কাজ করতে সহায়তা করে। সাধারণ নকশার প্যাটার্নের মধ্যে রয়েছে ফ্যাক্টরি মেথড, সিঙ্গেলটন, ফ্যাকেড এবং ডেকোরেটর।
28. সাধারণ ফাইল অপারেশনের জন্য সেরা গোলং প্যাকেজ কি? ফাইল ম্যানিপুলেশনের জন্য কোন অতিরিক্ত গোলং প্যাকেজ ব্যবহার করা হয়?
প্ল্যাটফর্ম-স্বাধীন ইন্টারফেসটি ওএস স্ট্যান্ডার্ড লাইব্রেরি প্যাকেজ দ্বারা সরবরাহ করা হয়। ফাইলগুলির সাথে ইন্টারঅ্যাক্ট করার সময়, আমরা সেগুলি সিস্টেম ফাংশনের জন্য ব্যবহার করি। OS ইন্টারফেস সব অপারেটিং সিস্টেম জুড়ে সামঞ্জস্যপূর্ণ হতে বোঝানো হয়.
ফলস্বরূপ, আমরা যে অ্যাপগুলি তৈরি করি তা Windows, Linux এবং Mac-এ একই রকম চলে। অন্যান্য গো স্ট্যান্ডার্ড লাইব্রেরি প্যাকেজগুলির মধ্যে রয়েছে io, ioutil এবং বুফিও। তারা ফাইলের সাথে কাজ করে এবং কার্যকারিতা যোগ করে। যাইহোক, মৌলিক ফাইল অপারেশনের জন্য তাদের প্রয়োজন নেই। আমাদের শুধুমাত্র OS প্যাকেজ প্রয়োজন।
29. গোলং এর অবজেক্ট-ওরিয়েন্টেড আর্কিটেকচারের একটি ব্যাখ্যা দাও।
গোলং প্রচলিত হিসাবে একটি শ্রেণী-বস্তুর নকশা ব্যবহার করে না অবজেক্ট ওরিয়েন্টেড প্রোগ্রামিং করে জটিল ডেটা স্ট্রাকচার এবং আচরণ পরিবর্তে স্ট্রাকট এবং পদ্ধতিতে সংরক্ষণ করা হয়।
একটি কাঠামো একটি কাঠামো বহন করবে এমন ডেটার জন্য একটি ব্লুপ্রিন্ট সহ একটি স্কিমা। কাঠামোগুলি প্রকৃত বিশ্বের ধারণাগুলিকে প্রতীকী করতে ব্যবহার করা যেতে পারে, যেমন বই, মানুষ বা অটোমোবাইল।
30. গোলং কোন ধরনের রূপান্তর সমর্থন করে?
যখন স্পষ্ট টাইপ করার কথা আসে, তখন Go অত্যন্ত বাছাই করা হয়। কোন প্রকার রূপান্তর স্বয়ংক্রিয়ভাবে সম্পন্ন হয় না. এক প্রকারের একটি ভেরিয়েবলকে অন্য প্রকারে মনোনীত করতে, টাইপ রূপান্তরটি স্পষ্টভাবে করা আবশ্যক।
31. প্রকার দাবীর উদ্দেশ্য এবং অপারেশন বর্ণনা করুন।
GO-তে, টাইপ রূপান্তর ভিন্ন ধরনের রূপান্তর করতে ব্যবহৃত হয়। নির্দিষ্ট ধরনের একটি সুস্পষ্ট মান একটি ইন্টারফেস মান থেকে একটি টাইপ দাবী দ্বারা বের করা হয়।
32. একটি struct টাইপ ঠিক কি?
একটি কাঠামো নামক উপাদানগুলির একটি তালিকা নিয়ে গঠিত যাকে ক্ষেত্র বলা হয়। প্রতিটি ক্ষেত্রের জন্য একটি ধরনের এবং একটি নাম আছে. একটি স্ট্রাকট কল্পনা করার আরেকটি উপায় হল সংযুক্ত বৈশিষ্ট্যের একটি গ্রুপ। তারা রেকর্ড তৈরি করতে ডেটা একত্রিত করার জন্য সহায়ক।
33. একটি স্লাইস মানের ব্যাকিং অ্যারে ব্যাখ্যা করুন।
যখন আমরা একটি স্লাইস তৈরি করি, Go একটি গোপন অ্যারে তৈরি করে যাকে ব্যাকিং বা পর্দার পিছনে অন্তর্নিহিত অ্যারে বলা হয় এবং নতুন স্লাইস টাইপ পরিবর্তনশীল উল্লেখ করে। আইটেমগুলি, স্লাইস নয়, ব্যাকিং অ্যারেতে সংরক্ষণ করা হয়।
স্লাইসগুলি গো-তে স্লাইস হেডার নামে ডেটা স্ট্রাকচার হিসাবে প্রয়োগ করা হয়, যা স্লাইসের রানটাইম উপস্থাপনা হিসাবে কাজ করে।
34. GOPATH এবং GOROOT উভয় ভেরিয়েবল থাকা কি প্রয়োজনীয় এবং যদি তাই হয়, কেন?
সাধারণত, কোনটিই প্রয়োজনীয় নয়। Go প্যাকেজ ট্রি বা গাছের দিকে নির্দেশ করার জন্য একমাত্র ভেরিয়েবল সেট করতে হবে তা হল GOPATH।
GOROOT গো প্রোগ্রামিং ভাষার জন্য হোম ডিরেক্টরির মূলকে বোঝায়, তবে, এটি প্রায় অবশ্যই ইতিমধ্যে বর্তমান Go ইনস্টলেশনের অবস্থানে সেট করা আছে।
যদি একই সিস্টেমে অনেকগুলি গো ভাষার সংস্করণ থাকে, বা যদি গো ভাষাটি ইন্টারনেট থেকে বাইনারি প্যাকেজ হিসাবে ডাউনলোড করা হয় বা অন্য মেশিন থেকে সরানো হয়, GOROOT ভেরিয়েবল অবশ্যই সেট করতে হবে।
35. গোলং কি উত্তরাধিকার সক্ষম করে?
উত্তরাধিকার হ'ল অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং-এর একটি মৌলিক ধারণা যা সুপারক্লাসের বৈশিষ্ট্যগুলিকে বেস ক্লাসে প্রেরণকে বোঝায়।
যেহেতু গোলং-এ ক্লাসের অভাব রয়েছে, স্ট্রাকট এম্বেডিং ব্যবহার করে উত্তরাধিকার সম্পন্ন করা হয় এবং স্ট্রাকস সরাসরি প্রসারিত করা যায় না, আমাদের অবশ্যই স্ট্রাকট দিয়ে নতুন বস্তু তৈরি করতে কম্পোজিশনের ধারণা ব্যবহার করতে হবে।
36. গোলং-এ, সিজিও কীভাবে উপস্থিত হয়?
সংজ্ঞায়িত বৈশিষ্ট্য সহ একটি Go উৎস ফাইল থেকে, cGo Go এবং C ফাইলগুলি তৈরি করে যা একটি অনন্য Go প্যাকেজে সংযুক্ত করা যেতে পারে। C একটি "ছদ্ম-প্যাকেজ" বোঝায়, যা C এর নামস্থান উল্লেখ করার জন্য cGo দ্বারা উত্পন্ন একটি ভিন্ন বাক্যাংশ।
37. গোলং এর পয়েন্টার টাইপ কি?
নির্দিষ্ট মেমরি অঞ্চলের জন্য আলফানিউমেরিক উপাধি বা লেবেলগুলি ভেরিয়েবল হিসাবে পরিচিত। পয়েন্টার নামে পরিচিত একটি ভেরিয়েবল অন্য ভেরিয়েবলের মেমরি ঠিকানা সংরক্ষণ করে।
একটি ভেরিয়েবলের ঠিকানা একটি পয়েন্টার মান দ্বারা উপস্থাপিত হয়, অথবা যদি ভেরিয়েবলটি এখনও প্রতিষ্ঠিত না হয় তবে শূন্য। ঠিক যেমন একটি ভেরিয়েবল একটি মানের মেমরি অবস্থান প্রতিনিধিত্ব করে, একটি পয়েন্টার সেই ঠিকানায় নির্দেশ করে।
উপসংহার
গোলং প্রোগ্রামিং ভাষার লক্ষ্য ছিল আরও দ্রুত কার্যকর প্রোগ্রাম তৈরি করা। কোম্পানিগুলো গোলং ব্যবহার করতে শুরু করে কারণ তারা এর সুবিধাজনক সম্ভাবনা উপলব্ধি করতে শুরু করে।
গোল্যাং ডেভেলপারদের আগ্রহ জাগিয়ে তুলতে, তাদের বেস ব্যবহার বাড়াতে এবং ফলস্বরূপ, চাকরির সুযোগ বৃদ্ধিতে অত্যন্ত কার্যকরী। উপরে উল্লিখিত প্রশ্নগুলির উত্তর, যেগুলি গোলং সাক্ষাত্কারের সময় সবচেয়ে সাধারণ জিজ্ঞাসা করা হয়, আপনাকে গোলং চাকরির জন্য আপনাকে সাহায্য করতে পারে।
দেখ হ্যাশডর্কের ইন্টারভিউ সিরিজ ইন্টারভিউ প্রস্তুতির জন্য সাহায্যের জন্য।
নির্দেশিকা সমন্ধে মতামত দিন