सॉफ्टवेयर इंजीनियर इंटरव्यू सवाल

REST API की जगह आप gRPC कब इस्तेमाल करेंगे?

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

छोटा जवाब

gRPC उन internal service to service calls के लिए इस्तेमाल कीजिए जहां दोनों सिरे आपके हाथ में हैं और आपको सख्त contract, binary encoding, streaming और कम latency चाहिए। JSON पर REST public APIs, browser clients और उन सब चीजों के लिए रखिए जिन्हें पढ़ने लायक, cacheable और curl से डिबग होने लायक होना चाहिए। सौदा यह है: generated, versioned schema और बेहतर परफॉर्मेंस बनाम हर जगह चलने वाली tooling और आसान interoperability।

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

यह जांचता है कि आप प्रोटोकॉल असली गुणों पर परखते हैं या नयेपन पर। इंटरव्यूअर schema enforcement, code generation, streaming और उस browser वाली सीमा के बारे में सुनना चाहते हैं जो टीमों को proxy layer तक ले जाती है। वे व्यावहारिकता भी सुन रहे होते हैं, क्योंकि ज्यादातर सिस्टम को इतना throughput चाहिए ही नहीं और दूसरा प्रोटोकॉल चलाने की tooling, observability और onboarding में असली कीमत है।

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

  • जवाब को internal बनाम external consumers के हिसाब से बांटिए।
  • gRPC की ठोस जीत गिनाइए: schema, codegen, streaming, binary framing।
  • कीमत भी बताइए: browser सपोर्ट, डिबग करने में दिक्कत, इंफ्रास्ट्रक्चर।
  • सवाल में दिए सिस्टम के लिए एक साफ सिफारिश पर खत्म कीजिए।

उदाहरण जवाब

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

मैं इसे इस हिसाब से बांटता हूं कि consumer कौन है। जिस भी चीज से browser या कोई third party बात करती है, वहां मैं JSON के साथ REST पर ही रहता हूं, क्योंकि उसे हर कोई कॉल कर सकता है, आप edge पर cache कर सकते हैं, और रात दो बजे कुछ टूटे तो आप curl से उसे दोबारा बना सकते हैं। जिस internal service to service ट्रैफिक के दोनों सिरे मेरे पास हैं, वहां gRPC अपनी जगह बना लेता है। आपको enforced contract की तरह एक proto file मिलती है, हर भाषा में generated clients ताकि कोई हाथ से serializer न लिखे, असली bidirectional streaming, और तार पर बहुत कम bytes। लेकिन कीमत भी असली है। browsers को proxy layer चाहिए, आपके load balancer को HTTP/2 ठीक से संभालना आना चाहिए, और binary payload डिबग करने में ज्यादा तैयारी लगती है। जिस सिस्टम पर मैंने काम किया, वहां हमने public edge को REST रखा और gateway तथा internal services के बीच gRPC इस्तेमाल किया, जिससे अंदर type safety मिली और किसी भी कस्टमर को कुछ बदलने के लिए नहीं कहना पड़ा।

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

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

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

  • पुराने clients तोड़े बिना आप proto schema को कैसे आगे बढ़ाएंगे?
  • gRPC calls में retries और deadlines आप कैसे संभालेंगे?
  • gRPC streaming आपको वह क्या देता है जो server sent events नहीं देते?

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

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

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

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

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

GhostPilot पाएं