3 rounds: group, technical, and behavioural - group first and then technical/behavioral (order for those two were arbitrary).
Group: asked us to work in a group of 4 to solve a puzzle that was face down.
Behavioral: fairly standard, nothing too crazy
Technical: gist of your programming knowledge, couple of brain teaser questions. Explain some of the concepts you're familiar with (polymorphism, what is an object, etc) but they won't ask if you don't mention how much programming you know .
I would recommend going through JPMC interview question banks because the interviewer literally had sections of lists of questions with places to write notes in the bottom; he just picked and chose at random.