मैं एक साक्षात्कार में PHP कौशल का परीक्षण कैसे कर सकता हूं? [बन्द है]


58

मेरी कंपनी को एक PHP डेवलपर को नियुक्त करने की आवश्यकता है, लेकिन किसी को भी मेरी कंपनी में PHP ज्ञान नहीं है और हमें PHP कौशल के लिए परीक्षण करना मुश्किल है। यदि यह एक सी / जावा डेवलपर होता तो मैं उसे गेम ऑफ़ लाइफ के त्वरित कार्यान्वयन को लिखने के लिए कहता, लेकिन PHP एक पूरी तरह से अलग भाषा है।

मैंने इस परीक्षा को दिलचस्पी के साथ देखा:

http://vladalexa.com/scripts/php/test/test_php_skill.html

किसी और के अधिक सुझाव हैं?


3
दिलचस्प परीक्षण, एसक्यूएल इंजेक्शन को कवर नहीं करता है, हालांकि मैं निश्चित रूप से कवर करूंगा। मुझे लगता है कि परीक्षण का एक अच्छा तरीका है कि वे पीएचपी के साथ कैसे व्यवहार करते हैं और बहुत कुछ नहीं के साथ उनकी परिचितता का निर्धारण करने की उनकी क्षमता का परीक्षण करें।
बेन ब्रोका

6
आप जो भी करते हैं, मानक फ़ंक्शन नामों की वर्तनी के बारे में प्रश्न नहीं पूछते हैं। PHP फ़ंक्शन नामकरण इतना असंगत है।
क्रिस सी

1
के संभावित डुप्लिकेट programmers.stackexchange.com/questions/46274/...
एडम लेअर

16
मुझे उनके PHP चॉप्स के बारे में कम चिंता होगी और अधिक अगर वे प्रोग्राम कर सकते हैं, टीम के साथ काम कर सकते हैं, वेब सुरक्षा को समझ सकते हैं, आदि
पीटर लोरोन

12
यदि आपकी कंपनी में से कोई भी PHP को अच्छी तरह से नहीं जानता है, तो आपके लिए सबसे अच्छा तरीका कुछ कौशल परीक्षण सेवा का उपयोग करना है। http://tests4geeks.com/test/php-mysql - मुझे यह पसंद है। और फिर, यदि परिणाम अच्छा होगा, तो आप उसे कुछ PHP कोड लिखने के लिए कह सकते हैं। उदाहरण के लिए, डेटाबेस में छात्र और विषय हैं। उसे एचटीएमएल-फॉर्म लिखने के लिए कहें, जहां निदेशक तालिका में अंक संपादित करता है (छात्र बाएं कॉलम में हैं, विषय शीर्ष पंक्ति में हैं, मार्क्स चौराहे पर हैं)।
जोसेफ

जवाबों:


71

कोड

  • उम्मीदवार को कोड लिखने के लिए कहें
  • उम्मीदवार को कोड पढ़ने के लिए कहें

यदि आप उम्मीदवार को कोड लिखने के लिए कहते हैं तो सुनिश्चित करें कि:

  • कोड गैर तुच्छ लेकिन छोटा है
  • आप मैन्युअल और इंटरनेट का उपयोग करने की अनुमति देते हैं

यदि आप उम्मीदवार को कोड पढ़ने के लिए कहते हैं तो सुनिश्चित करें कि:

  • कोड में कुछ तुच्छ त्रुटियाँ हैं
  • कोड में कुछ गैर तुच्छ त्रुटियां हैं
  • कोड ठीक काम करता है, लेकिन इसे आसानी से अनुकूलित किया जा सकता है

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

साधन

उम्मीदवार द्वारा उपयोग किए जाने वाले PHP संसाधनों की एक विस्तृत सूची के लिए पूछें। पुस्तकें, ब्लॉग, फ़ोरम, मैगज़ीन, आदि। मेरे मौजूदा नियोक्ताओं को स्टैकओवरफ़्लो के बारे में पता चला ।

यदि उम्मीदवार StackOverflow या प्रोग्रामर का उल्लेख करता है , तो आपको उनके उपयोगकर्ता नाम का पता लगाने की कोशिश नहीं करनी चाहिए। अगर वे अपनी प्रतिष्ठा का विज्ञापन करना चाहते थे, तो उन्होंने अपने फिर से शुरू होने पर एक करियर 2.0 लिंक शामिल किया होगा ।

फ़्रेमवर्क

हर PHP डेवलपर को सबसे लोकप्रिय PHP फ्रेमवर्क का पता होना चाहिए:

और उनमें से कम से कम एक धाराप्रवाह हो। आपके पास प्रत्येक के लिए कुछ कोड नमूने तैयार हो सकते हैं और उम्मीदवार को उन्हें पढ़ने और समझाने के लिए कह सकते हैं, जिसके बाद वे आपको बताते हैं कि वे किस से अधिक परिचित हैं।

डिबगिंग और प्रोफाइलिंग

मैंने हमेशा महसूस किया है कि PHP डेवलपर्स में डिबगिंग और प्रोफाइलिंग कौशल की कमी है (शायद केवल PHP डेवलपर्स जो मैंने काम किया है)। यदि चर्चा के दौरान आपको पता चलता है कि उम्मीदवार सक्रिय रूप से xdebug का उपयोग करता है , तो बाकी के साक्षात्कार से परेशान न हों और बस उन्हें काम पर रखें। ;)

इनपुट सैनिटाइजेशन

यह महत्वपूर्ण है। आप इस बात पर चर्चा शुरू कर सकते हैं कि यह महत्वपूर्ण क्यों है और फिर इसे प्राप्त करने के लिए सबसे सामान्य तरीकों के लिए पूछें। यह चर्चा आपको क्या पूछने में मदद करेगी।

कुछ संकेत:

PHP स्नफ़स

इस उत्कृष्ट चर्चा में आप बहुत से PHP snafus पा सकते हैं । यदि आप एक वरिष्ठ पद के लिए साक्षात्कार कर रहे हैं, तो आपको उनमें से कुछ पर निश्चित रूप से पूछना चाहिए। कुछ उदाहरण:

स्ट्रिंग्स में संख्यात्मक मानों की PHP की हैंडलिंग:

"01a4" != "001a4" // true
"01e4" == "001e4" // also true

मान्य PHP कोड :

System.out.print("hello");

PHP में, एक स्ट्रिंग एक फ़ंक्शन पॉइंटर के रूप में अच्छा है:

$x = "foo";
function foo(){ echo "wtf"; }
$x(); # "wtf"   

इकाई का परीक्षण

क्या मुझे कुछ और कहने की ज़रूरत है?

निष्कर्ष

एक अच्छे PHP डेवलपर को कई तरह के कौशल और प्रतिभाओं को संयोजित करना चाहिए:

  • HTTP की अच्छी समझ
  • अपाचे कॉन्फ़िगरेशन की एक अच्छी समझ (भले ही आप अपनी कंपनी में एक अलग वेब सर्वर का उपयोग करें)
  • कम से कम जावास्क्रिप्ट की एक बुनियादी समझ
  • HTML / CSS की एक बड़ी समझ

यह सूची लम्बी होते चली जाती है। सुनिश्चित करें कि आप नौकरी खोलने की विशिष्ट आवश्यकताओं के लिए साक्षात्कार को दर्जी करते हैं, आप सिर्फ एक अच्छे डेवलपर को नियुक्त नहीं करना चाहते हैं, लेकिन एक अच्छा डेवलपर जो आपको तुरंत उसकी जरूरत है उसे करने के लिए महान है।


22
कुल मिलाकर अच्छा उत्तर, लेकिन मैं 'चौखटे' भाग और 'बुनियादी प्रदर्शन' भाग पर असहमत हूँ। आप एक निश्चित रूपरेखा जानते हैं या नहीं, एक प्रोग्रामर के रूप में अपने गुणों के बारे में बहुत कुछ नहीं कहते हैं। प्रदर्शन भाग के बारे में: यदि आप इस स्तर पर अनुकूलन कर रहे हैं, तो संभवतः आपको पहले स्थान पर PHP का उपयोग नहीं करना चाहिए। मैं उन विकल्पों के बीच चयन करता हूं जिन्हें आप प्रत्येक दिन दर्जनों बार सूचीबद्ध करते हैं, लेकिन हमेशा पठनीयता और कार्यक्षमता के आधार पर, प्रदर्शन नहीं। इन प्रदर्शन प्रश्नों का सही उत्तर है "यह ज्यादातर समय मायने नहीं रखता है।"
tdammers

1
@YannisRizos: जबकि यह सबसे अधिक संभावना है कि आप जिस टीम के ओपी की कंपनी में इन लोकप्रिय फ्रेमवर्क में से एक का उपयोग करते हैं, उन्हें यह मान लेना आसान हो जाता है, लेकिन यदि वे नहीं हैं, तो किसी भी फ्रेमवर्क को जानने से कुछ भी साबित नहीं होगा। शायद आप इस हिस्से का मतलब उन चौखटों के बजाय किसी ढांचे के साथ काम करने की उसकी क्षमता को परखने के लिए कर रहे हैं ? (मामले में बिंदु: जिस कंपनी में हम काम करते हैं, उसके लिए हम एक इन-हाउस विकसित ढांचे का उपयोग करते हैं)
प्योरफैन

2
@Petah का कोई मतलब नहीं है, खासकर साक्षात्कार के चरण में और मैं एक ऐसी कंपनी में काम करने से बचूंगा जो लोगों से साक्षात्कार के दौरान इस तरह की जानकारी प्रकट करने के लिए कहे। पूरा "कुछ छुपाना" तर्क विकृत है, इमो, मुझे अपने नियोक्ता के लिए यह जानने की परवाह नहीं है कि मैं अपना खाली समय कैसे बिताता हूं, और बस इसके बारे में है। अगर मैं अपने प्रोग्रामर्स अकाउंट को अपने दम पर सार्वजनिक करने में दिलचस्पी रखता हूं, तो यह एक अलग कहानी है ...
yannis

1
@Petah खैर मुझे पूरी उम्मीद है कि भविष्य के नियोक्ता मेरे प्रोग्रामर की गतिविधियों के माध्यम से मेरे व्यक्तित्व को जानने की कोशिश नहीं करेंगे (जो अपने समय का 25% -35% एक बुराई नाज़ी मॉड के साथ बिताना चाहते हैं;)
yannis

1
रूपरेखा की बात से असहमत। अच्छा, आधुनिक अभ्यास संगीतकार का उपयोग करके चौखटे से लागू घटकों का उपयोग करना है जो आपको पूरे ढांचे का उपयोग करने के बजाय आवश्यक है। वास्तव में, जेएस दुनिया में भी यही कहा जा सकता है ..
जॉन हंट

44

आपके द्वारा जोड़ा गया परीक्षण दिलचस्प है, और यानिस रिज़ोस का जवाब बहुत अच्छा है, लेकिन मुझे लगता है कि यह भी महत्वपूर्ण है:

अगर आपको अच्छे डेवलपर की जरूरत है तो PHP डेवलपर की तलाश न करें। एक अच्छे डेवलपर की तलाश करें जो PHP को जानता हो। इसका मतलब है, इंटरव्यू के कम से कम आधे ऐसे सवाल होने चाहिए, जिनका PHP सिंटैक्स या PHP फंक्शन्स से कोई लेना-देना न हो।

उससे पूछें कि MVC क्या है, AJAX क्या है, HTTP कैसे काम करता है, REST कैसे काम करता है, SQL कैसे काम करता है, कुछ डेटा संरचनाएँ, कुछ प्रदर्शन मूल बातें (आप कैसे सुधारते हैं, आप कैसे सुधारते हैं), परीक्षण मूल बातें, सुरक्षा मूल बातें (XSS, XSRF) इंजेक्शन, आप कैसे बचाव करते हैं), विशिष्ट PHP डोमेन पर लागू बुनियादी प्रोग्रामिंग शिल्प ज्ञान - वेब, नेटवर्किंग, डेटा परिवर्तन आदि।

यदि वह उस पर अच्छा है, तो उसे कुछ सरल कोड लिखने के लिए कहें, कुछ आसान कार्य चुनें जो लंबे समय तक नहीं होने चाहिए - जैसे कि पाठ में एक पंक्ति में अधिकांश स्वरों के साथ शब्द ढूंढना, या पाठ में प्रत्येक शब्द को उलट देना, या दो को गुणा करना मैट्रिक्स। तुम भी उसे PHP में जीवन के खेल को लागू करने के लिए पूछ सकते हैं, अगर आप की तरह :)

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


13

जबकि यानिस रिज़ोस का उत्तर एक अच्छा है - मुझे पता है कि मैं उस परीक्षा को पास नहीं करूंगा और मैं उस उत्तर का उपयोग एक संसाधन के रूप में कर सकता हूं, यह निर्धारित करने के लिए कि मेरे PHP चॉप्स को बेहतर बनाने के लिए कहाँ ध्यान केंद्रित करना चाहिए, मुझे लगता है कि प्रोग्रामिंग खोजने के लिए यह आपके लायक होगा। दोस्त जो PHP को साक्षात्कार प्रक्रिया में बैठने के लिए जानते हैं। पिछले उत्तर के सभी प्रश्न अच्छे हैं, लेकिन कुछ डोमेन ज्ञान के बिना उत्तरों की गुणवत्ता का आकलन करना कठिन होगा।

कहा कि, इस बात पर निर्भर करता है कि आपको क्या जरूरत है क्योंकि दूसरों ने कहा है कि सामान्य प्रोग्रामिंग सुविधा और टीम फिट शायद भाषा-विशिष्ट ज्ञान से अधिक महत्वपूर्ण है।


5
I think it would be worth your while to find a programming buddy who knows PHP to sit in on the interview process.महान सुझाव के लिए +1 ।
यानिस 14
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.