First round was pretty good, typical react state management/general JS codepen kind of stuff. You should know useState/useEffect/useRef for this (I know you typically don't use useRef in a user data-driven site, but that's one of the questions), with more than a few questions about what you've done for work. I was told I did well on this part and I generally enjoyed my time with the initial interviewers.
Round two was completely a different story as they brought in two other developers who proceeded to do a soft-grilling in heavily accented English on React (particularly on React performance and code splitting) and created a hostile atmosphere. It wasn't as bad as the grilling I've gotten at other firms, but it definitely was mostly one-sided conversation. If you've interviewed a bunch, or have been in tech long enough, you know what I'm talking about. During the second code assessment project, they expected me to create the data, which under the time constraints, added more unnecessary pressure. Onboarding sounded like hellish amounts of documentation to go through to be productive.
Considering what the initial recruiter payout offer was to me, save yourself the time and heartbreak and skip it unless you think working at Amex would be a big career stepping stone.