Complete Technical Interview Guide for BCG Junior Data Analyst Role
The technical interview for the Junior Data Analyst role at BCG India focuses on SQL, Python, data analysis, statistics, and problem-solving skills. Based on previously asked questions, this guide will help you prepare strategically and practice with real interview questions.
1. Interview Format & Topics Covered
The technical interview usually has 2 rounds, each lasting 45–60 minutes.
Round | Topics Covered | Difficulty Level |
Technical Round 1 | SQL, Python, Data Manipulation, Basic Statistics | Medium |
Technical Round 2 | Case Study, Business Problem-Solving, Data Visualization | Hard |
Some interviews also include live coding on a shared editor (HackerRank, CoderPad).
2. SQL Interview Questions (45-50% of the Interview)
Common Topics:
• Joins & Subqueries
• Window Functions (RANK, DENSE_RANK, ROW_NUMBER)
• Aggregations & GROUP BY
• Case Statements & Common Table Expressions (CTE)
Sample Questions:
Basic SQL:
1. Find the second-highest salary from an employee table.
SELECT MAX(salary)
FROM employees
WHERE salary < (SELECT MAX(salary) FROM employees);
2. Retrieve customers who have made at least 3 orders.
SELECT customer_id, COUNT(order_id) AS order_count
FROM orders
GROUP BY customer_id
HAVING COUNT(order_id) >= 3;
Intermediate SQL (Joins & Subqueries):
3. List employees who have never placed an order.
SELECT e.employee_id, e.name
FROM employees e
LEFT JOIN orders o ON e.employee_id = o.employee_id
WHERE o.employee_id IS NULL;
4. Find duplicate records in a table.
SELECT column_name, COUNT(*)
FROM table_name
GROUP BY column_name
HAVING COUNT(*) > 1;
Advanced SQL (Window Functions & CTEs):
5. Rank customers based on their total spending.
SELECT customer_id, SUM(amount) AS total_spent,
RANK() OVER (ORDER BY SUM(amount) DESC) AS ranking
FROM transactions
GROUP BY customer_id;
6. Find employees whose salary is above the department’s average.
SELECT e.employee_id, e.name, e.salary
FROM employees e
JOIN (SELECT department_id, AVG(salary) AS avg_salary
FROM employees
GROUP BY department_id) d
ON e.department_id = d.department_id
WHERE e.salary > d.avg_salary;
✅ Practice SQL on: LeetCode (SQL Section), StrataScratch, Mode Analytics
3. Python Interview Questions (30-35% of the Interview)
Common Topics:
• Pandas & NumPy for Data Analysis
• Data Cleaning & Transformation
• List Comprehensions & Lambda Functions
• Exploratory Data Analysis (EDA)
• Basic Data Visualization
Sample Questions:
Basic Python (Data Structures & Loops):
1. Reverse a string without using built-in functions.
def reverse_string(s):
return s[::-1]
print(reverse_string("BCG"))
2. Find the most frequent element in a list.
from collections import Counter
arr = [1, 2, 3, 2, 2, 4, 5, 2]
print(Counter(arr).most_common(1)[0][0])
Pandas for Data Manipulation:
3. Filter rows where sales > 50,000 from a DataFrame.
import pandas as pd
df = pd.DataFrame({'Sales': [40000, 60000, 75000, 30000]})
filtered_df = df[df['Sales'] > 50000]
print(filtered_df)
4. Group by category and calculate the average price.
df.groupby('category')['price'].mean()
NumPy Operations:
5. Create a NumPy array and calculate the sum of its elements.
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
print(np.sum(arr))
6. Normalize a NumPy array.
arr = np.array([1, 2, 3, 4, 5])
normalized_arr = (arr - np.min(arr)) / (np.max(arr) - np.min(arr))
print(normalized_arr)
✅ Practice Python on: LeetCode (Python Section), Kaggle (Pandas Exercises), HackerRank (Python Challenges)
4. Statistics & Probability Questions (15-20% of the Interview)
Common Topics:
• Descriptive Statistics (Mean, Median, Variance, Standard Deviation)
• Probability Distributions (Normal, Binomial, Poisson)
• Hypothesis Testing (T-test, Chi-square)
• Correlation & Regression
Sample Questions:
Basic Descriptive Statistics:
1. Calculate mean, median, and standard deviation of a dataset in Python.
import numpy as np
data = [10, 20, 30, 40, 50]
print("Mean:", np.mean(data))
print("Median:", np.median(data))
print("Standard Deviation:", np.std(data))
2. What is the difference between variance and standard deviation?
• Variance measures the spread of data points from the mean.
• Standard deviation is the square root of variance, making it more interpretable.
Probability & Distributions:
3. If a coin is flipped 10 times, what is the probability of getting exactly 6 heads?
• Use the binomial probability formula:
from scipy.stats import binom
probability = binom.pmf(6, 10, 0.5)
print(probability)
4. Explain the Central Limit Theorem (CLT).
• CLT states that the distribution of the sample mean approaches a normal distribution as the sample size increases, regardless of the original data distribution.
Hypothesis Testing:
5. Perform a t-test to compare two groups.
from scipy.stats import ttest_ind
group1 = [20, 21, 19, 18, 22]
group2 = [30, 31, 29, 28, 32]
t_stat, p_value = ttest_ind(group1, group2)
print("T-statistic:", t_stat, "P-value:", p_value)
• If p-value < 0.05, reject the null hypothesis.
✅ Practice Statistics on: Khan Academy, StatQuest (YouTube), Coursera’s “Statistics for Data Science”
5. Data Visualization & Case Study Questions (Optional – 10%)
Common Topics:
• Data Storytelling (How to Present Insights)
• Power BI / Tableau Basics
• Matplotlib & Seaborn
Sample Questions:
1. Which visualization would you use to compare sales trends over time?
• Line chart (for trends over time)
• Bar chart (for categorical comparison)
2. Plot a histogram to visualize age distribution.
import matplotlib.pyplot as plt
import numpy as np
ages = np.random.randint(18, 60, 100)
plt.hist(ages, bins=10, color='blue', edgecolor='black')
plt.title("Age Distribution")
plt.show()
3. Given a dataset, how would you present insights to a non-technical audience?
• Focus on key trends
• Use simple, clear visuals
• Avoid complex statistical jargon
✅ Practice Visualization on: Tableau Public, Power BI Tutorials, Kaggle Datasets
6. Live Case Study & Business Problem-Solving (Final Round)
Example Case Study:
💡 Problem Statement:
“BCG is consulting a retail company that is experiencing declining sales. Using data, how would you identify the issue and recommend solutions?”
Approach:
1. Understand the Problem:
• Sales dropped by X% in the last 6 months
• Possible causes: seasonality, customer behavior, competitor influence
2. Data Analysis Strategy:
• Check historical sales trends
• Segment data by region, product category, customer type
• Analyze customer churn rate
3. Hypothesis Testing:
• Is the drop seasonal? Compare last year’s data
• Did a competitor launch a similar product?
4. Recommendation:
• Introduce personalized marketing campaigns
• Optimize pricing strategy
• Improve customer retention programs
✅ Prepare with: Harvard Business Review case studies, BCG case competitions
7. Final Tips to Crack the Technical Interview
✅ 1. Master SQL & Python – Most BCG analyst roles require strong SQL and Python skills. Practice daily!
✅ 2. Focus on Problem-Solving – Explain your thought process clearly during coding challenges.
✅ 3. Structure Your Answers – Use STAR (Situation, Task, Action, Result) format in behavioral questions.
✅ 4. Practice Business Cases – BCG values data storytelling and business impact analysis.
✅ 5. Stay Confident & Communicate Clearly – The interviewer is assessing how well you explain insights.
🚀 Next Steps: Mock Interviews & Practice Resources
🔹 Mock Interviews:
• Pramp (Peer-to-Peer SQL & Python Interviews)
• Interviewing.io (Live Technical Interviews)
🔹 Practice Platforms:
• SQL: LeetCode, Mode Analytics, StrataScratch
• Python: Kaggle, HackerRank, DataCamp
• Statistics: Coursera (Statistics for Data Science)