फ्रंटएंड डेवलपर इंटरव्यू सवाल

दो rules एक ही element को निशाना बनाते हैं और एक ही property सेट करते हैं। ब्राउज़र कैसे तय करता है कि कौन जीतेगा?

इंटरव्यूअर असल में क्या परख रहा है, अपना जवाब कैसे स्ट्रक्चर करें, और एक बोला हुआ उदाहरण जिसे आप अपना सकते हैं।

छोटा जवाब

ब्राउज़र इसे क्रम से सुलझाता है: पहले origin और importance, फिर cascade layers, फिर specificity, फिर document का क्रम। inline styles सामान्य author rules से ऊपर होती हैं, और important declaration origin का क्रम पलट देती है, तो कोई important user या user agent rule किसी important author rule को हरा सकता है। एक layer के भीतर specificity में id, फिर class, attribute और pseudo class, फिर element selectors गिने जाते हैं। बराबरी पर जो rule बाद में आता है वही जीतता है।

इंटरव्यूअर यह क्यों पूछते हैं

बड़े पैमाने पर CSS के bugs syntax के नहीं, cascade के bugs होते हैं। इंटरव्यूअर देख रहा है कि आप specificity के टकराव पर तर्क कर सकते हैं या बस एक और important लगाकर आगे बढ़ जाते हैं। cascade layers का ज़िक्र दिखाता है कि आपने यह भी देखा है कि आधुनिक codebases तीसरे पक्ष की styles और utility classes को कैसे अलग रखते हैं। इससे यह रास्ता भी खुलता है कि आप CSS को कैसे गढ़ेंगे ताकि ये टकराव पैदा ही न हों।

अपना जवाब कैसे स्ट्रक्चर करें

  • specificity के नंबरों पर आने से पहले सुलझाने का क्रम गिनाएं।
  • specificity को एक अकेले स्कोर की जगह तीन खानों की तरह समझाएं।
  • बताएं कि cascade layers कहां बैठती हैं और वे क्यों मदद करती हैं।
  • बताएं कि important कब स्वीकार्य है, इसका आपका नियम क्या है।

उदाहरण जवाब

बोला हुआ उदाहरण, पहले व्यक्ति में

मैं इसे बराबरी तोड़ने वालों की एक कतार की तरह देखता हूं। पहले ब्राउज़र origin और importance देखता है, तो inline style किसी stylesheet rule को हरा देती है और important declaration पूरा क्रम बदल देती है। फिर cascade layers, और यही वह हिस्सा है जो लोग छोड़ देते हैं: कोई भी बिना layer वाला rule किसी layer के rule को हरा देता है चाहे वह layered rule कितना ही specific हो, और बाद वाली layers पहले वाली को हराती हैं। इसके बाद ही specificity की तुलना होती है, और वह तीन खाने हैं, पहले ids, फिर classes तथा attributes तथा pseudo classes, फिर element selectors, बाएं से दाएं तुलना करते हुए, तो एक अकेली id कितनी भी classes को हरा देती है। सब बराबर हो तो document के क्रम में आखिरी वाला जीतता है। व्यवहार में मैं layers से इसे उबाऊ बना देता हूं। reset पहली layer में, फिर तीसरे पक्ष की, फिर components, और सबसे आखिर में utilities, ताकि कोई utility class बिना important के हमेशा जीते। important का इस्तेमाल मैं अब सिर्फ ऐसे rule के लिए करता हूं जिस पर सच में कोई मोलभाव नहीं, आमतौर पर print stylesheet के अंदर कुछ।

जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।

देखें यह कैसे काम करता है

फॉलो-अप सवाल जिनकी उम्मीद रखें

  • where pseudo class specificity के साथ क्या करता है, और वह क्यों काम का है?
  • cascade layers और important declarations आपस में कैसे जुड़ते हैं?
  • जो rule लगना चाहिए पर लगता नहीं, उसे कैसे डिबग करेंगे?

फ्रंटएंड डेवलपर के और सवाल

आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।

मेरे सवाल प्रेडिक्ट करें

मुश्किल सवाल पूछे जाने से पहले उनकी रिहर्सल कीजिए

एक लाइव कोपायलट के साथ प्रैक्टिस कीजिए, फिर तैयार होकर अंदर जाइए। $29 Session Pass आपको इंटरव्यू पार करा देता है, न कोई सब्सक्रिप्शन, न कोई लॉक-इन।

GhostPilot पाएं