सीआई/सीडी साक्षात्कार प्रश्न निरंतर एकीकरण, परिनियोजन पाइपलाइनों, परीक्षण रणनीतियों और उत्पादन रिलीज पैटर्न के बारे में आपकी समझ का परीक्षण करते हैं। यह मार्गदर्शिका 2026 में DevOps इंजीनियरों और वरिष्ठ डेवलपर्स के लिए सबसे अधिक पूछे जाने वाले CI/CD प्रश्नों को शामिल करती है।
कोर सीआई/सीडी अवधारणाएँ
1. सतत एकीकरण, वितरण और परिनियोजन के बीच क्या अंतर है?
- सतत एकीकरण (सीआई): डेवलपर्स बार-बार (दैनिक) कोड मर्ज करते हैं। प्रत्येक मर्ज स्वचालित परीक्षण को ट्रिगर करता है।
- सतत वितरण (सीडी): कोड हमेशा परिनियोजन योग्य स्थिति में होता है। उत्पादन में तैनाती मैनुअल (एक क्लिक) है।
- सतत तैनाती: प्रत्येक पासिंग बिल्ड स्वचालित रूप से उत्पादन में तैनात हो जाती है। किसी मैन्युअल अनुमोदन की आवश्यकता नहीं है.
2. सीआई पाइपलाइन में क्या शामिल होना चाहिए?
# Ideal CI pipeline stages (GitHub Actions example)
name: CI Pipeline
on: [push, pull_request]
jobs:
# Stage 1: Fast feedback (< 2 min)
fast-checks:
steps:
- lint # code style
- type-check # TypeScript/mypy
- security-scan # pip-audit, npm audit, SAST
- build # compile/bundle
# Stage 2: Tests (< 10 min)
test:
needs: fast-checks
steps:
- unit-tests # fast, isolated
- integration-tests # with real DB
# Stage 3: Quality gates
quality:
needs: test
steps:
- coverage-check # fail if < 80%
- performance-test # detect regressions
# Stage 4: Build artifact
build-image:
needs: quality
steps:
- docker-build
- docker-push # push to registry
- container-scan # Trivy vulnerability scan
3. नीले-हरे परिनियोजन को समझाइये
Blue-Green Deployment:
Blue environment: current production (v1.0)
Green environment: new version (v1.1)
Steps:
1. Deploy v1.1 to green (separate environment)
2. Run smoke tests on green
3. Switch load balancer to point to green
4. Blue is now idle (keep for rollback)
5. If issues: switch back to blue instantly
Benefits:
- Zero downtime deployment
- Instant rollback (flip load balancer back)
- Can run full tests on green before switching
Drawback:
- Requires 2x infrastructure cost
- DB schema changes are tricky (must be backward compatible)
4. कैनरी परिनियोजन क्या है?
Canary Deployment: gradually shift traffic to new version
10% users → new version
Monitor error rates, latency, business metrics
If OK: increase to 25%, 50%, 100%
If bad: route 100% back to old version
Tools:
- Kubernetes: traffic splitting via Ingress/Istio
- AWS: Application Load Balancer weighted target groups
- Cloudflare: percentage-based routing
Canary vs Blue-Green:
Canary: gradual rollout, real user testing, slower
Blue-Green: instant switch, all-or-nothing
5. आप सीआई/सीडी में फीचर फ़्लैग कैसे लागू करते हैं?
# Feature flags decouple deployment from release
# Deploy code → behind flag → enable for subset of users
# Simple feature flag
ENABLE_NEW_CHECKOUT = os.getenv("ENABLE_NEW_CHECKOUT", "false") == "true"
if ENABLE_NEW_CHECKOUT:
return new_checkout_flow()
else:
return legacy_checkout()
# Advanced: Unleash or LaunchDarkly
from unleash_client import UnleashClient
client = UnleashClient(url="https://unleash.mycompany.com")
client.initialize_client()
# Gradual rollout to % of users
if client.is_enabled("new-dashboard", context={"userId": user_id}):
return new_dashboard()
else:
return old_dashboard()
# Benefits:
# - Separate deployment from release
# - A/B testing built-in
# - Instant kill switch if issues
# - Roll out to % of users
6. शिफ्ट-लेफ्ट टेस्टिंग क्या है?
शिफ़्ट-बाएँ: विकास चक्र में परीक्षण को पहले ले जाएँ।
- परंपरागत: कोड लिखें → QA टीम परीक्षण → देर से बग ढूंढना = महंगा
- Shift-वाम: पहले परीक्षण लिखें (टीडीडी), सीआई में इकाई परीक्षण, प्रत्येक पीआर में स्वचालित
- फ़ायदे: डेव में पाए गए बग को ठीक करने की लागत उत्पादन में पाए गए बग की तुलना में 10 गुना कम है
7. डेटाबेस माइग्रेशन के लिए परिनियोजन रणनीतियों की व्याख्या करें
Database migrations are the hardest part of zero-downtime deployments.
Pattern: Expand and Contract (3-phase deployment)
Phase 1: Expand (add new column, keep old)
ALTER TABLE users ADD COLUMN email_v2 VARCHAR(255);
Application writes to BOTH old and new column
Phase 2: Backfill
UPDATE users SET email_v2 = email WHERE email_v2 IS NULL;
Phase 3: Contract (remove old column)
Application reads from new column only
ALTER TABLE users DROP COLUMN email;
Why not just ALTER TABLE in one step?
- Large tables lock for minutes/hours
- pg_repack or pt-online-schema-change for zero-downtime ALTER
- Requires coordination with application deployment
सीआई/सीडी साक्षात्कार की सफलता: सीआई, सीडी (डिलीवरी), और सीडी (परिनियोजन) के बीच अंतर जानें, ट्रेड-ऑफ के साथ ब्लू-ग्रीन बनाम कैनरी को स्पष्ट रूप से समझाएं, जोखिम में कमी के लिए फीचर फ्लैग पर चर्चा करें, और शून्य-डाउनटाइम तैनाती के लिए डेटाबेस माइग्रेशन रणनीतियों का ज्ञान प्रदर्शित करें। वरिष्ठ भूमिकाएँ विश्वसनीयता मेट्रिक्स (DORA मेट्रिक्स: परिनियोजन आवृत्ति, लीड समय, MTTR, परिवर्तन विफलता दर) पर ध्यान केंद्रित करती हैं।
🔗 Share this article
✍️ Leave a Comment