Coforge Interview Questions
ETL (Extract, Transform, Load) : Transform data before loading into the target Transformation happens in a separate compute layer (Spark, Informatica, S...
What is the difference between ETL and ELT?
ETL (Extract, Transform, Load) : Transform data before loading into the target Transformation happens in a separate compute layer (Spark, Informatica, SSIS) Traditional approach — used when target systems have limited compute ELT (Extract, Load, Transform) : Load raw data first , transform inside the target Modern cloud warehouses (Snowflake, BigQuery, Redshift, Synapse) have enough compute to transform in place Enables re transformation without re ingestion ETL ELT Transform location Staging/mi
How do you design a data pipeline for near real-time analytics?
Near real time means latency of 1–15 minutes (not milliseconds). Architecture : Key choices : Micro batch : simpler than true streaming, sufficient for 5 min latency. Use trigger(processingTime="5 minutes") Delta Lake MERGE : idempotent writes — safe to replay on failure Autoloader : monitors new files in Bronze and incrementally processes them for Silver — no manual backfill Power BI DirectQuery : queries live Gold table — no import refresh delay Guardrails : set maxOffsetsPerTrigger to prevent
What is data lineage and why is it important?
Data lineage tracks the complete journey of data — where it came from, what transformations were applied, and where it landed. Column level lineage example : report.total revenue ← gold.orders.net amount ← silver.orders.quantity silver.orders.unit price ← raw.orders v2.quantity, raw.orders v2.price . Why it matters : Debugging : when a dashboard number is wrong, trace it back to the root cause in seconds rather than hours Impact analysis : if I rename orders.amount to orders.net amount , which 4
Explain the concept of surrogate keys in data warehouses.
A surrogate key is a system generated, meaningless integer used as the primary key in a dimension table — distinct from the business/natural key from the source system. Why use surrogate keys : SCD Type 2 : same customer id can have multiple rows (historical versions); surrogate key uniquely identifies each version Performance : integer joins are faster than string joins Independence : isolates DWH from source system changes (e.g., source renumbers customer IDs) Cross system merges : when mergin
What are PolyBase external tables in Synapse?
PolyBase allows Synapse to query data stored externally (ADLS, Blob Storage, Hadoop) as if it were a regular SQL table — without physically loading the data into Synapse. Setup : Use cases : Query raw files without loading into dedicated SQL pool (cheaper) CETAS (Create External Table As Select): write query results back to ADLS as Parquet Bridge between Spark written Delta/Parquet files and SQL analytics
How do you manage secrets securely in cloud pipelines?
Never hardcode credentials — store them in a secret management service: Azure Key Vault + ADF : Databricks + Key Vault : AWS Secrets Manager (similar pattern): Best practices : rotate secrets regularly, audit access logs, use Managed Identity where possible (no credentials at all), grant least privilege access.
Explain Medallion architecture.
Medallion architecture organizes a data lakehouse into three progressive quality layers: Bronze (Raw) : Exact copy of source data — no transformation Append only; never delete historical data Enables full reprocessing if downstream logic changes Formats: JSON, CSV, Avro, or Delta with minimal schema Silver (Cleaned/Validated) : Deduplicated, parsed, type cast, null handled Joined with reference data where necessary Schema enforced; bad records routed to dead letter Target: one curated table per
What is event-driven data ingestion?
Event driven ingestion triggers pipeline processing in response to events rather than on a fixed schedule. Examples : New file uploaded to S3 → S3 Event Notification → Lambda → trigger Glue job Kafka message arrives → Spark Streaming processes it immediately New blob in ADLS → Event Grid notification → ADF trigger → pipeline starts ADF Storage Event Trigger : vs schedule based : Event driven : lower latency, efficient (runs only when there's data), scales naturally Schedule based : simpler, pred