सामान्य यूनिक्स कौशल के लिए किसी का साक्षात्कार लेना [बंद]


20

आप एक डेवलपर का परीक्षण कैसे करेंगे जो दावा करता है कि * निक्स शेल अनुभव (सिर्फ स्पष्ट होने के लिए, हम यह परीक्षण नहीं करना चाहते हैं कि क्या कोई * निक्स पर विकसित हो सकता है, केवल यह कि वे कमांड लाइन के आसपास अपना रास्ता जानते हैं)।

मैं उन्हें लॉग फ़ाइलों से जानकारी प्राप्त करने की समस्या को हल करने के बारे में सोच रहा था, जिसमें कुछ मूल बातें शामिल होंगी जैसे कि बिल्ली, ग्रीप, कट, ... पाइपिंग के साथ संयुक्त।

आप किस अन्य बुनियादी ज्ञान के लिए कहेंगे? एक बार फिर, यह किसी ऐसे व्यक्ति के साक्षात्कार के लिए नहीं है, जो * nix सिस्टम के लिए विकसित होगा, और * nix सिस्टम एडिंस के लिए भी नहीं, बल्कि सिर्फ नियमित डेवलपर्स के लिए जो कभी-कभी * nix सिस्टम पर कुछ काम करने की आवश्यकता होती है।


उस तरह का शेल प्रशिक्षण किसी भी व्यक्ति के लिए केक है, जो पहले से ही एक प्रोग्रामिंग भाषा जानता है। जब से लोगों को परवाह है अगर साक्षात्कारकर्ताओं को लगता है कि उनके रिज्यूमे में सच्चाई कुछ ज्यादा ही है? हस समय यह होता रहता है। मेरे लिए क्षुद्र लगता है।
यम मार्कोविक

@YamMarcovic - जब आप कहते हैं "थ एथ्रथ थोड़ा और अधिक आकर्षक लगते हैं", तो क्या आप कह रहे हैं "कौशल के स्तर का दावा उनके पास नहीं है"? यदि आप हैं, तो मैं कहूंगा कि साक्षात्कार के दौरान इसका पता लगाना काफी प्रासंगिक है। यदि वे दरवाजे के माध्यम से प्राप्त करने के लिए झूठ बोलते हैं, तो कोई उन पर एक बार कैसे भरोसा कर सकता है?
वेटिन

@Vatine क्योंकि मेरे अनुभव से कम से कम, हर कोई रिज्यूमे में अपने कौशल-स्तर को अतिरंजित करता है। यदि आप उन लोगों को अयोग्य घोषित करते हैं, तो आप हठपूर्वक ईमानदार या भोले लोगों को काम पर रखने के लिए संकुचित हो जाते हैं। यह बहुत कम विकल्प है।
यम मारकोविच

जवाबों:


13

मेरे व्यक्तिगत अनुभव डेवलपर को * nix प्रणाली पर काम करने से जानने की जरूरत है:

  • शेल वैरिएबल (कैसे सेट करें / पाएं + पाथ जैसे विशेष लोगों के बारे में ज्ञान)
  • शेल पुनर्निर्देशन (किसी प्रोग्राम का आउटपुट कैप्चर करना)
  • पाइप (लॉग फ़ाइल से कुछ जानकारी निकालना एक उत्कृष्ट उदाहरण है)
  • प्रक्रिया नियंत्रण (पीएस, अच्छा / त्याग, मार)
  • फ़ाइल अभिगम अधिकार (ls / chmod / chown / chattr)
  • उपयोगकर्ता (लेकिन अधिकतर फ़ाइलों / प्रक्रियाओं के संदर्भ में, अर्थात: क्या यह प्रक्रिया इस फ़ाइल तक पहुँचने में सक्षम है? यह क्यों / नहीं कर सकता / सकती)

... और एक बोनस के रूप में:

  • सिस्टम सेवाओं को शुरू / रोकना

इस तरह के कौशल सेट से अधिकांश डेवलपर संबंधित कार्यों को आसानी से करने की अनुमति मिलती है।


अच्छा उत्तर। सिस्टम सेवाओं को शुरू / बंद करने के लिए क्या कमांड का उपयोग किया जाता है?
टिम

11

अपने कई सहयोगियों के साथ अपने अनुभव से जब से मैंने काम करना शुरू किया, कोई भी यूनिक्स ज्ञान को नकली नहीं करना चाहता: या तो वे " कमांड लाइन के आसपास अपना रास्ता जानते हैं " या वे बस "कोई रास्ता नहीं!" कहते हैं।

बस पूछें कि क्या उम्मीदवार यूनिक्स वर्कस्टेशन पर काम करने के लिए तैयार है और आपको बताएंगे कि वह कितनी दूर बैश के माध्यम से जा सकता है। वह अंततः कुछ आदेशों को नाम देगा; सबसे स्पष्ट होते हैं cd, cat, moreया less, viया emacs, grep, awk, sed। ध्यान से सुनें कि क्या वह उल्लेख करता है man

यदि यह विकास के लिए है, वह से परिचित होना चाहिए makeऔर Makefiles, और कुछ स्रोत नियंत्रण कमांड लाइन इंटरफेस ( svn, git, cleartool, hg, cvs...)


4
मुझे पता है कि manमैं इसका इस्तेमाल करता हूं और जब भी Google मदद नहीं करता है, लेकिन मैं इसे अपने आदेशों की सूची में कभी नहीं लाऊंगा ...
मेहरदाद

3
manजब आप ऑफ़लाइन होते हैं तो यूनिक्स कमांड लाइन और सी लाइब्रेरी के बारे में जानने का सबसे कुशल तरीका है। वैसे, मैंने यूनिक्स सीखा जब इंटरनेट पर खोज करने के लिए सबसे उन्नत उपकरण थाtelnet archie.cs.mcgill.ca
mouviciel


@mouviciel: जब आप ऑनलाइन होते हैं , तो यह यूनिक्स कमांड लाइन के बारे में जानने के लिए सबसे अधिक कुशल होता है , क्योंकि अधिकांश फ़ोरम आपको 'rtfm' में बताएंगे यदि आप उनसे कमांड के बारे में विवरण पूछते हैं। यह ठीक होना चाहिए अगर मैन पेज अविश्वसनीय रूप से जटिल और प्रलेखन नेविगेट करने के लिए कठिन नहीं थे। सौभाग्य से वहाँ stackoverflow है!
जॉरेन

मैं उस बारे में नहीं जानता। मैं मैन पेजों का अत्यधिक उपयोग करता हूं और जब भी मुझे इसकी आदत पड़ती है मुझे इससे कोई समस्या नहीं होती है। यह केक का एक टुकड़ा है जिसे आप ढूंढ रहे हैं। आपके पास अनुभाग हैं, आपके पास "सी भी देखें" है, और आप एक बटन पर क्लिक करके पूरी चीज़ खोज सकते हैं। आपको प्रत्येक कमांड और हर syscall के लिए एक मैन पेज मिलता है, और काफी कुछ लाइब्रेरी कॉल। मैं कहता हूं कि मैन पेज वही हैं जो मुझे UNIX से बहुत प्यार करते हैं।
यम मारकोविच

10

यह क्यों?

* निक्स के गोले (और अन्य OS के गोले, fwiw) बहुत गहरे और व्यापक कार्य वातावरण हैं। किसी के लिए यह संभव है कि वह वहां काम करते हुए साल बिताए और गोले की क्षमता का बहुत कम% ही इस्तेमाल करे।

यदि आप व्यक्ति से शेल प्रोग्राम की अपेक्षा नहीं करते हैं, या बी) शेल से सिस्टम को संचालित करते हैं, तो यह क्यों मायने रखता है? जो कुछ भी किया जाता है वह इतने बुनियादी स्तर पर होगा कि एक आसान * निक्स धोखा शीट "कौशल की कमी" के लिए क्षतिपूर्ति से अधिक होगी।


यह ईमानदारी की जाँच है। यदि कोई अपने रिज्यूम पर यूनिक्स का अनुभव रखता है (जिसकी हमें वास्तव में आवश्यकता नहीं है), तो मैं यह जांचने में सक्षम होना चाहता हूं कि उन दावा किए गए कौशल क्या हैं। यदि आप सिर्फ cd और ls का उपयोग करने में सक्षम हैं, तो आपको यूनिक्स अनुभव imo का दावा नहीं करना चाहिए।
क्रिस्टोफ वानफलेटरेन

ठीक है, मैं उनसे पूछता हूँ कि यूनिक्स सिस्टम का उन्होंने क्या उपयोग किया है और उनमें यूनिक्स सिस्टम और शायद लिनक्स / मैक के बीच अंतर की सूची है
जोहान्स

1
@Christophe - ठीक है, यहाँ सौदा है ... यह कोई फर्क नहीं पड़ता, क्योंकि वे शायद आपके लिए काम नहीं करेंगे। यह एक साक्षात्कारकर्ता के लिए एक प्रमुख लाल झंडा है जब संभावित नियोक्ता इस तरह से मूर्खतापूर्ण स्टंट करना शुरू कर देता है क्योंकि उन्हें भरोसा नहीं है कि फिर से शुरू पर क्या है। आपका "परीक्षण", और इसके लिए आपका औचित्य, मूल रूप से कह रहा है कि आप किसी व्यक्ति को किसी गंदगी कंपनी में काम करने के लिए नौकरी देने की कोशिश कर रहे हैं। मैं गलत हो सकता हूं, लेकिन मैं अनुमान लगा रहा हूं कि मैं नहीं हूं। हालांकि, अगर मैं गलत हूं, तो मेरा सुझाव है कि आप अपनी "उम्मीदों" का पुनर्मूल्यांकन करें।
जो इंटरनेट

1
@ यम - इसे इस तरह कहते हैं ... यदि आप काम पर रख रहे हैं और कोई व्यक्ति आपको एक फिर से शुरू करता है जिसे आप मानते हैं कि आप वंचित हैं, तो आप उस व्यक्ति का साक्षात्कार नहीं करते हैं। आप जो नहीं करते हैं वह कुछ मूर्खतापूर्ण परीक्षण बनाता है कि ए) आप स्वीकार करते हैं कि स्थिति की आवश्यकताओं पर कोई असर नहीं पड़ता है, और बी) स्वीकार करते हैं कि केवल किसी के दावे के अनुभव की "ईमानदारी" का परीक्षण करने के लिए डिज़ाइन किया गया है। अगर किसी को भी "ईमानदारी" के बिना ओपी की कंपनी में साक्षात्कार नहीं मिल सकता है, क्योंकि उन्होंने कहा कि उन्होंने * निक्स शेल का इस्तेमाल किया है, तो कंपनी के बारे में क्या कहना है? मेरे लिए, यह गंदगी कंपनी में काम करना कहते हैं। YMMV।
जो इंटरनेट

1
@Christophe - यदि आप सक्षम * निक्स प्रोग्रामर को काम पर रख रहे हैं, तो IMO यह मान लेना उचित है कि वे "वे कमांड लाइन के आसपास अपना रास्ता जानते हैं"। यदि आप सक्षम अन्य-ओएस डेवलपर्स को काम पर रख रहे हैं, तो IMO यह मानना ​​उचित है कि उनकी * nix कमांड लाइन कौशल न्यूनतम हैं। समूह A को परीक्षण करने की आवश्यकता नहीं है, समूह B को स्वचालित रूप से विफल हो जाता है, इसलिए उन्हें परीक्षण करने में परेशान क्यों करें? यदि किसी सॉफ़्टवेयर डेवलपर को काम पर रखने के लिए आपका मानदंड इस बात पर आधारित है कि वे कमांड लाइन का उपयोग कितनी अच्छी तरह करते हैं, तो मुझे लगता है कि आपकी भर्ती प्रक्रिया त्रुटिपूर्ण है। यह अलग होगा यदि शेल स्क्रिप्टिंग स्थिति की मुख्य जिम्मेदारी थी।
जो इंटरनेट

3

मेरे सिर के ऊपर से मैं शायद उनसे दो बातें पूछूंगा:

  1. जब आपने पहले * निक्स कमांडलाइन का उपयोग किया था, तो क्या आपने एक मामला दर्ज किया था, जिसमें एक अच्छी सोच वाले कमांड ने आपको बहुत समय बचाया था? यदि हां, तो विस्तृत करें।

  2. कृपया * निक्स कमांडलाइन और एक मानक विंडोज डेस्कटॉप के बीच प्रमुख अंतरों को स्पष्ट करें। प्रत्येक के फायदे और नुकसान क्या हैं?

स्पष्ट रूप से, पहला आपको यह संकेत देगा कि कमांडलाइन के बारे में आवेदक का ज्ञान कितना गहरा है। यदि वह वर्षों तक * nix पर काम करता है, तो वह आपको यह नहीं बताएगा कि उसे एक grep चलाने पर गर्व है। उन्हें सटीक आज्ञाओं को याद रखने की उम्मीद न करें (यह हमेशा उस के लिए मैनपाज है), लेकिन उन्होंने जो किया उसका सामान्य विचार है।

इसके बजाय दूसरा प्रश्न यह जाँचता है कि क्या वे समझते हैं कि कमांडलाइन वास्तव में क्या अच्छा है और क्या यह एक उपयुक्त उपकरण नहीं है। हथौड़ा का उपयोग करना सीखना आसान है, लेकिन हथौड़ा अनुपयुक्त होने की स्थिति में किसी अन्य उपकरण पर स्विच करना बहुत कठिन है। इसलिए यह प्रश्न आपको * निक्स बॉक्स के बाहर आवेदक के दृष्टिकोण का एक अच्छा संकेत देता है, साथ ही यह पर्याप्त खुला है ताकि वह अपने ज्ञान के साथ स्कोर कर सके (और चाहिए)। ("उह .. खिड़कियों में वो खिड़कियां हैं" जैसे कुछ का जवाब देने से बुरा कुछ नहीं है)


2

निर्भर करता है कि आप उन्हें क्या करना चाहते हैं।

के लिए लॉग से बाहर जानकारी प्राप्त करने फ़ाइलें बिल्ली के लिए अपने सुझाव + ग्रेप सही समझ में आता है। मैं ls, cd और उससे कम / अधिक जोड़ूंगा।

यदि आप उनसे अपेक्षा करते हैं कि वे कुछ मामूली सम्पादन भी करें (जैसे, फाइल में विन्यास करें), तो यह vi और / या emacs के लिए और cp / mv / rm / mkdir जैसे सामानों के परीक्षण को जोड़ने के लिए समझ में आएगा।


1
vi आदेशों का परीक्षण, शीश, मैं और अधिक चिंतित
होऊंगा

1
अच्छी तरह से अगर आदमी Google के लिए पहुंचता है और " vi संपादक कमांड " जैसे खोज क्षेत्र के सामान में टाइप करना शुरू करता है, तो मैं विचार करूंगा कि परीक्षण 90% पारित हो गया :)
gnat

1

मेरा सुझाव है कि वे emacs या vi / m, tar, sed, e / f / grep, विभिन्न संकलक, कुछ शेल स्क्रिप्टिंग जानते हैं। शायद एक परीक्षण चलाएं जहां उन्हें इन उपकरणों का उपयोग करके एक फ़ाइल से कुछ कोड को बिना खोले किसी अन्य प्रोग्राम में सम्मिलित करना है; फिर उस प्रोग्राम को संकलित करें जो कुछ तुच्छ त्रुटि पर टूट जाएगा। फिर उन्हें पाठ संपादक का उपयोग करने और त्रुटि खोजने, कोड काम करने और बाइनरी संग्रह करने की आवश्यकता है। फिर प्राप्तकर्ता को इसे चलाने की अनुमति देते हुए इसे कहीं मेल करें।


1

मुझे आपके बारे में पता नहीं है, लेकिन अगर मेरे साक्षात्कारकर्ता ने मुझसे पूछा और मुझे पता नहीं था कि मुझे लिनक्स पर काम करने का तरीका पता है, तो मुझे गुस्सा आएगा।

आपको वास्तव में इस बात की परवाह नहीं करनी चाहिए कि वे अभी क्या जानते हैं , लेकिन अगर मौका दिया जाए तो वे क्या सीख सकते हैं । सीखना * निक्स उपकरण बहुत कठिन नहीं है, लेकिन यह थोड़ा दृढ़ संकल्प लेता है - आपको वास्तव में ज्ञान के बजाय क्षमता के लिए परीक्षण करना चाहिए।


2
लेकिन आप अभ्यर्थियों से साक्षात्कार करते हैं कि वे काम नहीं सीखें।
NoChance

1
-1 @ ईमद। तो आपने जो भी नौकरी की है, उसमें आपने कभी कुछ नहीं सीखा ...?

3
-1 @EmmadKareem सभी काम किसी तरह सीख रहे हैं।
निकोलस स्मिथ

हां, एक हद तक सीखने की उम्मीद है, हालांकि, जब तक भूमिका तुच्छ नहीं है, मैं उम्मीद करता हूं कि उम्मीदवार लगभग 2 सप्ताह के काम पर रखने के लिए उत्पादक होंगे, कनाडा में औसतन यह मुझे $ 3000 का खर्च आएगा! जब तक कौशल दुर्लभ नहीं है, यह वही है जो मैं उम्मीद करता हूं।
NoChance

लगता है कि एममाद एक ऐसा व्यक्ति है, जिसे मैं ओपी के साथ काम नहीं करना चाहता।
kirk.burleson

1

यह इस बात पर निर्भर करता है कि आप उन्हें किस स्तर के अनुभव के लिए चाहते हैं। यदि यह किसी ऐसे व्यक्ति के लिए नहीं है जो * nix सिस्टम के लिए विकसित होगा, और * nix सिस्टम एडिंस के लिए भी नहीं, लेकिन सिर्फ नियमित डेवलपर्स के लिए जो कभी-कभी * nix सिस्टम पर कुछ काम करने की जरूरत है, तो उन्हें वास्तव में कितना अनुभव चाहिए?

ऐसे डेवलपर को कुछ भी * निक्स के गोले (ls, chmod, cat इत्यादि) की आवश्यकता हो सकती है, जिसे शायद एक पेज की चीट शीट पर लिखा जा सकता है। यदि ऐसा है, तो * निक्स शेल ज्ञान की आवश्यकता है, जहां इसकी आवश्यकता नहीं है, कुछ अच्छे उम्मीदवारों को समाप्त कर सकता है।


0

मैं आमतौर पर एक सरल कार्य चुनता हूं और व्यक्ति को एक व्हाइटबोर्ड पर एक शेल स्क्रिप्ट लिखने के लिए कहता हूं।

"आपके पास एक निर्देशिका" फू "और एक बैकअप निर्देशिका" foo_backup "है।" foo_backup "के बाद से" फू "में क्या बदल गया है, यह देखने के लिए एक शेल स्क्रिप्ट लिखें।


0

'लिनक्स में लॉगिन प्रक्रिया को समझाइए, उतना ही विस्तार से जितना आप सहज महसूस करते हैं' एक अच्छा सवाल है। लॉगिन प्रक्रिया में स्विचिंग उपयोगकर्ता, अनुमतियाँ और मालिकाना, और बहुत सारे सामान्य यूनिक्स दर्शन शामिल हैं। अगर वे स्पष्ट रूप से बता सकते हैं कि कैसे और क्यों है /etc/passwdऔर /etc/shadowएक गैर-निजी उपयोगकर्ता अपना पासवर्ड कैसे बदल सकता है, लेकिन दूसरों को नहीं, इसका मतलब है कि उन्हें 'यूनिक्स' मिलता है।

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

और एक बात उनके लिए नहीं: उन्हें कागज / व्हाइटबोर्ड पर न करें। उन्हें एक लाइव सिस्टम दें (लेकिन कोई इंटरनेट नहीं है क्योंकि यह लगभग धोखा है), और उन्हें जाना देखें। अगर वे मैन पेजों के आसपास अपना रास्ता जानते हैं और मक्खी पर मल्टी-पाइप एक्सप्रेशन बना सकते हैं, तो यह एक अच्छा संकेत है। यदि उन्हें हर चीज के लिए Google की आवश्यकता होती है, तो उनका कौशल संदिग्ध है।


0

उन्हें एक कार्यात्मक कार्यक्रम क्यों बनाते हैं? क्या कहना गलत है "मुझे grep और sed के बीच का अंतर बताएं, या X कमांड क्या करता है? आदि। इस तरह, आप उन्हें थोड़ा इधर-उधर कर सकते हैं।

यदि वे आपके द्वारा दिए गए विशिष्ट असाइनमेंट पर ठोकर खाते हैं, तो आपको नहीं लगता कि वे स्मार्ट हैं। लेकिन यदि आप सामान्य प्रश्न पूछते हैं, तो आप उन्हें यह दिखाने का मौका देते हैं कि वे क्या जानते हैं, जो पर्याप्त हो सकता है लेकिन आप जो सोच रहे थे, उससे अलग तरीके से।


-1

यूनिक्स गुरुओं के पास एक उंगली में सीड, ग्रीप आदि जैसे कोर कमांडलाइन कमांड होते हैं और वे आसानी से उन्हें प्राप्त करने के लिए उपयोग कर सकते हैं जो वे चाहते हैं, सभी प्रकार के उद्धरणों, उन्नत नियमित अभिव्यक्तियों आदि का उपयोग करते हुए, इसलिए कभी-कभी आप स्क्रिप्ट देखते हैं और सोचते हैं कि यह होगा। चीनी भाषा में लिखित मधुमक्खी समझना आसान है;)

आप उम्मीद कर सकते हैं कि, स्वतंत्र रूप से शेल प्रोग्रामिंग से, उन्हें कम से कम एक अतिरिक्त स्क्रिप्टिंग भाषा का पता होगा, जैसे कि पर्ल।

वे यूनिक्स प्रणाली के कॉन्फ़िगरेशन इंटर्नल को जानते होंगे, इसलिए यदि आप उन्हें कीबोर्ड लेआउट बदलने के लिए कहते हैं (एफजी सही ऊंचाई के लिए कुछ बंधन जोड़ते हैं) तो वे भ्रमित नहीं होंगे।

स्थापित पैकेजों को प्रबंधित करना भी कोई समस्या नहीं होगी। Oracle स्थापित करना, 4 एप्लिकेशन सर्वर चलाना, प्रत्येक अन्य JVM के साथ - कोई समस्या नहीं है। वर्चुअल नेटवर्क कॉन्फ़िगरेशन, उन्नत रूटिंग और पोर्ट फ़िल्टरिंग, वर्चुअल मशीन आदि, सुरक्षा का प्रबंधन - वहां भी जाता है।


2
प्रश्न यह परीक्षण करने के बारे में है कि क्या एक डेवलपर के पास सामान्य यूनिक्स कौशल है, जो गुरु सिसड्मिन की पहचान नहीं कर रहा है, जो ओरेकल और जावा पर विशेष ध्यान देते हैं।
पीटर टेलर

JVN? यहूदी स्वयंसेवक नेटवर्क को इसके साथ क्या करना है?
ओसोडो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.