Bloomberg Interview Questions (10+ Questions)
Last Updated: June 23, 2026 β’ 10 Questions β’ Real Company Interviews
Prepare for your Bloomberg interview with our comprehensive collection of 10+ real interview questions and detailed answers. These questions have been curated from actual Bloomberg technical interviews across various roles including DevOps Engineer, Data Engineer, QA Engineer, and more.
Table of Contents
- Tracing Log File Writes (easy)
- Course Schedule II (medium)
- Query for Top N per Group (medium) π
- Find the Last Climber per Mountain (medium)
- Tracking Model Usage (medium)
- Join Sales and Campaign Data (medium) π
- Combination Sum (medium)
- Alien Dictionary (hard)
- Row-Wise Price Comparison (medium) π
- Drag and Drop Element Interaction (medium) π
Our Bloomberg interview questions cover a wide range of technical topics and difficulty levels, from entry-level positions to senior roles. Each question includes detailed explanations and answers to help you understand the concepts and prepare effectively for your interview.
π‘ Pro Tips for Bloomberg Interviews
- Practice each question and understand the underlying concepts
- Review Bloomberg's specific technologies and methodologies
- Prepare follow-up questions and edge cases
- Practice explaining your solutions clearly and concisely
Interview Questions & Answers
1. Tracing Log File Writes
We have bar log messages file that has been growing unusually fast, filling up space within hours. Something is writing a lot of logs into this file and we have to identify what, which process is writing those logs. Using PS command add information about this process into this file. And then we also need last 50 lines of logs also added to this file. We start by monitoring log file live using tail command. We type tail f var log messages and we will see immediately the stream of logs. We immediately see that most of the logs are written by my app. We already have process IDs and this logs file, otherwise, alternatively, we could have used something like PG rep to find process id. We will type tail 50 and then name of the file, var log messages. We will grab process name. We type double arrows, so this will just append, not replace contents of this file.
2. Course Schedule II
def find_order(num_courses: int, prerequisites: list[list[int]]) -> list[int]:
adj = {i: [] for i in range(num_courses)}
indegree = {i: 0 for i in range(num_courses)}
for crs, pre in prerequisites:
adj[pre].append(crs)
indegree[crs] += 1
q = deque()
for i in range(num_courses):
if indegree[i] == 0:
q.append(i)
res = []
while q:
curr = q.popleft()
res.append(curr)
for neighbor in adj[curr]:
indegree[neighbor] -= 1
if indegree[neighbor] == 0:
q.append(neighbor)
if len(res) == num_courses:
return res
return []
3. Query for Top N per Group
Objective
In this SQL-based interview question, candidates are asked to write a query that retrieves the top three orders with the highest order values for each customer. The result should be accurately sorted by customer name in ascending order and then by order value in descending order.
##...
π Premium Content
Detailed explanation and solution available for premium members.
4. Find the Last Climber per Mountain
We need to find the last climber per mountain. This is a Snowflake question, which is a cloud-based data warehouse that uses SQL. We have two tables, mountains and climbers. Both of the tables are connected through mountain name. Our job here is to find the most recent climber for each mountain. We only want mountains that have at least one climbing record. We need to rank all climbers per mountain by date from most recent to oldest, and then pick the climber with rank one. In Snowflake, we use database tool, which organizes and manages the tables. We put the table inside of ref function wrapped in double curly braces. We are more interested in inner join because it returns only the rows where there is a match in both tables. Partition by mountain name would divide rows into separate groups, and each group would indicate one mountain. Then row number would reset to one at the start of each new mountain group. We sort everything out in descending order by climb date so that the climber with the most recent date gets row number one.
5. Tracking Model Usage
Practice multi-level data aggregation in PySpark. Learn how to combine standard groupBy aggregations with Window functions to compute metrics across different categorical levels simultaneously.
6. Join Sales and Campaign Data
Comprehensive Guide to Writing an SQL Query for Marketing Campaign Performance Report
Introduction:
If you're preparing for a data-oriented interview, you might encounter a scenario where you need to showcase your SQL skills by generating a detailed marketing campaign performance report. Th...
π Premium Content
Detailed explanation and solution available for premium members.
7. Combination Sum
def combination_sum(candidates: list[int], target: int) -> list[list[int]]:
res = []
def dfs(i, current_comb, total):
if total == target:
res.append(current_comb.copy())
return
if i >= len(candidates) or total > target:
return
current_comb.append(candidates[i])
dfs(i, current_comb, total + candidates[i])
current_comb.pop()
dfs(i + 1, current_comb, total)
dfs(0, [], 0)
return res
8. Alien Dictionary
def alien_order(words: list[str]) -> str:
adj = {c: set() for w in words for c in w}
in_degree = {c: 0 for w in words for c in w}
for i in range(len(words) - 1):
w1, w2 = words[i], words[i + 1]
min_len = min(len(w1), len(w2))
if len(w1) > len(w2) and w1[:min_len] == w2[:min_len]:
return ""
for j in range(min_len):
if w1[j] != w2[j]:
if w2[j] not in adj[w1[j]]:
adj[w1[j]].add(w2[j])
in_degree[w2[j]] += 1
break
q = deque([c for c in in_degree if in_degree[c] == 0])
res = []
while q:
curr = q.popleft()
res.append(curr)
for neighbor in adj[curr]:
in_degree[neighbor] -= 1
if in_degree[neighbor] == 0:
q.append(neighbor)
if len(res) != len(in_degree):
return ""
return "".join(res)
9. Row-Wise Price Comparison
Objective
In this comprehensive SQL interview question, you are challenged to write an SQL query that calculates the percentage change in product prices over time.
Task
Your task is to write an SQL query that:
- Calculates the percentage change in product prices over time.
- Uses a co...
π Premium Content
Detailed explanation and solution available for premium members.
10. Drag and Drop Element Interaction
Master drag and drop automation with Selenium ActionChains. Learn element interaction, position validation, and swap verification testing....
π Premium Content
Detailed explanation and solution available for premium members.
Ready to Practice More?
Explore interview questions from other companies or try our hands-on labs to build practical experience.