JPMorgan Chase - Software Engineer
Interview Process
Online Assessment
August 10, 2025The online assessment consisted of 2 to 3 coding questions to be solved within 60 minutes. The problems were based on core DSA topics such as arrays, strings, hash maps, greedy logic, and two pointer techniques. The difficulty level was moderate, but the hidden test cases were strict. Proper handling of edge cases like empty inputs, duplicates, and large constraints was crucial. Efficient solutions with O(n) or O(n log n) time complexity were expected, and brute force approaches failed most test cases.
Live Technical Coding Round
August 15, 2025This was a live coding round where 1 to 2 problems similar to the online assessment were asked. I was expected to explain my approach before coding, discuss possible edge cases, and then write clean and readable code. Interviewers paid close attention to problem understanding, logical reasoning, helper function usage, and naming conventions. After coding, I was asked to explain time and space complexity and discuss alternative approaches such as using sorting versus hashing. Some light design level discussion was also included to understand real world applicability.
Detailed Experience & Tips
Overall, the interview process emphasized strong fundamentals and clarity of thought rather than advanced or obscure algorithms. I focused on explaining my approach step by step, starting with brute force ideas and then optimizing them. Writing small test cases for corner scenarios helped validate the logic before finalizing the solution. I consistently communicated trade offs, validated inputs early, and ensured deterministic behavior in my code. Preparing common DSA patterns like frequency maps, two pointers, prefix sums, greedy techniques, and basic dynamic programming played a major role in clearing the rounds. Clear communication and confidence under time pressure made a noticeable difference.