7 General Dynamics SQL Interview Questions (Updated 2024)

Updated on

December 6, 2023

At General Dynamics, SQL is used quite frequently for analyzing massive defense-related datasets and managing military information systems databases. Unsurprisingly this is why General Dynamics almost always asks SQL problems during interviews for Data Analytics, Data Science, and Data Engineering jobs.

So, if you're preparing for a SQL Assessment, we've collected 7 General Dynamics SQL interview questions to practice, which are simiar to commonly asked questions at General Dynamics – can you solve them?

General Dynamics

General Dynamics SQL Interview Questions

SQL Question 1: Identifying Top Customers at General Dynamics

The fictitious General Dynamics wants to understand who their top customers are based on the purchase frequency. For the context of this question, consider a 'VIP' user as someone who made more than 100 purchases within the last year.

You are given two tables - one is the table, and another is the table. The structure of these tables is outlined below.

Example Input:
Example Input:

Your task is to write a SQL query to return the first name, last name, and the total number of purchases for all users who made more than 100 purchases in the past year.


This query begins by joining the table to the table on the field. It then filters for purchases made within the last year. It then groups the results by the , , and from the table. Finally, it filters to only show users who have made more than 100 purchases in the past year.

To practice a related customer analytics question on DataLemur's free interactive SQL code editor, try this Microsoft Azure Cloud SQL Interview Question: Microsoft SQL Interview Question: Super Cloud Customer

SQL Question 2: Calculate the Monthly Average Sales for Each Product

You are working as a data analyst in the sales department of General Dynamics. You are given a table containing sales data for various products over multiple months. Your task is to write a SQL query using a window function to calculate the average sales for each product each month.

Example Input:


This query extracts the month from the sale_date column and partitions the data by product_id and month. It then calculates the average units sold for each product every month. The ORDER BY clause orders the result by product_id and month.

The result would give the average sales for each product each month. This can be useful to understand the sales performance of each product over time. It can help the company to identify products with consistent high sales or detect any seasonal sales patterns.

To solve a related window function SQL problem on DataLemur's free interactive SQL code editor, try this Amazon SQL question asked in a BI Engineer interview:

Amazon SQL Interview Question

SQL QUESTION 3: What are the benefits of normalizing a database?

Database normalization is a good idea to implement because it can reduce redundancy which can improve performance and database flexibility.

By dividing larger tables into smaller, more modular and specific tables which are linked via foreign keys, this can usually improve the speed of some queries because it minimizes the amount of random data the query has to sift through. However, it's not always 100% true that there is a query speed-up, because joins are an expensive operation.

Nonetheless, by reducing redundancy, besides improved performance you also get more database flexibility. By making tables more modular and reducing overlap, you're able to more easily, since one table can be changed more effortlessly without affecting others. This makes it easier to adapt the database schema to General Dynamics's evolving business needs.

SQL Question 4: Average Defense Contract Duration

General Dynamics is a major contractor for the Department of Defense. As such, it is critical to understand the average duration of these contracts in order to plan resources efficiently. Given a table of DoD contracts with its start and end dates, calculate the average duration of contracts for each year.

Example Input:
Example Output:


In the SQL query above, we are grouping by the years of the contract starting date and calculating the average difference between the end and start dates of contracts. The DATEDIFF function used in SQL returns the difference in days between two dates, thus providing the contract duration. This result gives us the average contract duration for each year. Please note the output might vary slightly depending on the date values used in the example.

SQL QUESTION 5: What are the ACID properties in a DBMS?

A DBMS (database management system), in order to ensure transactions are relaible and don't ruin the integrity of the data, tries to mantain the following ACID properties: Atomicity, Consistency, Isolation, and Durability.

To make this concept more concrete, here is what each of the ACID properties would mean in the context of banking transactions:

  • Atomicity: a transaction is either completed fully, or not complete at all. For example, if a customer is transferring money from one account to another, the transaction should either transfer the full amount or none at all.
  • Consistency: a transaction will only be completed if it follows all database constraints and checks. For example, if a customer is withdrawing money from an account, the transaction should only be completed if the account has sufficient funds available, otherwise the transaction is rejected
  • Isolation: ensures that concurrent transactions are isolated from each other, so that the changes made by one transaction cannot be seen by another transaction. This isolation prevents race conditions, like two customers trying to withdraw money from the same account at the same time.
  • Durability: ensures that once a transaction has been committed and completed, the changes are permanent. A reset / shutdown of the database shouldn't erase someone's savings accounts!

SQL Question 6: Calculate the average product review stars per month

We want to find the average product review stars every month. We are given a table with fields , , , , and . The indicate the rating of a particular product by a user, and the holds the date of the review submission.

example input:
617112306/08/2022 00:00:00500014
780226506/10/2022 00:00:00698524
529336206/18/2022 00:00:00500013
635219207/26/2022 00:00:00698523
451798107/05/2022 00:00:00698522


Here is the SQL query to derive the required data:

Expected output:


This query first extracts the month from the field and groups the reviews by this extracted month and . It then calculates the average star rating for each group.

SQL QUESTION 7: What is a cross-join?

A cross-join, also known as a cartesian join, is a type of JOIN operation in SQL that creates a new table by combining each row from the first table with every row from the second table. This results in a table with a row for every possible combination of rows from the two input tables.

An example of when this might be useful is if you wanted to first make a dataset containing all possible pairs of customers and products data, in order to later build a Machine Learning model to predict the probability of a customer purchasing a particular product.

However, it is important to note that cross-joins can create very large tables, especially if the input tables have a large number of rows. For example, if you had 10,000 customers and 5,000 different product SKUs, the resulting cross-join would have 50 million rows.

How To Prepare for the General Dynamics SQL Interview

The best way to prepare for a SQL interview, besides making sure you have strong SQL fundamentals, is to practice a ton of real SQL questions that were asked in recent job interviews. In addition to solving the earlier General Dynamics SQL interview questions, you should also solve the 200+ SQL questions from real Data Science & Analytics interviews which come from companies like Facebook, Google, and VC-backed startups. DataLemur SQL and Data Science Interview Questions

Each interview question has multiple hints, detailed solutions and best of all, there's an interactive coding environment so you can right in the browser run your SQL query answer and have it checked.

To prep for the General Dynamics SQL interview it is also a great idea to practice SQL questions from other defense & aerospace contractors like:

However, if your SQL query skills are weak, don't worry about jumping right into solving questions – strengthen your SQL foundations with this SQL interview tutorial.

Free SQL tutorial

This tutorial covers things like math functions and Self-Joins – both of these show up frequently during General Dynamics SQL interviews.

General Dynamics Data Science Interview Tips

What Do General Dynamics Data Science Interviews Cover?

For the General Dynamics Data Science Interview, beyond writing SQL queries, the other types of questions to prepare for are:

  • Probability & Statistics Questions
  • Python or R Programming Questions
  • Business Sense and Product-Sense Questions
  • ML Modelling Questions
  • Behavioral Interview Questions

How To Prepare for General Dynamics Data Science Interviews?

The best way to prepare for General Dynamics Data Science interviews is by reading Ace the Data Science Interview. The book's got:

  • 201 Interview Questions from Facebook, Google & startups
  • A Refresher covering Python, SQL & ML
  • Great Reviews (900+ reviews, 4.5-star rating)

Ace the Data Science Interview by Nick Singh Kevin Huo