Solverines Technology-യിലെ SQL ഇന്റർവ്യൂ ചോദ്യങ്ങൾ

ഞാൻ അടുത്തിടെ Solverines Technology Solutions-ൽ ഒരു ടെക്നിക്കൽ ഇന്റർവ്യൂ പൂർത്തിയാക്കി. റെക്കോർഡുകൾ വീണ്ടെടുക്കുന്നതിനും (retrieving records) റോ നമ്പറിംഗിനുമാണ് (row numbering) SQL റൗണ്ടിൽ കൂടുതൽ പ്രാധാന്യം നൽകിയത്. കൂടാതെ, ബൾബുകളുടെ അവസ്ഥ മാറ്റുന്നതിനെക്കുറിച്ചുള്ള (toggling bulb states) ഒരു ലോജിക് പ്രോബ്ലവും എനിക്ക് നേരിടേണ്ടി വന്നു.

നിങ്ങൾ അറിഞ്ഞിരിക്കേണ്ട SQL പാറ്റേണുകൾ താഴെ നൽകുന്നു.

emp_id, emp_name എന്നിവയുള്ള ഒരു Employee ടേബിൾ സങ്കൽപ്പിക്കുക.

അവസാനത്തെ റെക്കോർഡ് ലഭിക്കാൻ: SELECT * FROM Employee ORDER BY emp_id DESC LIMIT 1;

മൂന്നാമത്തെ റോ ലഭിക്കാൻ: 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).

ലോജിക് പ്രോബ്ലം: ബൾബ് ടോഗ്ലിംഗ് (Bulb Toggling)

K ഓപ്പറേഷനുകളിലൂടെ N ബൾബുകളുടെ അവസ്ഥ മാറ്റുക എന്നതാണ് ഈ പ്രശ്നം. ഓരോ ഓപ്പറേഷനും നിങ്ങൾക്ക് ഒരു സ്റ്റാർട്ട് ഇൻഡക്സും (start index) i, ഒരു എൻഡ് ഇൻഡക്സും (end index) 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.

ഇന്റർവ്യൂവിൽ നിന്നുള്ള പ്രധാന കാര്യങ്ങൾ:

ഇന്റർവ്യൂവിൽ താഴെ പറയുന്ന SQL വിഷയങ്ങളാണ് പരിശോധിച്ചത്:

  • അവസാനത്തെ റെക്കോർഡ് കണ്ടെത്തുക.
  • തുടക്കത്തിൽ നിന്നോ അവസാനത്തിൽ നിന്നോ N-ാമത്തെ റോ കണ്ടെത്തുക.
  • ഇരട്ട അല്ലെങ്കിൽ ഒറ്റ സംഖ്യയുള്ള റോകൾക്കായി ROW_NUMBER() ഉപയോഗിക്കുക.
  • ലോജിക് പ്രോബ്ലമുകൾക്കായി അറേ മാനിപുലേഷൻ (Array manipulation).

നിങ്ങൾ ഒരു ഫ്രഷറോ (fresher) ജൂനിയർ ഡെവലപ്പറോ ആണെങ്കിൽ ഈ പാറ്റേണുകൾ പരിശീലിക്കുക.

Source: https://dev.to/aj_arul/sql-interview-questions-asked-in-solverines-technology-solutions-technical-round-30m3