ঠিক যেমন শিরোনামটি বলেছে, আপনার প্রিয় হোয়াইটবোর্ড সাক্ষাত্কার সমস্যাটি কী এবং কেন এটি আপনার পক্ষে কার্যকর প্রমাণিত হয়েছে?
জুনিয়র, সিনিয়র, জাভা, সি, জাভাস্ক্রিপ্ট, পিএইচপি, এসকিউএল, সিউডো-কোড ইত্যাদি
ঠিক যেমন শিরোনামটি বলেছে, আপনার প্রিয় হোয়াইটবোর্ড সাক্ষাত্কার সমস্যাটি কী এবং কেন এটি আপনার পক্ষে কার্যকর প্রমাণিত হয়েছে?
জুনিয়র, সিনিয়র, জাভা, সি, জাভাস্ক্রিপ্ট, পিএইচপি, এসকিউএল, সিউডো-কোড ইত্যাদি
উত্তর:
আমি আমার প্রতিদিনের দিনের কাজটিতে প্রকৃতপক্ষে যে সমস্যার মুখোমুখি হয়েছিলাম তার সমাধানের জন্য আমি প্রার্থীকে বলি । এটি করে, আমি আমার এবং প্রার্থীর মধ্যে একটি সংলাপ তৈরি করার চেষ্টা করি। তিনি যে নকশাটি তৈরি করছেন তা নিয়ে আমি এমনভাবে আলোচনার চেষ্টা করব যেন আমি সমস্যা সম্পর্কে আগে কখনও ভাবি নি।
আমি যা মূল্যায়ন করার চেষ্টা করি তা হ'ল আমরা একে অপরকে বুঝতে সক্ষম কিনা এবং আমরা কোনও বিভ্রান্তি ছাড়াই কোনও প্রযুক্তিগত সমস্যা নিয়ে কথা বলতে পারি কিনা।
(একটি জাভা ডেস্কটপ বিকাশকারী জন্য)
ওয়েব ব্রাউজারের নেভিগেশন ইতিহাস পরিচালনা করার জন্য একটি এআইপিআই ডিজাইন করুন (পূর্ববর্তী পৃষ্ঠা, পরবর্তী পৃষ্ঠা, 10 পূর্ববর্তী পৃষ্ঠাগুলি তালিকাবদ্ধ করুন), এবং এটি অ্যাপ্লিকেশনটির অনেক অংশে পুনরায় ব্যবহারযোগ্য হতে পারে (এখানে আমি আমাদের অ্যাপে দৃ concrete় উদাহরণ দিই)। তারপরে, একটি বাস্তবায়ন স্কেচ করুন।
আমি এটি পছন্দ করি, কারণ এটি যথেষ্ট সহজ, এটি চিত্রিত করা সহজ, এটি ধাপে ধাপে সমাধান করা যেতে পারে (সমস্ত কিছু না ভাঙ্গিয়ে অতিরিক্ত আচরণ যুক্ত করুন), এটি প্রান্তের কেস এবং ত্রুটি পরিচালনার বিষয়ে কথা বলতে দেয় এবং এটি ডেটা সম্পর্কে কথা বলতেও দেয় স্ট্রাকচার।
প্রার্থীদের সাক্ষাত্কার দেওয়ার সময় এবং সেখানে কোনও ব্যবসা নেই এমন লোকদের ফিল্টার করার সময় আমি এটি অত্যন্ত আলোকিত করে দেখেছি। এটি ফিজ বাজ-এর মতো জটিল, তবে ডাটাবেস দক্ষতায় ফোকাস করে।
Assuming the following basic table structure
Documents (DocID, DocDate)
Keywords (KeyWordID, KeyWord)
DocumentKeywords (DocID,KeywordID)
Write a query to return the following:
Part 1: Documents with a DocDate after 4/1/1995
Part 2: Documents that contain the keyword "Blue"
Part 3: Documents that contain the either the keyword "Blue" or "Yellow"
Part 4: Documents that contain the both the keywords "Blue" and "Yellow"
আমি তাদের যে কোনও এসকিউএল বৈকল্পিকটিতে এটি লিখতে দিয়েছি, এবং ছোটখাটো সিনট্যাক্স সমস্যা নিয়ে খুব পছন্দ করি না। আমি মূলত জানতে চাই যে তারা বেসিক রিলেশনাল ডিবি ধারণাগুলি বুঝতে পারে।
বেশিরভাগ প্রার্থী কোনও সমস্যা ছাড়াই অংশ 3 এর মাধ্যমে পেতে পারেন। আপনি অবাক হবেন যে কতজন মনে করেন যে অংশ 4 এর উত্তরটি কেবল অপারেটরটি OR থেকে এবং যেখানে সারণিতে পরিবর্তন করতে হবে।
"হোয়াইটবোর্ডে আমার জন্য কোনও সংবেদনশীল বিশদ প্রকাশ না করে আপনি যে শেষ প্রকল্পটির উপর কাজ করেছিলেন তার নকশা আঁকুন।"
প্রয়োগ করুন strcpy
, strcmp
এবং বন্ধুরা।
atoi()
।
strdup()
।
strrev()
বিপরীত ফাংশনটি বাস্তবায়ন বা স্ট্রিং করতে বলেছিল । আমার হোয়াইট বোর্ড সমাধান তাদের মুগ্ধ করেছে এবং আমি এখন কাজ করছি।
আমার প্রিয় যা কয়েকটি শাখাকে ঘিরে রয়েছে তা হ'ল ইন্টারফেস (সি # তে) বাইনারি গাছের নোডের সংখ্যা গণনা:
public interface IBinaryTree<T>
{
IBinaryTree<T> Left
{
get;
}
IBinaryTree<T> Right
{
get;
}
T Data
{
get;
}
// Other properties and methods not germane to this problem.
}
এবং কেবল মজাদার জন্য, বাস্তবায়ন এখানে, যদিও ইন্টারভিউয়ের এটি দেখার দরকার নেই।
public sealed class BinaryTree<T> : IBinaryTree<T>
{
private readonly IBinaryTree<T> left;
private readonly IBinaryTree<T> right;
private readonly T data;
public BinaryTree(
IBinaryTree<T> left,
IBinaryTree<T> right,
T data)
{
this.left = left;
this.right = right;
this.data = data;
}
public IBinaryTree<T> Left
{
get
{
return this.left;
}
}
public IBinaryTree<T> Right
{
get
{
return this.right;
}
}
public T Data
{
get
{
return this.data;
}
}
// Other properties and methods not germane to this problem.
}
এবং সহকারী শ্রেণি:
public static class BinaryTreeNodeCounter
{
public static int CountNodes<T>(this IBinaryTree<T> tree)
{
// TODO: What goes here?
}
}
আমি যে সমাধানটি দেখতে চাই তা হ'ল:
public static class BinaryTreeNodeCounter
{
public static int CountNodes<T>(this IBinaryTree<T> tree)
{
return tree == null
? 0
: 1 + tree.Left.CountNodes() + tree.Right.CountNodes();
}
}
এটি যেমন জ্ঞান প্রদর্শন করে:
দুটি প্রশ্ন যা আমার জন্য আকর্ষণীয় হোয়াইটবোর্ড আলোচনার বিষয়বস্তু রয়েছে
এগুলি সহজ শুরু করে এবং পরে ক্রমান্বয়ে আরও জটিল হয়।
আমি কোনও ধাঁধা বা ডিজাইনের প্রশ্নটিকে হোয়াইটবোর্ড প্রশ্ন হিসাবে ব্যবহার করতে পছন্দ করি না। আমি সোজাসাপ্টা, সহজ, প্রশ্নগুলি পছন্দ করি যা পরীক্ষার্থীর কিছু কোড লেখার ক্ষমতা পরীক্ষা করে। আমার প্রিয়গুলি হ'ল:
1) একক লিঙ্কযুক্ত তালিকার বিপরীতে ফাংশন লিখুন। (তারা বুঝতে পারে যে তাদের 3 টি পয়েন্টার প্রয়োজন আগে কিছুটা সময় নেয়))
2) একটি বাইনারি গাছ দেওয়া, বাইনারি গাছের গভীরতা সন্ধান করুন। (এই প্রশ্নটি পুনরাবৃত্ত কোডগুলি লেখার তাদের দক্ষতার পরীক্ষা করে। তাদের বেস কেস অক্ষত আছে কিনা তা আমাকে পরীক্ষা করতে দেয়))
3) বাইনারি পূর্ণসংখ্যার অ্যারে অনুসন্ধানের জন্য একটি পদ্ধতি লিখুন। (জোন বেন্টলে যেমন বলেছেন (প্রোগ্রামিং পার্লস তে), অনেকে বাইনারি অনুসন্ধানে ভুল করতে ঝোঁক হন One তারপরে বাগ খুঁজে পাওয়া, পরীক্ষার কেসগুলি লেখার, কোডের মাধ্যমে চলমান ইত্যাদি নিয়ে অনুসরণ করা যেতে পারে))
আমি এটির জন্য কাজ করেছি এমন একটি সংস্থায় আমরা এটি ব্যবহার করেছি।
আমরা প্রার্থীকে ট্র্যাকিংয়ের সময় ব্যবহৃত এক টুকরো কাগজ হস্তান্তর করি। এটি এক বা আমাদের বিভাগ দ্বারা ব্যবহৃত সত্যিকারের টাইমশিট ছিল। আমরা পরীক্ষার্থীকে আরও ভাল সময় ট্র্যাকিংয়ের সরঞ্জাম তৈরির জন্য ডিজাইন প্রক্রিয়াটি অনুসরণ করতে বলেছিলাম। কোন সীমানা নেই, কোন ভাষা ইত্যাদি বলা হয়নি, কেবলমাত্র দেখতে চান প্রার্থী "পূর্ণ জীবনচক্র" এ কত ভাল ছিলেন। তারা কীভাবে প্রয়োজনীয়তা সংগ্রহ করেছিল তা আমাদের সত্যিকারের অন্তর্দৃষ্টি দিয়েছে। তারা কীভাবে ডাটাবেস টেবিলগুলি কাঠামোবদ্ধ করেছিল, তারা কী ধরনের ইউআই করতে পারে। এই দক্ষতার জন্য স্পষ্টতই যোগাযোগ দক্ষতার প্রয়োজন ছিল। এটি বেশ কয়েকটি বড় সাদা বোর্ড সহ একটি ঘরে করা হত এবং এটি 2 ঘন্টা পর্যন্ত স্থায়ী হত।
আমরা এই প্রক্রিয়াটি ব্যবহার করে বেশ কয়েকজনকে নিয়োগ দিয়েছি এবং যদি তারা কার্যত সত্যিকার অর্থে কাজ করে তবে তারা আমাদের পক্ষে সত্যিই ভাল করেছে। যদি তারা প্রান্তিক হয় এবং আমরা যে কোনও উপায়ে তাদের আলাদা করে রাখার সিদ্ধান্ত নিয়েছি (পৃথক বিষয়) তারা প্রান্তিক প্রোগ্রামার ছিল।
আমি আমার প্রোগ্রামিং ডোমেনের সাথে প্রাসঙ্গিক একটি সমস্যা ব্যবহার করি।
যদি আমি ওয়েব অ্যাপ্লিকেশনগুলি বিকাশ করি তবে আমি দেখতে চাই যে তারা কীভাবে একটি ওয়েব ফর্ম আঁকতে পারে যা রেকর্ডগুলি মুছে দেয় এবং উদাহরণস্বরূপ, ডাটাবেস থেকে রেকর্ডটি সরিয়ে নিতে তারা কী পদ্ধতি গ্রহণ করতে পারে। এটি আমাকে জানায় যে তারা যদি ডাটাবেসের মূল নীতিগুলি জানেন, মুছে ফেলা যাচাই করতে তারা কীভাবে ব্যবহারকারীর সাথে ইন্টারঅ্যাক্ট করেন এবং তারা যদি জানেন যে নরম মুছুন কী।
আমার পছন্দ নেই আমি যে সমস্যাটি বেছে নিয়েছি তা কাজের উপর নির্ভর করে ব্যাপকভাবে পরিবর্তিত হবে।
কোনও সাক্ষাত্কারে তারা সমস্যাটি পুরোপুরি সমাধান করতে পারে কি না, কোন প্রযুক্তি এবং ভাষা ব্যবহার করে, বা হোয়াইটবোর্ডে তাদের কোডটি কতটা কৃপণ দেখাচ্ছে তা আমার কোনও মাথাব্যথা নেই। আমি একটি চিন্তার ধরণ খুঁজছি; তারা কীভাবে সমস্যার মধ্য দিয়ে চিন্তা করতে এবং সমাধান করতে জানে তা আমি দেখতে চাই।
আমার প্রিয় এক আমার ব্যবহৃত বন্ধু ছিল।
প্রথম "এন" প্রাথমিক সংখ্যা উত্পন্ন / মুদ্রণ / সঞ্চয় করতে আমাকে একটি ফাংশন লিখুন এবং তারপরে এটি কীভাবে কার্যকর হয় এবং কীভাবে কার্যকরী তা ব্যাখ্যা করুন।
এটি ভাল কাজ করে কারণ:
এটি একটি অ্যালগোরিদমিক প্রশ্ন তাই এটির জন্য মধ্যস্থতাকারী চিন্তা করতে এবং তার চিন্তাভাবনাটি ব্যাখ্যা করতে সক্ষম হয় - যাতে আপনি দেখতে পারেন তাদের মস্তিষ্ক কীভাবে কাজ করে।
এটি ভাষা স্বাধীন।
খুব সহজেই কেউ এটিকে পুরোপুরি সঠিকভাবে পেয়েছে (সাধারণত কোনও প্রান্তের কেস তারা মিস করে (1 বা 2 সাধারণত)), বা তারা নেতিবাচক সংখ্যাগুলি পরিচালনা করে না, তাই আপনি কীভাবে কীভাবে বাগগুলি পরিচালনা করেন এবং সেটিকে ভুল বলা হচ্ছে তা দেখতে পাবেন।
বেশিরভাগই এটি একটি সাধারণ তবে খুব ধীর চালনী হিসাবে করেন (উদাহরণস্বরূপ, 80% লোকেরা এন এর চেয়ে কম পূর্ণসংখ্যার দ্বারা n কে ভাগ করে নেওয়ার বিষয়টি পরীক্ষা করে দেখবে), যা আপনাকে কীভাবে অ্যালগোরিদমের ভিত্তিতে উন্নত করতে পারে সে সম্পর্কে কথোপকথনের প্রচুর সুযোগ দেয় you স্থান / সময় বাণিজ্য বন্ধে যেমন "আপনি যদি ইতিমধ্যে 2 টি দিয়ে বিভাজ্য নন তবে আপনি কেন একটি সংখ্যা 4 দিয়ে ভাগ করছেন?" বা "আপনি কাজ করে গিয়েছেন যে আপনাকে কেবল সমস্ত মূল সংখ্যা দ্বারা স্কয়ারটি (এন) এর চেয়ে কম ভাগ করতে হবে, তবে এর জন্য আপনাকে এই সংখ্যাগুলি কোথাও সংরক্ষণ করতে হবে, সুতরাং এর প্রভাবগুলি কী?")
উত্তরটি সঠিকভাবে পাওয়ার জন্য তাদের কোনও প্রয়োজন নেই। যদি কেউ তাদের চিন্তাভাবনা চিন্তা করতে এবং ব্যাখ্যা করতে পারে তবে তারা একজন ভাল প্রার্থী হওয়ার জন্য রাস্তা থেকে অনেক দূরে।
Aff_z নামক কিছু, যা আমার ইঞ্জিনিয়ারিং স্কুলের সি পরীক্ষার অংশ ছিল এবং ছুটির দিন থেকে ফিরে এসে শিক্ষার্থীদের ব্যর্থ করতে "ডামি" পরীক্ষা হিসাবে ব্যবহৃত হত (আমাদের চিহ্নিতকরণ সিস্টেমটি বোঝায় যে কোনও পরীক্ষায় ব্যর্থ হওয়া চিহ্নিতকরণকে থামিয়ে দেয়, তাই ডামি পরীক্ষায় ব্যর্থ হবে আপনার পুরো পরীক্ষাটি অবৈধ করুন you আপনাকে মরোনিক বিশদগুলিতে মনোযোগ দিতে বাধ্য করুন)। আমি সাক্ষাত্কারের সময় এটি একবার বা দুবার ব্যবহার করেছি।
যাইহোক ... আমি সঠিক সূত্রটি ভুলে গিয়েছিলাম তবে এটি এমন কিছু ছিল ...
Write a function taking a single char parameter named c and returning nothing (void).
You function must satisfy the following requirements:
- if c is bigger or equal to 0, then print 'z' to standard output
- if c is stricly smaller than 0 , then print 'z' to standard output
- in any other case, print the letter 'z' to standard output
দুঃখজনক বিষয় হ'ল উত্তরটি মোটামুটি সুস্পষ্ট হয়ে উঠলে কেবলমাত্র কিছু শিক্ষার্থীই চূড়ান্তভাবে বিশৃঙ্খলাযুক্ত সমাধানগুলি উপস্থিত করতে পারে না, তবে কেউ কেউ ব্যর্থ হতেও পারে।
এবং বিশ্বাস করুন বা না করুন, এটি সাক্ষাত্কারের সময়ও হয়েছিল।
সাক্ষাত্কারে এটি চালানো মোটামুটি মজাদার ছিল, কারণ কিছু আবেদনকারী সম্ভাব্য শাখাগুলি লিখতে শুরু করবেন এবং তারপরে কী ভুল তা বুঝতে পারবেন (স্পষ্টতই, আপনি যদি কেবল তাদের মুখে মুখে জিজ্ঞাসা করেন, তবে এটি যথেষ্ট বোধগম্য যে তারা আপনার কথা বলার সাথে সাথে করে ... তবে আপনি যদি এটি লিখিতভাবে দিন, আমি এটি বিস্মিত মনে করি ...)
এটি বোবা, তবে আমি অনুমান করি এটি একটি সংক্ষিপ্ত স্ক্রিনিং (একইভাবে, জেএস প্রোগ্রামারদের নিয়োগের সময়, আমি সর্বদা জিজ্ঞাসা করি কীভাবে পরিবর্তনশীল কীভাবে ঘোষণা করতে হয়, এবং তারপরে ভার ব্যবহার করা বা না করা কোনও উত্তর দেয় না সে বিষয়ে তাদের উত্তরের উপর নির্ভর করে often বেশিরভাগ সময় একটি দুঃখের মুহূর্ত, সত্যি বলতে.)
variablename = variablevalue;
তবে ভাল ব্যক্তিরা কেবল ফোনে বা ব্যক্তিগতভাবে হাসে এবং সরাসরি কীভাবে তার সাথে বা বিস্মৃত হবে তা আমাকে বলে দেয় var
)।
এটি সত্যই আপনি যা খুঁজছেন তা নির্ভর করে, এমন একটি সংস্থা হিসাবে যা চিত্রগুলিতে জড়িত প্রচুর গতিশীল ওয়েব কাজ করে, আমি চাকরীর ক্ষেত্রে জ্যামিতির প্রশ্ন জিজ্ঞাসা করতে চাই। যাই হোক না কেন, আমি জ্যামিতি প্রশ্ন জিজ্ঞাসা করতে ঝোঁক, কারণ আমি এটি একটি ভাল গণিত পরীক্ষা বলে মনে করি যা সুন্দর এবং দর্শনীয় এবং পরীক্ষার্থীদের কোনও সমস্যার মধ্য দিয়ে তাদের কাজ এবং পদ্ধতিগতভাবে কাজ করার দক্ষতা প্রদর্শন করতে পারে।
উন্নত প্রার্থীদের জন্য আমি মাঝে মাঝে নিম্নলিখিত প্রশ্নটি দিই:
এই চিত্রটি একটি ক্রিসেন্ট চাঁদ দেখায়। বি থেকে ডি পর্যন্ত ক্রিসেন্টের প্রস্থ 9 সেন্টিমিটার এবং ই এবং এফ, 5 সেন্টিমিটারের মধ্যে। সি বৃহত্তর বৃত্তের কেন্দ্র।
ক) অনুগ্রহ করে ক্রিসেন্টের ক্ষেত্রফলটি গণনা করুন।
খ) কোনও নির্দিষ্ট আকার থেকে অভ্যন্তরীণ বৃত্তে ফিট করতে কোনও চিত্রের আকার পরিবর্তন করার জন্য প্রয়োজনীয় গণনাগুলি বর্ণনা করুন এবং কেন্দ্র বিন্দুটি জানা থাকলে এটি বৃত্তের মধ্যে রাখুন।
আরও সহজ প্রশ্নের জন্য আমি সাধারণত একই ধরণের প্রশ্ন করি তবে "স্কোয়ারের মধ্যে একটি বৃত্তের মধ্যে বর্গক্ষেত্র" উদাহরণ ব্যবহার করি। যদিও এটি খুব সহজ, তাই আমি এটিতে সঠিক বীজগণিত আশা করব।
তারও বেশি এবং তার উপরে, আমি তাদের পরিবর্তনশীল দৈর্ঘ্যের ডেটা সেটের সমস্ত সংমিশ্রণ উত্পন্ন করার জন্য একটি অ্যালগরিদম কড়াতে বলি।
আমি দেখেছি সেরা FizzBuzz উত্তরগুলি হ'ল :
এসকিউএল সার্ভার ২০০৮
;WITH mil AS (
SELECT TOP 100 ROW_NUMBER() OVER ( ORDER BY c.column_id ) [n]
FROM master.sys.all_columns as c
CROSS JOIN master.sys.all_columns as c2
)
SELECT CASE WHEN n % 3 = 0 THEN
CASE WHEN n % 5 = 0 THEN 'FizzBuzz' ELSE 'Fizz' END
WHEN n % 5 = 0 THEN 'Buzz'
ELSE CAST(n AS char(6))
END + CHAR(13)
FROM mil
সি # (সাধারণ)
foreach (int number in Enumerable.Range(1, 100))
{
bool isDivisibleBy3 = (number % 3) == 0;
bool isDivisibleBy5 = (number % 5) == 0;
if (isDivisibleBy3)
Console.Write("Fizz");
if (isDivisibleBy5)
Console.Write("Buzz");
if (!isDivisibleBy3 && !isDivisibleBy5)
Console.Write(number);
Console.WriteLine();
}
সি # (চালাক)
Enumerable
.Range(1, 100)
.Select(i =>
i % 15 == 0 ? "FizzBuzz" :
i % 5 == 0 ? "Buzz" :
i % 3 == 0 ? "Fizz" :
i.ToString())
.ToList()
.ForEach(s => Console.WriteLine(s));
আমি সাক্ষাত্কার দিয়েছি এমন প্রার্থীদের কয়েকটি বিষয় সন্ধান করি। কারণ হিসাবে আমি অনলাইনে বর্ণনা করতে পারি না, আমরা বেশ দরিদ্র প্রার্থী পেয়েছি এবং আমি এটির প্রত্যাশা করতে এসেছি, তাই আমি তাদের পক্ষে বেশ সহজ। এমনকি এখনও, আমি সন্ধান করি:
ডিজাইনের সচেতনতা
"আমাকে ঠিকানা বই প্রোগ্রামের টেবিল কাঠামোটি দেখান যার নাম্বার (সেল / হোম / ওয়ার্ক / ইত্যাদি।) সহ একাধিক ফোন নম্বর থাকতে পারে এমন প্রথম এবং শেষ নামগুলির সাথে যোগাযোগ রয়েছে" "
আমি এখানে কোনও ইউএমএল ২.০ স্পেস ডায়াগ্রাম খুঁজছি না, এখানে একটি সাধারণ বুদ্বুদ ডায়াগ্রাম ভাল। যতক্ষণ না এটি যুক্তিসঙ্গত।
একটি ডাটাবেস (যেমন। এসকিউএল) দিয়ে কাজ করার জ্ঞান
পরীক্ষার জ্ঞান
মনে করুন স্বাক্ষর সহ এমন একটি পদ্ধতি public IEnumerable<PhoneNumber> GetPhoneNumbers(string lastName)
বিদ্যমান যা আপনার কোয়েরির ফলাফলগুলি পূর্ব থেকে প্রদান করে। ধরে নিন যে আপনি যদি পদ্ধতিতে কোনও নাল পাস করেন তবে এটি একটি নুলারফেরান এক্সেপশন নিক্ষেপ করে। এই কার্যকারিতাটি প্রদর্শনের জন্য একটি পরীক্ষা লিখুন।
একটি পরীক্ষা লিখুন যা দেখায় যে গেটফোন নাম্বারগুলি সর্বশেষ নাম "স্মিথ" সহ কারও জন্য (123)456-7890 এর একটি হোম ফোন নম্বর প্রদান করবে।
কিভাবে কিছু কোড লিখতে হবে তা জ্ঞান
এমন একটি পদ্ধতি প্রয়োগ করুন যা আপনার লেখা পরীক্ষাগুলির প্রয়োজনীয়তা পূরণ করবে।
আমরা যে আবেদনকারীদের পেয়েছি তাদের সংখ্যা এবং গুণাগুণ বিবেচনা করে, আমি যারা কখনও গুরুতরভাবে প্রয়োগ হয়েছে তাদের সাক্ষাত্কার নিয়েছি। আমি কাউকেই ভাড়া দিয়েছি।
ব্লকগুলির মধ্যে সম্পর্কের বিষয়ে জিজ্ঞাসা করে এবং তারা যে ব্লকটিতে কাজ করছেন / দায়িত্বে ছিলেন সে বিষয়ে তাদের আরও বিস্তৃত করার চেয়ে আমি সাধারণত তাদের শেষ ব্যবস্থার ব্লক চিত্রটি স্কেচ করতে দিয়েছিলাম। আপনি এই অনুশীলনটি থেকে অনেকগুলি শিখতে পারেন, যেমন তার ছোট ডোমেনের বাইরে কেউ কীভাবে দেখায়, 'তিনি কোথায় অভিনয় করছেন' তা জানা তাঁর পক্ষে কতটা গুরুত্বপূর্ণ, এছাড়াও তিনি কী ভূমিকা পালন করছিলেন সে সম্পর্কেও শিখতে পারেন, এটি কী কী বা দিক ছিল ভূমিকা.
নিম্নলিখিত সমস্যার জন্য একটি আলগোরিদিম লিখুন: একটি নম্বর দেওয়া এন , আউটপুট (অনন্য) বাইনারি গাছ আছে মোট সংখ্যা এন নোড।
সুতরাং, এন = 0 এবং এন = 1 এর জন্য, উত্তরটি 1 টি। এন = 2 এর জন্য আপনার কাছে 2: রুট নোড এবং তারপরে দ্বিতীয় নোডটি হয় বাম বা ডানদিকে।
আপনি ডিজাইনের কৌশলগুলির মধ্যে অন্তর্দৃষ্টি অর্জন করতে পারেন এবং তারা পুনরাবৃত্তি বা স্মৃতিচারণ বা ডায়নামিক প্রোগ্রামিং সমাধান সম্পর্কে মনে করে কিনা তা দেখতে পারেন।
[ বাইনারি-অনুসন্ধান গাছের ক্ষেত্রে সম্পর্কিত সম্পর্কিত, তবে আলাদা, এই স্ট্যাকওভারফ্লো আলোচনাটি দেখুন ]]
যদি আমি কোনও সফ্টওয়্যার বিকাশকারীকে সাক্ষাত্কার দিতে চাই, আমি তাকে একটি সফ্টওয়্যার ডিজাইন করতে এবং প্রতিটি লাইনে একটি সম্পূর্ণ নাম সম্বলিত একটি ইচ্ছাকৃত বৃহত ফাইল থেকে সদৃশ এন্ট্রিগুলি সরাতে হার্ডওয়্যার প্রয়োজনীয়তা বর্ণনা করতে বলি। আমি সমস্যার বর্ণনামূলক কিছু অংশ উদ্দেশ্যমূলকভাবে রেখেছি। তারপরে আমি তাকে চ্যালেঞ্জ জানাতে চাই যে সেগুলি বিশ্লেষণ এবং প্রয়োজনীয়তা, বিভিন্ন বাণিজ্য-অফস, ডেটা স্ট্রাকচার এবং অ্যালগরিদম, আই / ও (গৌণ স্টোরেজ), সফ্টওয়্যার এবং হার্ডওয়্যার প্রযুক্তিগুলি, স্কেলাবিলিটি ইত্যাদি বুঝতে পারে কিনা if
আমি মনে করি এটি একটি ছোট তবে চ্যালেঞ্জিং সমস্যা, অনেকগুলি কম্পিউটিং ক্ষেত্রে আবেদনকারীর জ্ঞান এবং দক্ষতা প্রকাশ করে।
Implement function/method(on c/c++/c# whatever), which calculates n-th item of Fibonacci sequence
অনেক ছেলে এই উপর আটকে যেতে পারে। যদি কিছু সমাধান দেওয়া হয় - সাধারণত এটি পুনরাবৃত্তি ব্যবহার করে। তারপর:
Implement the same via 'for'-loop
আপনাকে বলতে পারি না, কতজন ফেলো উভয় কাজই শেষ করতে ব্যর্থ হয়েছে - 50% প্রার্থী।
এজন্যই আমি এটি পছন্দ করি :)
fib(n)=round(power(PHI,n)/SQRT5)
। পিএইচআই এবং এসকিউআরটি 5 হ'ল যথাক্রমে স্বর্ণের অনুপাত (1.618 ...) এবং 5 এর বর্গমূলকে উপস্থাপন করে।
ডাটাবেসগুলির জন্য আমি এখানে যাচ্ছি:
টেবিল: জিনিস আইডি নাম 1 বোডকিন ভ্যান হর্ন 2 হু-ফস 3 হু-ফস 4 হট-শট 5 মারভিন ও'গ্রাভাল বেলুন ফেস 6 স্নিম্ম 7 মারভিন ও'গ্রাভাল বেলুন ফেস 8 মারভিন ও'গ্রাভাল বেলুন ফেস 9 ডেভ
আমাকে এমন কিছু এসকিউএল লিখুন যা নামের উপর ভিত্তি করে এই জাতীয় একটি টেবিলটি অনুলিপি করবে (এবং আমি কোন আইডি ফিরে পাব তা কিন্তু যত্ন করি না তবে যেটি ফিরে আসে তা অবশ্যই সেই নামের জন্য বৈধ হতে হবে)। সুতরাং একবারে সঠিক এসকিউএল প্রয়োগ করা হলে টেবিলটি এরকম কিছু উপস্থাপন করবে:
টেবিল: জিনিস আইডি নাম 1 বোডকিন ভ্যান হর্ন 2 হু-ফস 4 হট-শট 5 মারভিন ও'গ্রাভাল বেলুন ফেস 6 স্নিম্ম 9 ডেভ
আমি এটা পছন্দ করি কারণ:
(এখানেই আমি দেখতে পেলাম যে এটি করার কিছু সম্পূর্ণ তুচ্ছ উপায় আছে এবং আমি এত বছর এটিকে জটিল করে ফেলেছি)।
SELECT min(ID), Name FROM Things GROUP BY Name
কাজ করবে, তাই না?
HAVING count(Name) > 1
তবে আমি অনুমান করি যে আপনার নমুনা উত্তরে বোডকিন ভ্যান হর্ন, হট শট, স্নিম্ম এবং ডেভ বাদ দেওয়া উচিত।
DELETE FROM Things WHERE ID NOT IN (SELECT MIN(ID) FROM Things GROUP BY Name)
। আপনার কি পছন্দসই সমাধান রয়েছে?
আমার প্রিয় সি ++ হোয়াইটবোর্ড সমস্যাটি হ'ল প্রার্থী বাস্তবায়ন করা
Vector3 a(1, 0, 0), b(0, 1, 0); // Mathematical 3D vectors
double c = 7.0;
double d = a * c;
Vector3 e = a * b;
এ থেকে আমি শিখতে পারি
আপনি কিভাবে একটি স্ট্যান্ডার্ড 52 কার্ড ডেক উপস্থাপন করবেন? যে কোনও প্রোগ্রামিংয়ের ভাষা ঠিক আছে। আপনি কীভাবে কার্ডগুলি এলোমেলো করবেন?
আমার প্রিয় হ'ল প্রিন্টফের প্রোটোটাইপ জিজ্ঞাসা করে। তারপরে একটি নিম্ন স্তরের এপিআই প্রিন্টক (চর সি) দেওয়া হবে যা একটি অক্ষর মুদ্রণ করবে, প্রিন্টফ প্রয়োগ করবে। স্ট্যাকটি সিপিইউর একটি অংশের মতো সব ধরণের আকর্ষণীয় প্রতিক্রিয়া দেয়। আপনি যেমন অনুমান করতে পারেন আমি একটি সি এবং এমবেডেড ব্যাকগ্রাউন্ড থেকে এসেছি।
varargs()
বা এর মতো কিছু ফাংশন করতে হবে। আমি কি সঠিক? আমি এটি একবার করে বললাম আমি এটি কিছুক্ষণ আগে করেছি।
এটিতে 200 টি মাছের সাথে আপনার একটি বাটি রয়েছে। এই মাছগুলির মধ্যে 99% গাপি নয়। আপনার কয়টি মাছ অপসারণ করা উচিত যাতে কী পরিমাণ অবশিষ্ট থাকে তার 2% গাপি থাকে। তোমার কাজ দেখাও.
এটি বিভ্রান্তিকর প্রয়োজনীয়তা সম্পর্কে। একই প্রশ্নের সময় একাধিকবার দৃষ্টিভঙ্গি পরিবর্তন করার জন্য এটি বলা হয়। এটি সত্যিকার অর্থে কী চলছে তা তারা বুঝতে পারে কিনা তা বোঝার জন্য is
আপনি অবাক হবেন যে কত লোক এটি ভুল করে ফেলে।
answer = 100
। [ধরে নিচ্ছি আপনি বেছে বেছে অন্য মাছ বাছাই করতে পারেন। গুপ্পিজগুলি মুছে ফেলা হলে, অন্য উত্তর রয়েছে]
আমার কয়েকটি প্রিয় আছে তবে এখানে এমন একটি দম্পতি রয়েছে যা প্রায় সবসময় সামনে আসে। বেশিরভাগ সময় আমি চূড়ান্ত রাউন্ড টেকনিক্যাল (সি ++) সাক্ষাত্কারগুলি করি তাই দীর্ঘতর এবং আরও বেশি উন্মুক্ত প্রশ্নের পক্ষে যায় যা নতুন নতুন আগ্রহের ক্ষেত্রগুলিতে নিয়ে যায়। কোনও 'সঠিক' উত্তর নেই, অন্য কথোপকথনের খোলার মাত্র।
1) একটি বেসিক শেয়ার্ড পয়েন্টার বাস্তবায়ন, টিআর 1 এর তুলনায় কোথাও ঘাটতি রয়েছে বা তার প্রয়োগের ক্ষেত্রে শেয়ার পয়েন্টারগুলি বাড়ানো, এটি কীভাবে ব্যবহার করা উচিত ইত্যাদি ব্যাখ্যা
2) একটি কোড পর্যালোচনা। অভিজ্ঞ ভাড়াগুলির জন্য আমরা আশা করি তারা ডিজাইনের সমস্যা, ত্রুটি, কোডিং ভয়াবহতা এবং সম্ভাব্য রক্ষণাবেক্ষণ সমস্যার জন্য কয়েকটি প্রদত্ত কোডকে আত্মবিশ্বাসের সাথে পর্যালোচনা করতে সক্ষম হবে বলে আশা করি। এছাড়াও, অবশ্যই, তারা কীভাবে এটি ঠিক করত; এবং কখনও কখনও তারা কীভাবে জুনিয়র বিকাশকারীকে তারা শুটিং করছে তা বার্তাটি দেবে।
একটি প্রশ্ন যা আমি যখন থেকে এটি আমার উপর ব্যবহার করা হয়েছিল তখন থেকে তা হ'ল:
1 এবং 100 এর মধ্যে সমস্ত সংখ্যা মুদ্রণের জন্য একটি ফাংশন লিখুন।
যে কারণে আমি এটি ব্যবহার করে চলেছি তার একটি বড় অংশই এরপরে আপনি সেখানে সমাধান নিতে পারেন এবং বিভিন্ন দিকে যেতে পারেন:
1 এবং 1000, 10000 বা n এর মধ্যে সমস্ত সংখ্যা মুদ্রণের জন্য আপনি কীভাবে ফাংশনটি সংশোধন করবেন ?
এই প্রশ্নের তাদের উত্তরগুলি আপনাকে পরিবর্তনের প্রয়োজনীয়তার সাথে কীভাবে প্রতিক্রিয়া জানায় পাশাপাশি পারফরম্যান্স বিবেচনার বিষয়টি বিবেচনা করতে পারে সে বিষয়ে অন্তর্দৃষ্টি দিতে পারে। একটি শক্তিশালী প্রার্থী ফাংশনটি কতবার ডাকা হবে তার জন্য কী প্রয়োজন তা সম্পর্কে একটি প্রশ্নের জবাব দিতে পারে।
অন্যদিকে চলছে:
আপনি কীভাবে জিনিসগুলি পরিবর্তন করবেন যদি আপনি জানতেন যে এই ফাংশনটি এক মিনিট কয়েকবার ডাকা হবে এবং পারফরম্যান্স একটি উদ্বেগের বিষয়?
আমি তাদের পার্শ্বীয় চিন্তাভাবনা পরীক্ষা করার একটি উপায় হিসাবে এটি ব্যবহার করি। যেহেতু সর্বাধিক মান বৃহত্তর হওয়ার সাথে সাথে প্রাথমিক সংখ্যার গণনা করা ধীর হতে পারে এটি কখনও কখনও গণিত বা প্রাক-গণনা করা লক-আপ টেবিলের কিছু প্রকারের ব্যবহার করতে আরও বেশি বোঝা দেয় যা আপনি সমাধান করার চেষ্টা করছেন তার ভিত্তিতে সামঞ্জস্য করা adj
কিছু ভাবাতে উত্সাহিত করার জন্য এখানে একটি - এটি সোজা, কিছুটা গণিতের সাথে জড়িত এবং প্রার্থীর বুনিয়াদি কম্পিউটার ডিজাইনের জ্ঞান পরীক্ষা করে (ওভারফ্লো, সংখ্যাগত উপস্থাপনা ইত্যাদি):
এমন একটি প্রোগ্রাম লিখুন (বা পদ্ধতি) যা এক্স, ওয়াইয়ের একজোড়া সংখ্যাকে ইনপুট হিসাবে গ্রহণ করে এবং এক্স * ওয়াইটি 10 দ্বারা সমানভাবে বিভাজ্য কিনা তা নির্ধারণ করে: গুরুত্বপূর্ণ দ্রষ্টব্য: এক্স এবং ওয়াই যথেষ্ট পরিমাণে বড় হতে পারে যে এক্স * ওয়াই সবচেয়ে বড় পূর্ণসংখ্য প্রকারের জন্য প্রবাহিত হবে আপনার মেশিনে
T_BOOL MultipleOfTen(int x, int y)
{
return((x%2==0 || y%2==0) && (x%5==0 || y%5==0));
}
নিম্নলিখিত পদ্ধতিটি পূরণ করুন: পিএস সংখ্যার একটি মোড হল সংখ্যা (তালিকায়) যা সবচেয়ে বেশি সংঘটিত হয়।
public int getMode(List<Integer> numberList) {
}
এটি আপনার কোডটি খদ্দেরদের দেখতে পাওয়া।
তুলনামূলকভাবে বড় ... এমন একটি স্পেয়ার ম্যাট্রিক্স আপনি কীভাবে উপস্থাপন করবেন ... বলুন 1000x1000 তবে সর্বাধিক 100 অ-শূন্য এন্ট্রি রয়েছে?