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

समझाइए कि जब कोई client आपकी सर्विस को HTTPS request भेजता है तो क्या क्या होता है।

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

छोटा जवाब

client DNS से hostname हल करता है, हल हुए पते पर TCP connection खोलता है या पहले से खुला हुआ दोबारा इस्तेमाल करता है, फिर TLS handshake पूरा करता है जो सर्वर का certificate जांचता है और session keys तय करता है। encrypted request load balancers और proxies से होते हुए आपके एप्लिकेशन तक पहुंचती है, जो उसे संभालकर उसी connection पर response लौटा देता है। keep alive और HTTP/2 multiplexing की वजह से बाद की requests ज्यादातर सेटअप छोड़ देती हैं।

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

यह दायरे वाला सवाल है, और इंटरव्यूअर आपके जवाब में उस layer तक पीछा करेगा जिस पर आप सबसे कम पक्के लगते हैं। अच्छे जवाब DNS, transport, TLS और proxy की कड़ी से साफ साफ गुजरते हैं, और यह भी बताते हैं कि latency और गड़बड़ियां असल में कहां से आती हैं, जो आम तौर पर connection सेटअप, बासी DNS caching, या बीच में बैठी कोई चीज होती है जो TLS खत्म करके headers दोबारा लिख देती है।

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

  • layer दर layer चलिए: DNS, TCP, TLS, HTTP, एप्लिकेशन।
  • बताइए कि TLS handshake क्या साबित करता है और क्या तय करता है।
  • ऐप के आगे बैठी proxy या load balancer की कड़ी का जिक्र कीजिए।
  • बताइए कि connection दोबारा इस्तेमाल करने से ज्यादातर लागत कहां हट जाती है।

उदाहरण जवाब

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

पहले client को एक पता चाहिए, तो वह अपना cache देखता है, फिर OS का resolver, फिर recursive resolver, और उसे time to live के साथ एक IP मिलता है। फिर उस पते पर TCP handshake, जब तक pool में पहले से कोई खुला connection न हो, जो आम तौर पर होता ही है। फिर TLS: सर्वर certificate chain पेश करता है, client उसे अपने trust store से जांचता है और देखता है कि hostname मेल खाता है, और दोनों session keys तय कर लेते हैं। TLS 1.3 के साथ यह एक round trip है, और resume हुए session पर शून्य। request encrypted होकर निकलती है, और व्यवहार में वह पहले किसी CDN या load balancer से टकराती है, जो आम तौर पर TLS वहीं खत्म करके मेरी सर्विस तक अपना अलग connection खोलता है। मेरा ऐप उसे संभालता है और response उसी रास्ते वापस आता है। मुझे इस क्रम की परवाह latency की वजह से है: मोबाइल पर पहली request मेरे कोड का एक byte चलने से पहले DNS, TCP और TLS की कीमत चुकाती है, तो connection दोबारा इस्तेमाल करना अक्सर सबसे बड़ी उपलब्ध जीत होती है।

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

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

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

  • अगर load balancer TLS खत्म कर देता है तो क्या बदलता है?
  • जो certificate error सिर्फ एक client से दिखता है उसे आप कैसे डिबग करेंगे?
  • HTTP/2 multiplexing वह क्या ठीक करता है जो keep alive ने नहीं किया?

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

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

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

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

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

GhostPilot पाएं