Dataford
Interview QuestionsInterview GuidesExperiencesCoaching
New
Pricing
Get started
Dataford
Popular roles
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Browse
Browse All RolesEvery role hub, from analyst to MLBrowse All CompaniesCompany-specific interview loopsAll Interview GuidesThe full guide library
Top questions by role
Software EngineerData AnalystData ScientistData EngineerBusiness AnalystAI EngineerMachine Learning EngineerProduct Manager
Top questions by skill
SQLPythonStatisticsMachine LearningA/B TestingSystem DesignGenerative AIProduct SenseMetricsBehavioral
Browse all questions →Try a mock interview
Experiences
Practice
Mock InterviewsTimed interview simulations with feedbackCoaching1:1 coaching with people at your target companiesSuccess PathYour 6-week structured planModulesCurated lessons by topicWebinarsTalks from ex-Big Tech data leadsPlaygroundA free-form scratch editor
Learn
BlogInterview strategy and career adviceTech Job Market ReportHiring trends across data and AI rolesFor UniversitiesDataford for career centersAbout DatafordWho we are and how we build
Pricing
Build my plan

Choose Kafka vs Flink

EasyPipelines00:00
Practice interviewer
In session
5 left
00:00

Your question is Choose Kafka vs Flink. Take a moment with it on the right.

Talk me through your thinking if you like. When you're confident, submit your answer and I'll grade it like a real screen (7/10 or better passes).

You need to log in / sign up to chat or submit.

Problem

Context

ShopWave, a retail marketplace, currently ingests order, inventory, and clickstream events through REST APIs into S3 and runs hourly Spark batch jobs for downstream analytics. The platform now needs sub-minute freshness for fraud detection and inventory updates, and the data team must decide whether to standardize on Apache Kafka, Apache Flink, or both as the core of the new streaming architecture.

Your task is to design the target pipeline and explain how you would choose between Kafka and Flink for this use case rather than treating them as interchangeable tools.

Scale Requirements

  • Sources: web/mobile clickstream, order service CDC, inventory service events, payment webhooks
  • Peak throughput: 180K events/sec, average 45K events/sec
  • Event size: 1-4 KB JSON/Avro
  • Latency target: fraud signals < 10 seconds, analytics aggregates < 2 minutes
  • Retention: raw events for 30 days, curated warehouse tables for 2 years
  • Availability target: 99.9% for ingestion and processing

Requirements

  1. Design an end-to-end streaming pipeline from producers to serving layers.
  2. Explain which responsibilities belong to Kafka vs Flink: ingestion, buffering, replay, stateful processing, windowing, joins, and delivery.
  3. Support exactly-once or effectively-once processing for order and payment events.
  4. Implement schema validation, deduplication, and dead-letter handling for malformed events.
  5. Load curated outputs into Snowflake for analytics and Redis for low-latency fraud lookups.
  6. Describe how the system handles backfills, late-arriving events, and schema evolution.
  7. Define monitoring, alerting, and recovery procedures.

Constraints

  • AWS-first environment; managed services preferred where practical
  • Team has prior Kafka experience but limited Flink expertise
  • Incremental budget cap: $35K/month
  • PCI-related payment events require encryption in transit and at rest
  • Existing batch S3 lake must remain available as fallback during migration