---
# System prepended metadata

title: Data Engineer interview

---

# Data Engineer interview

## Python
You are getting a list of names as input, `names`. You are supposed to filter out the names that start with a given letter `input_letter`. You have to return these names as an iterable.
How would you do this?


```
# Example input:
names = ["Alf", "Brenda", "Charlie", "Amanda", None, 42]
input_letter = "A"

# Your code here:

```


## SQL
### Query
You are given a table of people's opinions about places in a city:

      create table opinions (
          id int not null primary key,
          place varchar(255) not null,
          opinion varchar(255) not null
      );
      

Each row contains a place's name and an opinion about it, which is either recommended or not recommended. Your task is to generate a list of the recommended places. It should be a table with one column (named place), containing the names of the places which have strictly more recommended than not recommended opinions. The places in the returned table should appear in alphabetical order.

For example, given:

id | place         | opinion
-- | ------------- | ---------------
1  | london        | recommended
2  | london        | not recommended
3  | berlin        | recommended
4  | berlin        | recommended
5  | berlin        | recommended
6  | paris         | recommended
7  | paris         | not recommended
8  | cairo         | not recommended
9  | london        | recommended

    
Your query should return:

    berlin
    london

Assume that:

- Column `opinion` contains only values `recommended` and/or `not recommended`
- Values in column `place` consist only of small english letters and spaces.

Your query:
``` 


```


### Database & SQL Questions
1. What is the difference between HAVING and WHERE clause?
2. What is an index in SQL? When would you use an index?
3. How do you handle duplicate data in SQL?






## General questions

### AWS
1. What is an AWS S3 bucket?
2. How would you upload a dataset with a size of 1 TB to S3?
3. How would you implement data retention for data in S3?

### Databricks
1. How does Databricks handle data storage and management?
2. What are Delta tables in Databricks, and how do they differ from traditional tables?
3. How do you monitor and troubleshoot performance issues in a Databricks cluster?

### Airflow
1. Which components does Airflow have?
2. How is the scheduler working?
3. How to define a workflow in Airflow?




## Business & Experience Questions
1. Can you describe a recent DE project you worked on. Where there any issues in the process or with specific stakeholders? If yes, how did you resolve them?
2. What is your approach when designing a data product from scratch?
3. How do you document your pipelines and outputs so that usage and ongoing maintenance can be done by other people?
