To succeed in your interviews, you need to understand exactly what Discover is looking for across several core technical domains. The evaluations are designed to test the limits of your practical experience.
ETL and Data Pipelines
Building and maintaining reliable data pipelines is the core of your day-to-day work. Interviewers want to see that you understand how to extract data from various sources, transform it efficiently, and load it into target destinations while handling errors gracefully. Strong performance here means demonstrating an understanding of both batch and streaming processes, as well as pipeline orchestration.
Be ready to go over:
- Data Extraction Strategies – Handling incremental loads versus full refreshes.
- Data Transformation – Using Python (Pandas, PySpark) to clean and structure data.
- Error Handling and Logging – Designing pipelines that alert you when failures occur.
- Advanced concepts (less common) – Designing idempotent pipelines, handling late-arriving data, and optimizing Spark memory management.
Example questions or scenarios:
- "Walk me through how you would design an ETL pipeline to process a massive daily transaction file."
- "How do you handle a scenario where a daily batch job fails halfway through the transformation step?"
- "Explain the difference between an inner join and a left join, and how they impact the resulting dataset in an ETL process."
Database Administration and Architecture
A distinctive feature of the Discover interview process for Data Engineers is the occasional crossover into Database Administration (DBA) territory. Interviewers evaluate your understanding of how databases actually work under the hood. Strong candidates can explain how data is stored, retrieved, and optimized at the storage level.
Be ready to go over:
- Indexing Strategies – Understanding B-trees, clustered vs. non-clustered indexes, and when to use them.
- Query Optimization – Reading execution plans and identifying bottlenecks.
- Database Maintenance – Concepts around backups, restores, and transaction logs.
- Advanced concepts (less common) – Table partitioning strategies, deadlock resolution, and database replication architectures.
Example questions or scenarios:
- "How would you troubleshoot a query that suddenly started running slowly in production?"
- "Explain the concept of a clustered index and how it differs from a non-clustered index."
- "What steps would you take to optimize a database that is experiencing high CPU utilization during ETL loads?"
Python Programming and SQL
Your ability to write clean, efficient code is non-negotiable. Discover expects you to be highly proficient in both SQL and Python. Interviewers will evaluate your syntax, logic, and ability to solve problems using these languages. Strong performance involves writing code that is not just functionally correct, but also optimized for performance.
Be ready to go over:
- Complex SQL Queries – Window functions, CTEs (Common Table Expressions), and subqueries.
- Python Data Structures – Lists, dictionaries, sets, and their time complexities.
- Data Manipulation in Python – Using libraries like Pandas for data wrangling.
- Advanced concepts (less common) – Object-oriented programming in Python, writing custom generators, and recursive SQL queries.
Example questions or scenarios:
- "Write a SQL query to find the second highest transaction amount for each customer."
- "Given a list of dictionaries representing user sessions, write a Python function to calculate the average session duration."
- "How would you optimize a Python script that is running out of memory while processing a large CSV file?"