প্রো জাভাস্ক্রিপ্ট প্রোগ্রামার ইন্টারভিউ প্রশ্ন (উত্তর সহ) [বন্ধ]


131

আবেদনকারী সত্যিই একজন প্রো জাভাস্ক্রিপ্ট (ব্রাউজার পাশ) বিকাশকারী কিনা তা নির্ধারণ করার জন্য ভাল প্রশ্নগুলি কী কী?

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

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

দয়া করে রাখা এক সাক্ষাৎকারে প্রশ্ন / উত্তর প্রতি এইরকম উত্তর দেন ভাল পড়ার অভিজ্ঞতা এবং সহজ সাক্ষাত্কার প্রস্তুতির জন্য।


21
কখনও কখনও মধ্যবর্তী জেএস বিকাশকারী সাক্ষাত্কার কারওর কাছে আসবেন না যে আরও বেশি উন্নত বলে মনে করা হচ্ছে! এটাই স্রেফ পাগল। সাক্ষাত্কারটি করতে কাউকে দক্ষ করে তোলা উচিত।
জেমস

22
@ জেপি - সুতরাং যদি আপনার সিনিয়র বিকাশকারী সরে যায়, তবে আপনি কী ভুল করেছেন?
tvanfosson

15
@ জেপি আমি নিজের চেয়ে ভাল কাউকে নিয়োগ করার চেষ্টা করছি। এটি একটি ছোট স্টার্টআপ, সুতরাং আমি যদি বাইরের সহায়তা না ব্যবহার করি তার চেয়ে ভাল পছন্দ আমার নেই ... তবে তারপরে আমাকে তার সাক্ষাত্কার দিতে হবে;)
জানুজ্জ স্কনিয়েকনি

13
@ জেপি: আপনি যদি কেবলমাত্র তার চেয়ে ভাল লোকদের নিয়োগ দিচ্ছেন, তবে একদিন আপনাকে বোকা বোকা বানানো হবে। আপনার চেয়ে ভাল এমন কাউকে ভাড়া দেওয়ার চেষ্টা করুন।
গাম্বো

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

উত্তর:


118

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

জাভাস্ক্রিপ্টে, var x = 1এবং এর মধ্যে পার্থক্য কী x = 1? আপনি যতটা স্বাচ্ছন্দ্যবোধ করেন যতটা বা অল্প বিশদে উত্তর দিন।

নবীন জেএস প্রোগ্রামারদের স্থানীয় বনাম গ্লোবাল সম্পর্কে একটি প্রাথমিক উত্তর থাকতে পারে । মধ্যবর্তী জেএস ছেলেরা অবশ্যই উত্তরটি থাকা উচিত এবং সম্ভবত ফাংশন-স্তরের সুযোগ উল্লেখ করা উচিত। যে কেউ নিজেকে "অ্যাডভান্সড" জেএস প্রোগ্রামার হিসাবে আখ্যায়িত করে তাদের স্থানীয়, গাঁথা গ্লোবাল, windowঅবজেক্ট, ফাংশন-স্কোপ, ডিক্লেয়ারেশন উত্তোলন এবং স্কোপ চেইন সম্পর্কে কথা বলার জন্য প্রস্তুত থাকতে হবে । তদ্ব্যতীত, আমি [[DontDelete]]অগ্রাধিকার উত্তোলন (প্যারামিটার বনাম varবনাম function), এবং শুনতে খুব পছন্দ করব undefined

আরেকটি ভাল প্রশ্ন হ'ল তাদের এমন একটি sum()ফাংশন লিখতে বলুন যা কোনও সংখ্যক যুক্তি গ্রহণ করে, এবং তাদের যোগফল প্রদান করে। তারপরে, তাদের অ্যারেতে সমস্ত মান যোগ করতে সেই ফাংশনটি (পরিবর্তন ছাড়াই) ব্যবহার করতে বলুন। তাদের দেখতে এমন একটি ফাংশন লেখা উচিত:

function sum() {
  var i, l, result = 0;
  for (i = 0, l = arguments.length; i < l; i++) {
    result += arguments[i];
  }
  return result;
}
sum(1,2,3); // 6

এবং তাদের এটিকে আপনার অ্যারেতে অনুরোধ করা উচিত (প্রসঙ্গটি যা applyকিছু হতে পারে, আমি সাধারণত nullসেই ক্ষেত্রে ব্যবহার করি ):

var data = [1,2,3];
sum.apply(null, data); // 6

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


4
ভাল প্রশ্ন. ছোট্ট নিটপিক: আমি বিশ্বাস করি আপনি "রিটার্ন আই" এর পরিবর্তে "রিটার্ন রেজাল্ট" বলতে চাইছেন। প্রো-টিপ: পোস্ট করার আগে কোড পরীক্ষা করার জন্য একটি দুর্দান্ত সামান্য পরীক্ষার পরিবেশ সেট আপ করুন ;-)
মিস্টারমিস্টার

4
বাহ, এটি একটি মূর্খ ভুল আমি পোস্ট করার আগে আমার বেশিরভাগ কোড jsFizz এ পরীক্ষা করে দেখি তবে এটি একটি পরীক্ষা করে নি। ধন্যবাদ :)
ব্যাচারি 20

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

2
তারা ভাল প্রোগ্রামার কিনা তা খুঁজে বের করার বিষয়ে দুর্দান্ত উল্লেখ এবং বিভ্রান্তির জন্য +1।
Demonslay335

3
এই লাইন: (i = 0, l = আর্গুমেন্টস দৈর্ঘ্য; i <l; i ++) এর জন্য খারাপ কারণ আর্গুমেন্টগুলি le দৈর্ঘ্যের প্রতিটি পুনরাবৃত্তির মূল্যায়ন করা হবে। লুপের আগে যদি আপনি l = arguments.length নির্ধারণ করেন তবে এটি ভাল। রাইট?
থোমললেন

94

বেসিক জেএস প্রোগ্রামিং

  • Scope of variable
  • কী Associative Array? আমরা কিভাবে এটা ব্যাবহার করবো?

ওওপিএস জেএস

  • Difference between Classic Inheritance and Prototypical Inheritance
  • কী difference between private variable, public variable and static variable? জেএসে আমরা কীভাবে এটি অর্জন করব?
  • add/remove properties to objectরান টাইমে কিভাবে ?
  • কীভাবে অর্জন করবেন inheritance?
  • কীভাবে extend built-in objects?
  • কেন extending array is bad idea?

ডিওএম এবং জেএস

  • Difference between browser detection and feature detection
  • DOM Event Propagation
  • Event Delegation
  • Event bubbling V/s Event Capturing

বিবিধ

  • Graceful Degradation V/s Progressive Enhancement

17
এটি জেএস গুরুসকে নিয়োগের জন্য।
Andreas

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

8
এগুলি এমন কোনও ব্যক্তির জন্য বেসলাইন যা নিজেকে "জাভাস্ক্রিপ্ট বিকাশকারী" বলবে। আমি মনে করি যে উত্তরের গভীরতা হ'ল আপনি কীভাবে এগুলিকে গুরু হিসাবে দেখেন বা না করেন।
রায়ান ওরে

8
আপনার অর্থ "প্রোটোটাইপাল উত্তরাধিকার"। সাধারণ ভুল
উইজার্ড

4
@ উইজার্ড আপনার বোঝানো হয়েছে 'সাধারণ ভুল': পি
নিক

24

"এটি" সম্পর্কে জিজ্ঞাসা করুন। এটি একটি ভাল প্রশ্ন যা জাভাস্ক্রিপ্ট বিকাশকারীর সত্য পরীক্ষা হতে পারে।


আপনি কিছু ভাল নিবন্ধ একটি লিঙ্ক প্রদান করতে পারেন?
জানুস স্কনিকজনি

2
আমি মনে করি এই প্রশ্ন করতে সাহায্য করবে stackoverflow.com/questions/2148451/...
অনিল Namde

15
এই === stackoverflow.com/questions/2492123/... (BADUM-টিশ!)
আলী


17

(আমি ধরে নিচ্ছি আপনি ব্রাউজারের পাশের জাভাস্ক্রিপ্ট বলতে চাইছেন)

তাকে জিজ্ঞাসা করুন কেন, জাভাস্ক্রিপ্ট সম্পর্কে তাঁর অসীম জ্ঞান থাকা সত্ত্বেও, বিদ্যমান কাঠামোগুলি যেমন jQuery, Mootools, প্রোটোটাইপ ইত্যাদি ব্যবহার করা এখনও একটি ভাল ধারণা is

উত্তর: ভাল কোডার কোড, দুর্দান্ত কোডারগুলি পুনরায় ব্যবহার করুন। ব্রাউজার নির্দিষ্ট প্রয়োগ থেকে দূরে DOM ক্ষমতা বিমূর্ত করতে এই লাইব্রেরিতে হাজার হাজার ম্যান আওয়ার haveেলে দেওয়া হয়েছে। কেবলমাত্র ফিক্সগুলি পুনর্বিবেচিত করার জন্য নিজেকে আলাদা আলাদা ব্রাউজারের সমস্ত ডিওএম মাথা ব্যাথা করার কোনও কারণ নেই।


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

সত্য, চাকাটি জানুন - তবে সর্বদা বিভিন্ন অঞ্চলগুলির জন্য একই টায়ার ব্যবহার করবেন না। যেমন। আপনার প্রয়োজনীয় সমস্ত এজাক্স ট্রান্সপোর্ট ইত্যাদি (আপনার প্রকল্পের জন্য) কেন পুরো jQuery লাইব
আলী

1
এই প্রশ্নের উত্তর নিজেই একটি প্রশ্ন - কেন আমরা আমাদের কোড সম্পাদনা করার জন্য আইডিই ব্যবহার করি না এবং সাধারণ নোটপ্যাড ব্যবহার করি না? :)
নবীন ইসরানী

11

যখন ব্যবহারকারী জাভাস্ক্রিপ্ট বন্ধ আছে বা জাভাস্ক্রিপ্ট উপলব্ধ নেই তখন তারা কীভাবে তাদের পৃষ্ঠাগুলি ব্যবহারযোগ্য হতে থাকবে তা নিশ্চিত করুন them

এর সত্যিকারের কোনও উত্তর নেই, তবে আপনি প্রগতিশীল বর্ধনের জন্য কিছু কৌশল সম্পর্কে কথা বলার উত্তরের জন্য সন্ধান করছেন ।

প্রগতিশীল বৃদ্ধি নিম্নলিখিত মূল নীতি নিয়ে গঠিত:

  • প্রাথমিক সামগ্রী সমস্ত ব্রাউজারে অ্যাক্সেসযোগ্য হওয়া উচিত
  • প্রাথমিক কার্যকারিতা সমস্ত ব্রাউজারে অ্যাক্সেসযোগ্য হওয়া উচিত
  • স্পারস, সিমেটিক মার্কআপে সমস্ত সামগ্রী রয়েছে
  • বর্ধিত বিন্যাস বাহ্যিকভাবে সংযুক্ত সিএসএস দ্বারা সরবরাহ করা হয়
  • বহিরাগতভাবে সংযুক্ত জাভাস্ক্রিপ্ট [[নিরবিচ্ছিন্ন জাভাস্ক্রিপ্ট | অবিচ্ছিন্ন]] দ্বারা বর্ধিত আচরণ সরবরাহ করা হয়েছে
  • শেষ ব্যবহারকারী ব্রাউজার পছন্দ সম্মান করা হয়

1
স্থপতি-স্তরের জেএস লোককে ভাড়া দেওয়ার সেরা প্রশ্ন :)
নবীন ইসরানী

প্রথমত, আমাকে বোঝান জেএস-টার্নড-এ থাকা কোনও ব্যক্তির ডার্ক-ওয়েবে নয় আসল ওয়েবে বিনিয়োগ করা মূল্যবান। এই ব্যবহারকারীরা সম্ভবত অত্যধিক বেমানান বা কোনও ব্রাউজার ব্যবহার সম্পর্কে অজ্ঞান এবং ভুলভাবে জেএসকে টগল করেছেন, যেভাবেই হোক না কেন, তাদের রূপান্তরিত হওয়ার সম্ভাবনা কারও কাছেই কম নয়।
vsync


6

"আপনি কোন ইউনিট পরীক্ষার কাঠামো ব্যবহার করেন? এবং কেন জিজ্ঞাসা করুন?"

আপনি যদি সিদ্ধান্ত নিতে পারেন যে প্রকৃতপক্ষে কোনও পরীক্ষার কাঠামো ব্যবহার করা প্রয়োজন তবে কথোপকথনটি আপনাকে ব্যক্তি সম্পর্কে বিশেষজ্ঞ সম্পর্কে অনেক কিছু বলতে পারে।


1
একটি রেফারেন্স হিসাবে, কুইনিট
গিউইক্স

0

মধ্যবর্তী প্রোগ্রামারদের তাদের সরঞ্জামগুলির প্রযুক্তিগত আয়ত্ত থাকতে হবে।

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


4
পোর্টফোলিওগুলি সর্বোপরি একটি দরিদ্র মেট্রিক - আজকের বিশ্বে, জেএস এন্টারপ্রাইজ বিশ্বের একটি নিখুঁতভাবে গৃহীত সরঞ্জাম, যেখানে প্রকল্পগুলি সম্ভবত আপনি যে কোনও পোর্টফোলিওকে পরাজিত করতে পারে এবং যেখানে পাবলিক রেপো কোনও জিনিস নয়।
ইলিয়া আইজেনশটোক

1
@ ইলিয়াএজেনশটোক এটি আমার সংশয়ের একটি অংশ। আমার যখন 99% কাজ মালিকানাধীন / বেতন দেওয়ালের আড়ালে / অভ্যন্তরীণ থাকে তখন আমার পক্ষে পোর্টফোলিও দেখানো কঠিন ...
স্পার্টাকাস

1
@ স্পার্টাকাস - আপনি স্ক্রিনশট নিতে পারেন এবং সাক্ষাতকারকে এতে আপনার বিধি এবং পথের মধ্যে বাধা সম্পর্কে ব্যাখ্যা করতে পারেন। ওপেন সোর্স প্রকল্পগুলি সম্পর্কিত, প্রকল্পগুলিতে দেখা ব্যক্তির কোডিং স্তরের তুলনায় প্রশ্নগুলি সামঞ্জস্য করার জন্য একটি সাক্ষাত্কারের আগে একজন ব্যক্তির মূল্যায়ন করার দুর্দান্ত উপায় are
vsync
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.