JavaRush /جاوا بلاگ /Random-UR /ایک تکنیکی انٹرویو میں ایروبیٹکس: میں گوگل، مائیکروسافٹ ا...

ایک تکنیکی انٹرویو میں ایروبیٹکس: میں گوگل، مائیکروسافٹ اور مزید میں کیسے آیا

گروپ میں شائع ہوا۔
Ace Your Technical Interview: What Got Me Into Google, Microsoft and More in the Startup community on Medium مضمون کا ترجمہ اور موافقت ۔ ایک تکنیکی انٹرویو میں ایروبیٹکس: میں گوگل، مائیکروسافٹ اور مزید میں کیسے آیا - 1اپنے پہلے انٹرن شپ انٹرویو سے پہلے، مجھے اندازہ نہیں تھا کہ تکنیکی سوالات بھی پوچھے جائیں گے۔ میں نے فرض کیا کہ "مجھے اپنے بارے میں بتاؤ" سوالات کا صرف ایک گروپ میرے انتظار میں ہوگا۔ تاہم، میں ان کے لیے بھی مناسب طریقے سے تیار نہیں تھا۔ میں نے کیریئر گائیڈنس سنٹر میں دو گھنٹے گزارے اور ہر ایک سے کچھ قیمتی مشورے حاصل کرنے کی کوشش کی، اور مزید دو گھنٹے گھر پر مختلف سوالات کے جوابات کی مشق کی۔ لیکن جب میں انٹرویو کے لیے آیا تو انٹرویو لینے والے نے میری خوبیوں اور کمزوریوں کے بارے میں نہیں پوچھا۔ اس کے بجائے، مجھے ایک مارکر دیا گیا اور بورڈ پر جانے کو کہا گیا۔ اور میں نے سوچا بھی نہیں تھا کہ وہ پہلے میری تکنیکی صلاحیتوں کو چیک کریں گے! اس نے مجھے حیرت میں ڈال دیا۔ میں نہیں جانتا تھا کہ سوالوں کے صحیح جواب کیسے دوں اور چند گھنٹوں بعد مجھے شائستہ انکار کے ساتھ ایک ای میل موصول ہوئی۔ خوش قسمتی سے اس واقعے کے بعد میرے کئی کامیاب انٹرویوز ہوئے۔ میں پچاس تکنیکی انٹرویوز کر چکا ہوں اور اپنے بہت سے دوستوں کو ان کے لیے تیار کر چکا ہوں۔ ایسا لگتا ہے کہ میرا نقطہ نظر کافی اچھا کام کرتا ہے، کیونکہ اس نے مجھے اور دوسروں کو گوگل، مائیکروسافٹ، ایپل، ایمیزون وغیرہ جیسی کمپنیوں میں انٹرویوز میں کامیاب ہونے میں مدد کی ہے۔ میں ذاتی طور پر سب کی مدد کرنا چاہوں گا، لیکن اس کے لیے کافی وقت نہیں ہے۔ میں جو سب سے بہتر کام کرسکتا ہوں وہ یہ ہے کہ تکنیکی انٹرویوز کو کیسے حاصل کیا جائے اس بارے میں مرحلہ وار گائیڈ کا اشتراک کرنا ہے۔ میں نے سیکھا کہ آزمائش اور غلطی کے ذریعے ایسے حالات میں کیا کیا جا سکتا ہے اور کیا نہیں کیا جا سکتا۔ تو یہاں میری طرف سے مفید تجاویز کی ایک فہرست ہے جو میں نے کئی سالوں کی مشق میں مرتب کی ہیں۔

1. فرضی انٹرویوز میں نہ کودیں۔

لوگ عام طور پر زیادہ سے زیادہ فرضی انٹرویوز کرنے کا مشورہ دیتے ہیں — اور وہ درست ہیں۔ لیکن اگر آپ تیار نہیں ہیں تو، ایک فرضی انٹرویو غیر موثر، ڈرانے والا، اور یہاں تک کہ حوصلہ شکن بھی ہو سکتا ہے۔ میں آپ کو تجربے سے بتا سکتا ہوں: اگر میں نے کسی ایسے شخص کا انٹرویو کیا جو مشق کے طور پر مکمل طور پر تیار نہیں تھا، تو آخر میں وہ مایوسی محسوس کرتے تھے کیونکہ وہ سوالات میں "تیر" تھے اور بہت اچھے جواب نہیں دیتے تھے۔ بہتر تیاری کے لیے وقت نکالیں اور یہ سمجھیں کہ تکنیکی انٹرویو کیسا ہوتا ہے۔ گوگل پر فرضی انٹرویو کی ایک اچھی مثال یہ ہے:

2. مواصلات کی مہارت > تکنیکی تربیت کی سطح

بہت سے لوگ LeetCode اور Hackerrank جیسی سائٹوں پر گھنٹے گزار کر تکنیکی انٹرویوز کی تیاری کرتے ہیں۔ یہ مشق کے لیے بہترین پلیٹ فارم ہیں۔ لیکن ان مسائل کو حل کرنے میں جو آپ کو لگتا ہے کہ آپ کو انٹرویو میں سامنا کرنا پڑے گا، بے ترتیبی سے گھنٹوں کا ایک گروپ ضائع کرنے سے پہلے تھوڑا سا وقت نکالنا بہتر ہے۔ یہ ایک غیر موثر طریقہ ہے: ایک انٹرویو میں آپ کو کم از کم ایک سوال ضرور آئے گا جو آپ نے پہلے کہیں نہیں دیکھا ہوگا۔ میرے کچھ دوستوں کے پاس مجھ سے زیادہ مضبوط پروگرامر ہیں، اور میں اکثر حیران ہوتا تھا کہ میں نے اپنے تکنیکی پس منظر کے ٹیسٹ کیوں کیے جب کہ انہوں نے (کبھی کبھی) ایسا نہیں کیا۔ ہمارے درمیان سب سے بڑا فرق شاید یہ ہے کہ میں نے اپنی بات چیت کی مہارتوں کی مشق کرنے میں بہت زیادہ وقت صرف کیا۔ سنجیدگی سے: سرفہرست 100 تکنیکی کاموں کو حل کرنے کا طریقہ جاننے سے کوئی فائدہ نہیں ہوگا اگر آپ اپنے حل کی منطق کو واضح طور پر بیان نہیں کر سکتے۔ خیالات کو تشکیل دینا سیکھنا بہت ضروری ہے۔ شروع میں، یہ سب کچھ مشکل، عجیب اور غیر فطری لگ سکتا ہے، لیکن مشق مدد کرتی ہے۔ اپنے تکنیکی پس منظر کو تازہ ترین رکھنا ضروری ہے، لیکن اپنی بات چیت کی مہارتوں کو تیار کرنا شاید اس سے بھی زیادہ اہم ہے۔ اگر آپ کو آنے والے انٹرویو سے پہلے وقت کے لیے دباؤ ڈالا جاتا ہے، تو اس مواد کو دوبارہ بنانے کی کوشش کرنے سے بہتر ہے جو آپ نے کمپیوٹر سائنس میں دو سال پڑھتے ہوئے دو دن میں گزارے۔ اپنے اگلے تکنیکی انٹرویو سے پہلے، یہ سیکھنے کی کوشش کریں:

2.1 واضح سوالات پوچھنا سیکھیں۔

انٹرویو کے اہم فوائد میں سے ایک آپ سے پوچھے گئے سوال کو واضح کرنے کی صلاحیت ہے۔ عام طور پر انٹرویو لینے والے تمام معلومات نہیں دیتے، اس لیے آپ کو ان سے اضافی تفصیلات نکالنی پڑتی ہیں۔ آپ کسی مسئلے کو پوری طرح سمجھے بغیر حل نہیں کر سکتے کہ یہ کیا ہے! مشق کرنے کے لیے، آپ تکنیکی انٹرویوز سے چند سوالات لے سکتے ہیں اور ان کے لیے واضح سوالات کی ایک سیریز کے ساتھ آ سکتے ہیں۔ مثال کے طور پر، اگر آپ سے کسی فہرست کو ترتیب دینے کے لیے کہا جاتا ہے، تو آپ پوچھ سکتے ہیں:
  • فہرست کو کس طرح ترتیب دیا جائے - صعودی یا نزولی ترتیب میں؟
  • فہرست میں کس قسم کا ڈیٹا ہے؟
  • کیا آپ اس کی مثال دے سکتے ہیں کہ اس قسم کے کام کے لیے ڈیٹا ان پٹ اور آؤٹ پٹ کیسا ہونا چاہیے؟
  • وغیرہ
اور بھی بہت سے سوالات ہوسکتے ہیں - یہ صرف چند مثالیں ہیں۔ مختلف باریکیوں کو واضح کرنا یقینی بنائیں: ان پٹ اور آؤٹ پٹ کی مثال طلب کریں۔
  • ڈیٹا کی قسم کی وضاحت کریں۔
  • چیک کریں کہ آیا اقدار کی حد پر کوئی پابندیاں ہیں۔
  • پوچھیں کہ کیا آپ کو ایج کیسز سے نمٹنا ہے۔
  • معلوم کریں کہ آیا آپ جس زبان میں پروگرام کر رہے ہیں اس کی کچھ لائبریریاں اور خصوصیات استعمال کر سکتے ہیں۔

2.2 خیالات کا اظہار کرنا سیکھیں۔

ایک بار جب آپ تمام واضح سوالات پوچھ لیتے ہیں اور یہ جان لیتے ہیں کہ آپ کو مسئلہ کو حل کرنے کے لیے کس چیز کی ضرورت ہے، تو یہ سیکھنے کا وقت ہے کہ اپنے حل کے جوہر کو صحیح طریقے سے کیسے بیان کیا جائے۔ اگر آپ راستے میں یہ بتائے بغیر صرف کوڈ لکھنا شروع کر دیتے ہیں، تو انٹرویو لینے والے کے لیے یہ جاننا مشکل ہو جائے گا کہ آپ صحیح ہیں یا غلط۔ آپ کو اس کے لیے پوائنٹس نہیں ملیں گے، اس حقیقت کا ذکر نہ کریں کہ آپ غلط حل لکھ سکتے ہیں۔ جب آپ راستے میں اپنے فیصلے کے پیچھے منطق کی وضاحت کرتے ہیں، تو انٹرویو لینے والا آپ کو صحیح سمت کی طرف اشارہ کر سکتا ہے اگر آپ تھوڑا سا دور ہو جائیں۔ کوئی بھی کوڈ لکھنے سے پہلے اسے آزمائیں:
  • اپنے مکالمے کو اپنے ممکنہ حل کے بارے میں بتائیں - کیا آپ مسئلہ کو "سب سے آگے" حل کرنے کے قابل ہو جائیں گے اور کیا یہ ممکن ہے یا اسے کسی طرح بہتر کیا جا سکتا ہے؟
  • اس کے کام کرنے کے طریقے کا خلاصہ حاصل کرنے کے لیے ایک مثال کے ساتھ قدم بہ قدم اپنے حل کے ذریعے چلیں۔
  • حل کو کئی مراحل میں تقسیم کریں اور pseudocode یا "skeleton" لکھیں تاکہ انٹرویو لینے والا آپ کے سوچنے کے عمل کو سمجھ سکے۔
  • یہ دیکھنے کے لیے کہ آیا آپ نے ہر چیز کا احاطہ کر لیا ہے، مختلف ایج کیسز کے ساتھ اپنے حل کی جانچ کریں۔ انٹرویو لینے والے کی رائے طلب کریں۔
مشق کرنے کے لیے، انٹرویو کے لیے کام کرنے والا سوال لیں اور کسی دوست کو درست جواب (حل) بتانے کی کوشش کریں۔ اگر آپ کو کوئی دوست نہیں ملتا ہے تو، ایک بھرے ہوئے جانور یا کوئی اور چیز لیں اور ان پر مشق کریں۔

3. اپنے تکنیکی علم اور مہارت کو بہتر بنائیں

ایک بار جب آپ نے سیکھ لیا کہ انٹرویو میں صحیح طریقے سے بات چیت کیسے کی جائے، تو آپ اپنی تمام تر توانائی اپنے تکنیکی علم کو بہتر بنانے میں لگا سکتے ہیں۔ الگورتھم اور ڈیٹا ڈھانچے پر برش کرنا یقینی بنائیں۔ اس بات کو یقینی بنائیں کہ آپ کلیدی موضوعات کو سمجھتے ہیں جیسے ڈیٹا ڈھانچہ، چھانٹنا، الگورتھم کے ساتھ کام کرنا، بٹ وائز آپریٹرز، بگ او نوٹیشنز وغیرہ۔ ان چیزوں کی فہرست جن کے بارے میں آپ کو جاننے کی ضرورت ہے اس مقام پر منحصر ہے جس کے لیے آپ درخواست دے رہے ہیں۔

4. مشق کریں!

اب، ضروری مہارتوں اور علم کو اپ گریڈ کرنے کے بعد، آپ اپنی پوری توانائی کو عملی جامہ پہنا سکتے ہیں۔
JavaRush کورس میں بہت سے "پزل" ٹاسکس اور ایپلیکیشن سلوشنز بنانے کے پورے پروجیکٹ شامل ہیں۔
نہ صرف حل لکھنے کی کوشش کریں، بلکہ اقدامات کے بارے میں سوچیں: ذہنی طور پر واضح سوالات پوچھیں، ساخت کے ذریعے سوچیں، اور تب ہی حل لکھیں۔ اس سے آپ کو انٹرویو میں زیادہ اعتماد محسوس کرنے میں مدد ملے گی، اور اعتماد بادشاہ ہے!

5. اگر آپ انٹرویو کے دوران "اٹھ گئے" تو کیا کریں؟

اب آئیے تصور کریں کہ آپ ایک حقیقی انٹرویو میں گئے ہیں اور اچانک آپ کو احساس ہوا کہ سوال نے آپ کو سٹپٹا دیا ہے۔ آپ کو اندازہ نہیں ہے کہ کیا کرنے کی ضرورت ہے اور مسئلہ کو کیسے حل کیا جائے۔ آپ صرف کمرے سے باہر بھاگنا چاہتے ہیں اور واپس نہیں آنا چاہتے ہیں۔ میں سمجھتا ہوں - میں ایسے حالات میں رہا ہوں جو میں اب بھی ڈراؤنے خوابوں میں دیکھتا ہوں۔ لیکن فکر مت کرو - تمام امید ابھی ختم نہیں ہوئی ہے۔ یہ انٹرویوز کے دوران ایک سے زیادہ بار ہوا، لیکن وہ عام طور پر ایک پیشکش کے ساتھ ختم ہوتے ہیں۔ یہ مشکل ہے، یہ آپ کے اعصاب پر آجاتا ہے، لیکن کچھ بھی ممکن ہے۔ ایک وقفہ لیں اور سوچیں۔ ایک سانس لیں، اپنے خیالات کو ترتیب دیں۔ شاید آپ کو ایک "سراگ" ملے گا۔ ایک سادہ مثال کے ساتھ اپنے حل کی جانچ کریں۔ اسی طرح کے مسئلے کے حل کا ایک آسان ورژن بنانے کی کوشش کریں، لیکن آسان، مرحلہ وار اقدامات پر توجہ دیں۔ مثال کے طور پر، اگر آپ کو فہرست ترتیب دینے کی ضرورت ہے، تو آپ کیا کرتے ہیں؟ آپ سب سے چھوٹی تعداد تلاش کریں اور اسے شروع میں رکھیں۔ آپ کوڈ میں اس حل کو کیسے نافذ کریں گے؟ ہمیں نجی حل کے بارے میں بتائیں۔ اگر کوئی مکمل حل نہیں نکلتا ہے تو یہ ٹھیک ہے۔ انٹرویو لینے والے کو یہ بتائیں، لیکن اسے اپنی سوچ میں شامل ہونے دیں۔ کیا یہ چیلنج آپ کا سامنا کرنے والے کسی بھی چیلنج سے ملتا ہے؟ کیا ایسا لگتا ہے کہ آپ کو اسے حل کرنے کے لیے مخصوص ڈیٹا ڈھانچہ استعمال کرنے کی ضرورت ہے؟ اس منطق کا اشتراک کریں جو آپ کی رہنمائی کرتی ہے۔ ایماندار ہو. اگر آپ کو یقین ہے کہ جو سوال آپ سے پوچھا گیا ہے وہ علم کے کسی ایسے شعبے سے ہے جو آپ کے لیے ناواقف ہے تو انٹرویو لینے والے کو اس کے بارے میں بتائیں۔ کہو کہ آپ حل تلاش کرنے کے لیے تیار ہیں، لیکن یہ کہ آپ کے پاس ابھی ضروری مہارت نہیں ہے۔ مجھ سے ایک بار نیٹ ورک سیکیورٹی سے متعلق سوال پوچھا گیا۔ اس وقت، اس علاقے میں میری کوئی مشق نہیں تھی، جس کے بارے میں میں نے انٹرویو لینے والوں کو بتایا۔ انہوں نے مجھے ضروری بنیادی باتیں سمجھائیں تاکہ میں کام سے نمٹ سکوں۔ آپ کا انٹرویو حقیقی لوگوں سے ہوگا :) وہ آپ کو اچھی طرح سمجھتے ہیں، کیونکہ وہ خود بھی ایسے ہی حالات میں رہے ہیں۔ یہ وہ تمام نکات ہیں جو میں نے کئی سالوں کے انٹرویوز میں تیار کیے ہیں۔ انہوں نے مجھے اور میرے دوستوں کو اعلی کمپنیوں میں جانے میں مدد کی۔ گڈ لک تلاش!
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION