साइट रिलायबिलिटी इंजीनियर इंटरव्यू सवाल

मेट्रिक्स सिस्टम में high cardinality क्या है, और आप इसे काबू में कैसे रखते हैं?

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

छोटा जवाब

cardinality किसी मेट्रिक के लिए label के अनोखे मेलों की गिनती है, और हर मेल मेमोरी में रखी एक अलग time series होती है। label में user id, request id, ईमेल पते या कच्चे URL path डालने से लाखों series बन सकती हैं और एक Prometheus इंस्टेंस बैठ सकता है। label सीमित और कम विकल्पों वाले रखें, बदलते path हिस्सों को template बनाएं, प्रति रिक्वेस्ट ब्योरा लॉग या traces में डालें, और relabeling तथा sample cap से सीमाएं लागू करें।

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

cardinality का फटना उन सबसे आम तरीकों में से है जिनसे मॉनिटरिंग खुद आउटेज बन जाती है, जो एक खास किस्म की मुसीबत है। इंटरव्यूअर जांच रहे हैं कि आप जानते हैं या नहीं कि मेट्रिक्स, लॉग और traces के बीच सीमा कहां है, और आपने time series डेटाबेस सिर्फ query किया है या चलाया भी है।

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

  • cardinality को अनोखे label सेट के तौर पर परिभाषित करें, जिनमें से हर एक की कीमत एक जिंदा series है।
  • उन क्लासिक अपराधियों की गिनती करें जो label बनकर जुड़ जाते हैं।
  • नियम बताएं कि क्या label में जाता है और क्या लॉग फील्ड में।
  • बचाव बताएं: relabel drop, सीमाएं, और नई मेट्रिक का रिव्यू।

उदाहरण जवाब

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

label वैल्यू का हर अनोखा मेल अपनी अलग time series है, अपनी मेमोरी और डिस्क पर अपने chunk के साथ। तो जिस पल कोई user_id या कच्चा path label बनाकर जोड़ता है, आप कुछ सौ series से लाखों पर पहुंच जाते हैं। हमारा एक Prometheus इंस्टेंस बार बार OOM हो रहा था और निकला कि एक टीम ने अपने request counter पर query string समेत पूरा URL label बना दिया था। मैं यह नियम इस्तेमाल करता हूं कि label वैल्यू ऐसे छोटे, बंद सेट से आनी चाहिए जिसे आप व्हाइटबोर्ड पर लिख सकें: method, status class, endpoint template, region। जो भी बेहिसाब है वह लॉग लाइन या trace span attribute में जाता है, जहां स्टोरेज का ढांचा उसी के लिए बना है। व्यावहारिक तौर पर मैं इसे metric_relabel_configs से लागू करता हूं ताकि scrape के वक्त जाने पहचाने खराब label गिर जाएं, प्रति target sample limit रखता हूं ताकि एक सर्विस पूरा इंस्टेंस न गिरा दे, और जब भी pull request में नई मेट्रिक दिखे तो एक तेज रिव्यू करता हूं।

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

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

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

  • आप कैसे पता करेंगे कि आपकी series की गिनती कौन सी मेट्रिक बढ़ा रही है?
  • किसी मेट्रिक को लॉग आधारित aggregation में ले जाना कब सही होता है?
  • जब कोई target sample limit पार कर जाता है तो क्या होता है?

साइट रिलायबिलिटी इंजीनियर के और सवाल

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

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

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

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

GhostPilot पाएं