JPMorgan Chase·Software Engineer·Technical Phone Screen
Jul 2026
J.P. Morgan software engineer interview that went deep on dynamic programming, specifically the longest palindromic subsequence problem. They wanted both memoized and bottom-up solutions plus a reconstruction step, which is more than most companies bother asking for.
- Given a string, write a function that returns the length of the longest subsequence that reads the same forwards and backwards. Implement it two ways: top-down with memoization and bottom-up with a table. Then analyze time and space complexity and explain how you'd reduce space usage.
- After finding the length, how would you reconstruct an actual valid longest palindromic subsequence? Walk through the approach.
- If you had to run this across many test cases efficiently, what would you change about your approach?
“I started with the recursive approach and got it working pretty fast, but then they asked me to also write the bottom-up version on the spot and I fumbled the table initialization for a bit.” The rest of the author's notes on Software Engineer interview at JPMorgan Chase, Technical Phone Screen round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post