Did the JPMC online assessment last month for a mid-level SWE role. Here's exactly what the format looked like because the information I found before taking it was sparse or years old.
Platform: HackerRank Time limit: 90 minutes Number of problems: 2
Problem 1 was a string manipulation problem. Basically involved parsing a log format and extracting specific patterns. Not tricky at all, just make sure you handle edge cases. I'd call it LC easy-medium.
Problem 2 was more interesting. It involved a graph problem with a financial context (something about finding shortest settlement paths between entities, roughly). Medium difficulty. If you've done LC 'Network Delay Time' type problems you'd be comfortable.
Things I noticed: No time pressure trick problems. Nothing designed to make you fail by being deliberately obscure. The HackerRank interface was clean, I used Python. There's a third component which is a short written section asking you to explain your approach and complexity. Don't skip this part, it's graded. I finished with 25 minutes to spare on the coding but spent those cleaning up my written explanations.
What I'd prep: straightforward graph traversal (BFS/DFS), basic dynamic programming, string parsing. You don't need LC hard for this OA. But you do need to be clean and explicit about time/space complexity in writing.
I passed and moved to the phone screen. Took about a week to hear back. Overall the JPMC OA felt more humane than some other big-company OAs I've done where you get one graph problem and one DP problem back to back with no warmup.