10 FTI Consulting SQL Interview Questions (Updated 2024)

Updated on

August 11, 2024

FTI Consulting employees write SQL queries for analyzing large structured datasets to identify patterns in financial transactions and detect potential fraud, as well as managing data migration to ensure compliance with data protection laws and industry standards for secure data handling. Because of this, FTI Consulting uses SQL problems during interviews for Data Science, Data Engineering and Data Analytics jobs.

Thus, to help you prep, here's 10 FTI Consulting SQL interview questions – able to solve them?

FTI Consulting SQL Interview Questions

10 FTI Consulting SQL Interview Questions

SQL Question 1: Identify the Most Frequent Consulting Service Users

FTI Consulting provides multiple types of consulting services. In the context of FTI Consulting, a "power" user, "VIP" user, or "whale" user can be considered as a corporate client who avails a lot of consultations over a certain time period. Given the client and consultations use records, write a SQL query to find these high-value clients.

We have two tables: The clients table and the consultations table. The consultations table records every consultation service availed by a client.

Example Input:
client_idcompany_name
1Company A
2Company B
3Company C
4Company D
5Company E
Example Input:
consultation_idclient_idadviser_idconsultation_dateservice_type
100130001/20/2022Economic
101230101/21/2022Forensic
102330201/22/2022Corporate
103130301/23/2022Economic
104130401/24/2022Economic

Answer:

Here is the PostgreSQL query:


This query joins the consultations and clients table on the client_id. It then groups the results by client_id and company_name, and counts the number of consultations availed by each client. Then, it orders these results in decreasing order of consultation_count and returns the top 5 clients with the highest count of availances of the consultation service.

The output will give a list of the top 5 clients that frequently avail consulting services with the company FTI Consulting.

To practice a similar customer analytics SQL question where you can solve it right in the browser and have your SQL query instantly executed, try this Walmart SQL Interview Question:

Walmart Labs SQL Interview Question

SQL Question 2: Well Paid Employees

Given a table of FTI Consulting employee salary information, write a SQL query to find all employees who make more than their direct manager.

FTI Consulting Example Input:

employee_idnamesalarydepartment_idmanager_id
1Emma Thompson38001
2Daniel Rodriguez2230110
3Olivia Smith800018
4Noah Johnson680028
5Sophia Martinez1750110
8William Davis70002NULL
10James Anderson40001NULL

Example Output:

employee_idemployee_name
3Olivia Smith

This is the output because Olivia Smith earns $8,000, surpassing her manager, William Davis who earns 7,800.

Check your SQL query for this problem and run your code right in DataLemur's online SQL environment:

Employees Earning More Than Their Manager

Answer:

First, we perform a SELF-JOIN where we treat the first table () as the managers' table and the second table () as the employees' table. Then we use a clause to filter the results, ensuring we only get employees whose salaries are higher than their manager's salary.


If the solution above is tough, you can find a detailed solution here: Employee Salaries Higher Than Their Manager.

SQL Question 3: What's the purpose of a primary key?

A primary key is a column or group of columns that uniquely identifies a row in a table. For example, say you had a database of FTI Consulting marketing campaigns data:


In this FTI Consulting example, the CampaignID column is the primary key of the MarketingCampaigns table. The constraint ensures that no two rows have the same CampaignID. This helps to maintain the integrity of the data in the table by preventing duplicate rows.

FTI Consulting SQL Interview Questions

SQL Question 4: Analyze Employee Performance Over Time

As a data analyst at FTI Consulting, you're asked to analyze the performance of consultants over time with regard to the number of projects they've handled. The dataset at your disposal contains information about projects and the respective consultants who handled them. Information of interest includes the project ID, the consultant ID, the start date, and the end date of the project.

Your task is to write a SQL query that generates a report showing the cumulative number of projects each consultant has handled over each month.

Example Input:
project_idconsultant_idstart_dateend_date
10112022-02-012022-02-28
10212022-03-012022-03-31
10322022-03-012022-03-31
10432022-04-012022-04-30
10512022-04-012022-04-30
Example Output:
monthconsultant_idcumulative_projects
211
312
321
413
421
431

Answer:

Here is a PostgreSQL query that can perform the analysis:


This query partitions the data by , and for each partition, it orders the data by . It then applies the COUNT() window function to count the number of rows from the start of the partition up to the current row. The result is the cumulative count of projects for each consultant over each month.

To practice a related window function SQL problem on DataLemur's free online SQL code editor, try this Google SQL Interview Question: Google SQL Interview Question

SQL Question 5: How is the constraint used in a database?

A is a field in a table that references the of another table. It creates a link between the two tables and ensures that the data in the field is valid.

Say for example you had sales analytics data from FTI Consulting's CRM (customer-relationship management) tool.


In this example, the table has a foreign key field called that references the "account_id" field in the table (the primary key). This helps to link the data about each opportunity to the corresponding account information in the accounts table.

This makes sure the insertion of rows in the table that do not have corresponding entries in the table. It also helps to enforce the relationship between the two tables and ensures that data is not deleted from the table if there are still references to it in the table.

SQL Question 6: Analysis of Consulting Projects based on Revenue and Duration

As a data analyst at FTI Consulting, your task is to analyze the data of consulting projects undertaken by the firm. The aim is to find out the average revenue per day for each consulting service type offered by the firm. The Projects table contains the following columns: project_id (unique identifier for each project), start_date (project commencement date), end_date (project completion date), service_type (type of consulting service), and total_revenue (total revenue generated by the project).

Example Input:
project_idstart_dateend_dateservice_typetotal_revenue
100101/01/202031/03/2020Financial90000
100201/02/202031/05/2020Economic120000
100301/03/202031/03/2020Corporate50000
100401/04/202030/06/2020Forensic & Litigation200000
100501/05/202031/07/2020Technology150000

For your analysis, you have to consider the duration of the project in days and calculate the average revenue per day for each service type. The output should have columns and .

Example Output:
service_typeavg_revenue_per_day
Financial1500
Economic1333.33
Corporate1666.67
Forensic & Litigation2222.22
Technology1666.67

Answer:


The above query first calculates the duration of each project by subtracting the start_date from the end_date inside the function. It then calculates the total_revenue for each service type and divides it by the total duration, yielding the average revenue per day. The results are grouped by service_type. The output list shows service_type and the corresponding average revenue generated per day. Note that the result may vary depending on the specific database and its handling of date operations.

SQL Question 7: Why is normalizing a database helpful?

Normalization can reduce redundancy and improve performance and flexibility in a database.

By dividing larger tables into smaller, more specific ones linked by foreign keys, it is often possible to improve query speed. Note: it is not always the case that query speed will be improved due to costly nature of joins. Still, we think normalization is a good idea because it can also increase flexibility by making it easier to alter individual tables without affecting others, which can be useful for adapting FTI Consulting's database to ever-changing business needs.

SQL Question 8: Filter Customer Records by City

At FTI Consulting, we manage a wide range of clients across multiple cities. Imagine we have a table named that stores our customer data. The task is to use the SQL keyword to filter out all customers who are from cities starting with 'W'.

Example Input:
customer_idfullnamesignup_dateemailcity
4345Jane Doe01/18/2021jane.doe@example.comNew York
5546John Smith07/10/2021john.smith@example.comWashington
4637Alice Johnson09/05/2021alice.johnson@example.comChicago
6758David Williams02/15/2022david.williams@example.comWilmington
9890Emily Brown03/16/2022emily.brown@example.comWichita

Answer:

You can use the SQL 'LIKE' keyword, in combination with a WHERE clause, to accomplish this task. Here's an example of a PostgreSQL query to solve the problem:


This SQL command filters and returns only the records from the 'customers' table where the 'city' field starts with the letter 'W'. The '%' is a wildcard character that matches any sequence of characters.

So, in this case, the records for John Smith, David Williams and Emily Brown would be returned, as their cities (Washington, Wilmington, Wichita) start with the letter 'W'.

SQL Question 9: Analyze Transactions and Calculate Spending per Customer

In FTI Consulting, there are two key tables in the database. The first is the table that contains information about each customer, including the customer ID, first name, and last name. The second is the table, which records all transactions made by the customers, including the transaction ID, customer ID, transaction amount, and transaction date.

Task: Write a SQL query that joins the table and the table to calculate the total amount spent by each customer.

Example Input:

customer_idfirst_namelast_name
103JohnSmith
245MariaJohnson
657MichaelWilliams
908EmmaJones
712SophiaBrown

Example Input:

transaction_idcustomer_idtransaction_amounttransaction_date
8001032002022-08-10
8012451502022-08-11
8026573002022-08-12
8039082502022-08-13
8047123502022-08-14

Sample Output:

customer_idfirst_namelast_nametotal_spent
103JohnSmith200
245MariaJohnson150
657MichaelWilliams300
908EmmaJones250
712SophiaBrown350

Answer:


This PostgreSQL query does an inner join on the table and the table using the field that is common in both tables. The joined table is grouped by , , and from the table, and the total transaction amount is calculated for each group (i.e., for each customer) using the aggregate function. The result is then sorted in descending order of .

Since join questions come up so often during SQL interviews, practice this Spotify JOIN SQL question:

Spotify JOIN SQL question

SQL Question 10: What is database denormalization?

Denormalization is a technique used to improve the read performance of a database, typically at the expense of some write performance.

By adding redundant copies of data or grouping data together in a way that does not follow normalization rules, denormalization improves the performance and scalability of a database by eliminating costly join operations, which is important for OLAP use cases that are read-heavy and have minimal updates/inserts.

How To Prepare for the FTI Consulting SQL Interview

The best way to prepare for a FTI Consulting SQL interview is to practice, practice, practice. Besides solving the above FTI Consulting SQL interview questions, you should also solve the 200+ tricky sql questions on DataLemur which come from companies like Microsoft, Google, and Meta.

DataLemur Questions

Each SQL question has multiple hints, detailed solutions and most importantly, there's an interactive coding environment so you can right in the browser run your query and have it executed.

To prep for the FTI Consulting SQL interview you can also be wise to practice interview questions from other consulting and professional service companies like:

Discover how FTI Consulting is harnessing the potential of AI to drive business growth and transformation!

However, if your SQL skills are weak, forget about diving straight into solving questions – improve your SQL foundations with this free SQL tutorial.

DataLemur SQL Course

This tutorial covers topics including joins and INTERCEPT/EXCEPT – both of which pop up frequently during FTI Consulting SQL interviews.

FTI Consulting Data Science Interview Tips

What Do FTI Consulting Data Science Interviews Cover?

Beyond writing SQL queries, the other types of problems tested in the FTI Consulting Data Science Interview include:

FTI Consulting Data Scientist

How To Prepare for FTI Consulting Data Science Interviews?

To prepare for FTI Consulting Data Science interviews read the book Ace the Data Science Interview because it's got:

  • 201 interview questions taken from Google, Microsoft & tech startups
  • a refresher covering Python, SQL & ML
  • over 1000+ 5-star reviews on Amazon

Ace the Data Science Interview Book on Amazon

Don't ignore the behavioral interview – prepare for that using this guide on acing behavioral interviews.

© 2024 DataLemur, Inc

Career Resources

Free 9-Day Data Interview Crash CourseFree SQL Tutorial for Data AnalyticsSQL Interview Cheat Sheet PDFUltimate SQL Interview GuideAce the Data Job Hunt Video CourseAce the Data Science InterviewBest Books for Data Analysts