I applied through a staffing agency. The process took 2 days. I interviewed at American Express (New York, NY)
Interview
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.
Interview questions [1]
Question 1
Background information
1 general JS test
2 React tests (mapping out data, doing an on change event with a select box)
Promises/Async
Code splitting with React eg: React.lazy imports, they were extremely big on this. It's not a bad policy, but if you haven't worked on giant sites before you might have not run into it.