AppsFlyer logo

Candidate-reported interview insights

AppsFlyer Data Engineer interviews, decoded.

Explore commonly reported questions, interview rounds, difficulty, duration, and candidate experiences for the Data Engineer role at AppsFlyer.

4.1 rating Enterprise Software & Network Solutions

Interview overview

Difficulty

Average

Average rounds

2.8

Average duration

~44 days

Difficulty and candidate experience

Interview difficulty

easy20%
average60%
difficult20%

Candidate experience

negative40%
positive60%

Candidate-reported interview process

My interview experience at AppsFlyer was really bad. They kept cutting me off when I was trying to answer questions and I didn't get to finish explaining my points. They asked me to do a system design for a past project, but I could only draw two parts before they started bombarding me with questions. Even though I got all the technical questions right (I checked them later) and aced the coding challenge, they emailed to say I didn't get the job. I came all the way to their office and spent 1.5 hours there just to get a rejection with no useful feedback. Honestly, it was one of the most unprofessional interviews I've ever had. I don't recommend interviewing with them.

The process was good. They had the perfect home task and process is really comfortable. They sent it one day before, you have the time to make it and then you have interview about it

I had a chat with the recruiter first, and then I did a zoom interview with a senior engineer. (This isn't the whole process, obviously, I haven't gotten to the next steps yet)

Common AppsFlyer Data Engineer interview questions

A focused selection of the most detailed candidate-submitted questions.

  1. 1

    Calculate the number of installs used from each package and the remaining installs per package for a user, given package details (ID, start/end date, total installs) and their consumption data (account, install date, installs used). A user can only have one package at a time.

  2. 2

    Identify and fix the bug in a Spark ETL job that reads a daily CSV of customer transactions and writes them as a Parquet file. The CSV can contain corrections for past transactions. The job aims to update transaction sums for specific dates and customers.

  3. 3

    Explain why a Spark job crashes with an OutOfMemory (OOM) error on the line `for row in df.collect(): print(f'Customerr{row["customer"]} => Paid {row["price"]}')`, even when the cluster has ample resources.

  4. 4

    Optimize a slow join operation between transaction results and a dimensional table of categories.

Interview question formats

Technical50%
Coding25%
Behavioral16.7%
System Design8.3%

Ready to prepare for AppsFlyer?

Practice technical, system design, and behavioral questions with Zitlee.

Interview information is based on candidate reports and may not represent the current official hiring process of AppsFlyer.