𝗦𝗤𝗟 𝗜𝗻𝘁𝗲𝗿𝘃𝗶𝗲𝘄 𝗤𝘂𝗲𝘀𝘁𝗶𝗼𝗻𝘀 𝗔𝘁 𝗦𝗼𝗹𝘃𝗲𝗿𝗶𝗻𝗲𝘀 𝗧𝗲𝗰𝗵𝗻𝗼𝗹𝗼𝗴𝘆

میں نے حال ہی میں Solverines Technology Solutions میں ایک تکنیکی انٹرویو مکمل کیا ہے۔ SQL راؤنڈ کا مرکز ریکارڈز حاصل کرنے اور رو نمبرنگ (row numbering) پر تھا۔ مجھے بلب کی حالتوں کو تبدیل کرنے (toggling) کے بارے میں ایک منطقی مسئلہ (logic problem) بھی درپیش آیا۔

یہاں وہ SQL پیٹرنز ہیں جو آپ کو معلوم ہونے چاہئیں۔

فرض کریں کہ emp_id اور emp_name کے ساتھ ایک Employee ٹیبل ہے۔

آخری ریکارڈ حاصل کریں: SELECT * FROM Employee ORDER BY emp_id DESC LIMIT 1;

تیسری رو (row) حاصل کریں: SELECT * FROM Employee ORDER BY emp_id LIMIT 1 OFFSET 2; فارمولا: LIMIT 1 OFFSET (N - 1)۔

آخر سے تیسری رو حاصل کریں: SELECT * FROM Employee ORDER BY emp_id DESC LIMIT 1 OFFSET 2;

مخصوص رو پیٹرنز کے لیے ROW_NUMBER() کا استعمال کریں۔

دوسری طاق (odd) رو حاصل کریں: SELECT * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY emp_id) AS rn FROM Employee) t WHERE rn = (2 * 2 - 1); N ویں طاق رو کے لیے فارمولا: rn = (2 * N - 1)۔

تیسری جفت (even) رو حاصل کریں: SELECT * FROM (SELECT *, ROW_NUMBER() OVER(ORDER BY emp_id) AS rn FROM Employee) t WHERE rn = (2 * 3); N ویں جفت رو کے لیے فارمولا: rn = (2 * N)۔

منطقی مسئلہ (Logic Problem): بلب ٹوگلنگ (Bulb Toggling)

مسئلہ آپ سے کہتا ہے کہ K آپریشنز کے ذریعے N بلبوں کو ٹوگل کریں۔ ہر آپریشن آپ کو ایک اسٹارٹ انڈیکس i اور ایک اینڈ انڈیکس j دیتا ہے۔ ایک 0، 1 بن جاتا ہے۔ ایک 1، 0 بن جاتا ہے۔

مثال: N = 5, K = 2۔ آپریشن 1: انڈیکس 1 سے 3۔ آپریشن 2: انڈیکس 2 سے 4۔

ابتدائی حالت: 0 0 0 0 0 آپریشن 1 کے بعد: 0 1 1 1 0 آپریشن 2 کے بعد: 0 1 0 0 1 حتمی نتیجہ: 0 1 0 0 1۔

انٹرویو کے اہم نکات (Interview Takeaways):

انٹرویو میں ان SQL موضوعات کا امتحان لیا گیا:

  • آخری ریکارڈ تلاش کرنا۔
  • شروع یا آخر سے N ویں رو تلاش کرنا۔
  • طاق یا جفت روز کے لیے ROW_NUMBER() کا استعمال کرنا۔
  • منطقی مسائل کے لیے ایرے (array) میں تبدیلی (manipulation)۔

اگر آپ فریشر (fresher) یا جونیئر ڈویلپر ہیں تو ان پیٹرنز کی مشق کریں۔

ماخذ (Source): https://dev.to/aj_arul/sql-interview-questions-asked-in-solverines-technology-solutions-technical-round-30m3