Jpmorgan Interview Questions (9+ Questions)
Last Updated: June 23, 2026 • 9 Questions • Real Company Interviews
Prepare for your Jpmorgan interview with our comprehensive collection of 9+ real interview questions and detailed answers. These questions have been curated from actual Jpmorgan technical interviews across various roles including DevOps Engineer, Data Engineer, QA Engineer, and more.
Table of Contents
- Log File Volume Assessment (easy)
- Image Layer Metadata Issues (medium) 🔒
- Gas Station (medium)
- Products and Duplicates (medium)
- Clients Transaction Data (hard)
- Top K Frequent Elements in Stream (medium)
- Monthly Card Issuance Variance (easy)
- Credit Card Launch Analysis (medium)
- Parse HTML and Extract External Domain Links (medium)
Our Jpmorgan 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 Jpmorgan Interviews
- Practice each question and understand the underlying concepts
- Review Jpmorgan's specific technologies and methodologies
- Prepare follow-up questions and edge cases
- Practice explaining your solutions clearly and concisely
Interview Questions & Answers
1. Log File Volume Assessment
We have a scenario with slash var directory that contains logs from multiple applications and we need to plan some cleanup. We're tasked to find count of all files ending with dot log that is anywhere in slash var folder, but also we need to include sub directories and we need to find only files, not directories, the count of them. Additionally, we need to identify larger log files and save their count to large log file count txt. The way to find those files is with command called find. We can type type F, which will give us only files under slash var folder. We can filter out only log file extensions by typing name and we can use wildcard dot log. We will use WC and then we will count lines L. Then pipe this out into log count txt. Next we need to find files that are larger than 512 kb. We will add hyphen size flag with 512 kb.
2. Image Layer Metadata Issues
Reduce storage overhead and accelerate builds by aligning Dockerfiles to share common layers across application versions. Diagnose layer differences using docker history, understand how instruction order and base images affect layer reuse, eliminate metadata inconsistencies, and achieve sub-3-layer variance between versions. Essential for multi-version deployments, registry optimization, container versioning strategies, and efficient image storage in production environments.
3. Gas Station
def can_complete_circuit(gas: list[int], cost: list[int]) -> int:
if sum(gas) < sum(cost):
return -1
current_tank = 0
start_index = 0
for i in range(len(gas)):
current_tank += gas[i] - cost[i]
if current_tank < 0:
start_index = i + 1
current_tank = 0
return start_index
4. Products and Duplicates
Practice a medium difficulty Snowflake SQL interview question tagged JPMorgan that tests deduplication, CTEs, and INNER JOIN. In a manufacturing scenario, you must remove duplicate rows from two tables using SELECT DISTINCT or ROW_NUMBER before joining them on a shared key. This question evaluates your ability to handle data quality issues before performing joins, a skill commonly tested in financial services and data engineering interviews.
5. Clients Transaction Data
Master data cleansing techniques in PySpark. Learn how to filter invalid primary keys, use regular expressions for date validation, and drop duplicate records before performing relational joins.
6. Top K Frequent Elements in Stream
import heapq
from collections import defaultdict
class TopKFrequent:
def init(self, k):
self.k = k
self.freq = defaultdict(int)
def add(self, num):
self.freq[num] += 1
def topK(self):
items = [(-count, num) for num, count in self.freq.items()]
top = heapq.nsmallest(self.k, items)
return [num for _, num in top]
7. Monthly Card Issuance Variance
SELECT
card_name,
MAX(issued_amount) - MIN(issued_amount) AS issued_difference
FROM
card_issuance
GROUP BY
card_name
ORDER BY
issued_difference DESC;
8. Credit Card Launch Analysis
WITH
ranked AS (
SELECT
card_name,
issued_amount,
ROW_NUMBER() OVER (
PARTITION BY
card_name
ORDER BY
issue_year,
issue_month
) AS rn
FROM
monthly_cards_issued
)
SELECT
card_name,
issued_amount
FROM
ranked
WHERE
rn = 1
ORDER BY
issued_amount DESC;
9. Parse HTML and Extract External Domain Links
Fetch and parse HTML from a web page, extract all hyperlinks, filter external domains excluding the source domain, and save unique results to a text file using Python and BeautifulSoup.
Ready to Practice More?
Explore interview questions from other companies or try our hands-on labs to build practical experience.