साक्षात्कार एसक्यूएल सवाल


19

एक टेबल 'कर्मचारियों' को दिया

 employee_id | salary | department_id 
-------------+--------+---------------

केवल SQL का उपयोग करने से कर्मचारी-स्थानान्तरण के सभी प्रकार एक विभाग से दूसरे विभाग में मिलते हैं, जिससे कि 'प्रस्थान' और 'आगमन' विभाग दोनों में औसत वेतन बढ़ता है।

PS मुझे एक साक्षात्कार पर सवाल पूछा गया था, जिसने कभी जवाब नहीं दिया, और Google बहुत कम मदद करता है।


5
मुझे आशा है कि वे जिस उत्तर की उम्मीद कर रहे थे वह था "क्यों कम केस टेबल और कॉलम नाम, और ऊंट आवरण के बजाय अंडरस्कोर क्यों"
मिकी माउस

@ मायकेहाउस: क्यों नहीं? एसक्यूएल केस एसक्यूएल में टेबल के नाम लिखने का पसंदीदा तरीका है (कम से कम मैं कहां से आता हूं)
a_horse_with_no_name

जवाबों:


22

तो आप उन कर्मचारियों की तलाश कर रहे हैं जो अपने वर्तमान विभाग में औसत से नीचे कमाते हैं लेकिन उनके भावी नए विभाग में औसत से ऊपर हैं।

सभी कर्मचारी स्थानान्तरण प्राप्त करने का एक संभावित तरीका जो इसे पूरा करेगा

WITH departments
     AS (SELECT AVG(salary) AS AvgSalary,
                department_id
         FROM   employees
         GROUP  BY department_id)
SELECT e.employee_id,
       dept_current.department_id AS current_department_id,
       dept_new.department_id     AS new_department_id
FROM   employees e
       JOIN departments dept_current
         ON e.department_id = dept_current.department_id
            AND dept_current.AvgSalary > e.salary
       JOIN departments dept_new
         ON dept_new.AvgSalary < e.salary 

आप कैसे जानते हैं कि कौन सा विभाग "नया" है और कौन सा "पुराना" है?
मस्टीको

1
@mustaccio - वे अभी जिस विभाग में हैं, वह तालिका में है employees। इससे सभी विभागों को पता चलता है कि वे (यदि कोई हो) उस शर्त को पूरा कर सकते हैं।
मार्टिन स्मिथ

10

यह देखते हुए कि यह एक साक्षात्कार था प्रश्न था (और परीक्षण प्रश्न नहीं), संदर्भ के आधार पर कुछ संभावनाएं हैं।

जैसा कहा गया है वैसा ही अधूरा है नही सकताशायद इसका वर्तमान रूप में उत्तर नहीं दिया जाना चाहिए ( कृपया नीचे अनुभाग देखें )। क्या चीज़ छूट रही है? खैर, उदाहरण के लिए:

  • क्या प्रश्न पिछले स्थानांतरण या संभावित भविष्य के स्थानांतरण के बारे में पूछ रहा है? शब्दांकन में अस्पष्टता है।
  • क्या इस तालिका में अन्य क्षेत्र भी हैं या यह सभी हैं? यदि ऐसा है, तो वो क्या हैं?
  • क्या इस तालिका में कोई अड़चन या सूचकांक निर्धारित हैं? बाकी स्कीमा कहां है?
  • क्या यह ओएलटीपी सिस्टम है या ओएलएपी?

यदि यह एक ओएलटीपी तालिका से अधिक है, तो employee_idमैदान पर एक पीके / यूनिक इंडेक्स / यूनीक बाधा को परिभाषित किया जाना चाहिए । और उस स्थिति में, केवल एक प्रविष्टि होगी employee_idऔर इसलिए स्थानान्तरण निर्धारित करने का कोई तरीका नहीं है (अर्थात कोई "पुराना" नहीं है)department_id रिकॉर्ड नहीं है)।

यदि यह एक OLAP तालिका से अधिक है, तो यह धीरे-धीरे बदलते आयाम हो सकता है, जिस स्थिति में कई employee_idरिकॉर्ड होंगे। लेकिन, वहाँ भी होना चाहिए ValidFromऔर ValidToDATE / DATETIME फ़ील्ड ताकि प्रस्थान और आगमन विभाग उनके उचित अनुक्रम में निर्धारित किए जा सकें। इन क्षेत्रों के बिना यह निर्धारित करने का कोई तरीका नहीं है कि कौन सा विभाग प्रस्थान है और कौन सा आगमन है । और यह नहीं जानना कि भेद रिकॉर्ड को वापस पाने की अनुमति देगा जो अनुरोध के विपरीत हैं।

इसलिए, इस प्रश्न की व्याख्या करने के लिए "संदर्भ" यही कारण है कि प्रश्न जैसा कहा गया है।

  • आप साक्षात्कार के बीच कुछ विवरण भूल गए और इसे यहां पूछ रहे हैं:

    ऐसा होता है, लेकिन अगर यह मामला है, तो या तो आपको लापता जानकारी को भरने के लिए प्रश्न को अपडेट करने की आवश्यकता है, या यह अचूक रहेगा (कम से कम सार्थक उत्तर पाने के संदर्भ में)।

  • प्रश्न को यहां सटीक रूप से प्रेषित किया गया है, और इन मुद्दों को साक्षात्कारकर्ता (ओं) द्वारा ज्ञात नहीं किया गया था, या इसका इरादा नहीं था:

    इस मामले में, यदि आप इन मुद्दों के बारे में जानते थे और वे एक उत्तर की उम्मीद कर रहे थे, तो आप इसे एक संभावित नियोक्ता के रूप में बाहर निकालने के साधन के रूप में उपयोग कर सकते हैं; ;-)।

  • इस प्रश्न को यहां सटीक रूप से प्रेषित किया गया है, और इन मुद्दों को साक्षात्कारकर्ता (ओं) द्वारा जाना जाता है या इसके द्वारा जाना जाता है:

    इस मामले में, वे शायद कच्ची तकनीकी क्षमता से अधिक को देखकर लोगों को निराई करने के साधन के रूप में उपयोग कर रहे थे। यह उस परियोजना पर बहुत स्पष्ट होने के लिए अक्सर महत्वपूर्ण होता है, जिस पर आप सबसे अंत-उपयोगकर्ता और उत्पाद के मालिक, आदि पर काम कर रहे हैं, आदि निम्न-स्तरीय तकनीकी विवरणों में सोचते / बोलते नहीं हैं और अक्सर आवश्यक टुकड़े छोड़ देंगे। यह महत्वपूर्ण है कि मान न लें, बल्कि स्पष्टीकरण प्राप्त करने के अनुरोध के स्रोत पर वापस जाएं ताकि आप गलत दिशा में काम करने में समय बर्बाद न करें।

    याद रखें कि आप केवल शून्य में तकनीकी सवालों के जवाब देने की स्थिति के लिए साक्षात्कार नहीं कर रहे हैं। आप परियोजनाओं पर काम करने की स्थिति के लिए साक्षात्कार कर रहे हैं और हमेशा अस्पष्टता और / या भ्रामक जानकारी होगी कि किसी को क्या करने का अनुरोध किया जाता है। एक अच्छा साक्षात्कारकर्ता आपके कौशल स्तर दोनों को समझने की कोशिश करेगा और यदि आप वास्तव में उत्पादक होंगे। मैंने इस तरह के सवाल पूछे हैं जब लोगों को खरपतवार से साक्षात्कार करने वाले लोग हैं जो तकनीकी सवालों का जवाब दे रहे हैं, लेकिन बहुत अधिक हाथ से पकड़ने की आवश्यकता होगी और टीम को धीमा करना होगा।


अपडेट करें:

सिर्फ उन लोगों के लिए स्पष्टीकरण को स्पष्ट करने के लिए जो महसूस करते हैं कि यह एक सरल क्वेरी कौशल प्रश्न है, जिसकी व्याख्या @Martin ने अपने उत्तर में की है: हम यह भी नहीं जानते हैं कि यह प्रश्न का सटीक शब्द है जिसे ओपी को प्रस्तुत किया गया था लेकिन हम जानते हैं, जितना हम इस स्थिति पर भरोसा कर सकते हैं, कि यह एक साक्षात्कार में दिया गया था। तथा अच्छा हैसाक्षात्कारकर्ता प्रश्न पूछते हैं कि न केवल एक उम्मीदवार तकनीकी कौशल, बल्कि उनके गैर-तकनीकी / "नरम" कौशल को भी आकर्षित करते हैं। यह बहुत अच्छी तरह से हो सकता है कि मार्टिन अपनी व्याख्या में सही है कि प्रश्न संभावित भविष्य हस्तांतरण संयोजनों के बारे में पूछ रहा है (यानी "कभी-कभी सिगार सिर्फ सिगार होता है")। और अगर यह एक परीक्षण प्रश्न था, तो मुझे आश्चर्य होगा कि अगर उसका उत्तर सही नहीं था। लेकिन, यह एक परीक्षण प्रश्न नहीं है। निश्चित रूप से, यह किसी व्यक्ति द्वारा पूछा गया एक साक्षात्कार प्रश्न हो सकता है जो यह देखने की कोशिश नहीं कर रहा है कि उम्मीदवार किस प्रकार का है और वे एक डिजाइन बैठक में कैसा प्रदर्शन करेंगे, जहां ऐसी अस्पष्टताएं अधिकांश लोगों की तुलना में अधिक बार आती हैं, यहां तक ​​कि नोटिस भी। लेकिन कोई जवाब नहीं दिया गया,चीजें हो जाती हैं ("आप जो लोग देख रहे हैं" के लिए पृष्ठ पर खोज करें ", लेकिन आपको वास्तव में पूरी बात पढ़नी चाहिए)। इसलिए, दो उम्मीदवारों के बीच, जो सभी तरह से समान हैं, लेकिन एक ने व्याख्या की और सही था, जबकि दूसरे ने सवाल पूछा और फिर सही जवाब मिला, मैं निश्चित रूप से पहले पूछने वाले के साथ जाऊंगा।


6
"सभी संस्करण" मुझे स्पष्ट लगते हैं कि वे काल्पनिक स्थानान्तरण के बारे में बात कर रहे हैं ऐतिहासिक स्थानान्तरण नहीं। और फिर प्रश्न दी गई जानकारी के साथ पूरी तरह से जवाबदेह है।
मार्टिन स्मिथ

7
मैं मार्टिन के साथ हूं। प्रश्न मेरे लिए स्पष्ट है और पर्याप्त जानकारी प्रश्न का उत्तर देती है।
पापराज्जो

3
@MartinSmith मैं यह नहीं कह रहा हूं कि आपकी व्याख्या वैध नहीं है, या यह कि यह सबसे अधिक संभावना नहीं है। मैं कह रहा हूं कि यह केवल एक ही नहीं है । अक्सर ऐसे समय होते हैं जब किसी चीज़ का शब्द "स्पष्ट" लगता है, लेकिन फिर भी गलत है;; जैसा कि मैंने शुरुआत में कहा था, मेरा जवाब इस बात के प्रकाश में है कि यह एक साक्षात्कार प्रश्न है, टेस्ट प्रश्न नहीं। और मुझे अक्सर उन चीजों को करने के लिए कहा गया है जो "स्पष्ट रूप से" बताई गई थीं, और फिर भी पूरी तरह से वे नहीं थे जो व्यक्ति वास्तव में चाहते थे, लेकिन वे इस बात से अवगत नहीं थे कि वे गलत चीज़ों के लिए पूछ रहे थे क्योंकि उन्होंने माना कि हर कोई शब्दावली पर सहमत था।
सोलोमन रटज़की

2
@ edc65 धन्यवाद। यह देखते हुए कि मेरी चिंता अस्पष्टता के बारे में है, मैं आपकी टिप्पणी की जीभ-इन-गाल अस्पष्टता की सराहना करता हूं :)।
सोलोमन रटज़की

2
@srutzky मुझे लगता है कि मैं केवल एक ही हूँ, जो यहाँ आपके साथ है :) हालांकि मिश्रण में अपना उत्तर जोड़ने के लिए धन्यवाद। किसी के रूप में जिसने सैकड़ों साक्षात्कार आयोजित किए हैं, यह एक प्रकार की विचारशील प्रतिक्रिया है जिसकी मुझे तलाश है। मैं शायद यह सवाल नहीं पूछूंगा, लेकिन अगर मैंने किया, तो एक आदर्श उम्मीदवार इसी तरह की प्रतिक्रिया देगा और स्पष्टीकरण के बाद, मार्टिन की तरह एक प्रश्न लिखेगा। इन टिप्पणियों को पढ़ने का मुख्य तरीका यह है कि लोग चीजों को अलग-अलग तरीकों से देखते हैं और विभिन्न धारणाएं बनाते हैं। इसलिए हमेशा अपनी मान्यताओं को स्पष्ट करें और पुष्टि करें, खासकर साक्षात्कार की स्थिति में!
ज्यॉफ पैटरसन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.