Amazon Frontend Virtual Onsite Experience

Finished the interview and feeling tired. From 10 am to 4 pm with a one-hour lunch break in between. React.js was used.

First round: 20 minutes chatting + 20 minutes coding + chatting.
Created a Collapse component. It should expand the content when clicked with a rotating animation from > to V on the right side.

Forgot the CSS animation syntax while writing the rotation animation, the interviewer was nice and suggested Googling it directly.

Second round: 20 minutes chatting + 40 minutes coding, with two interviewers, the most intense round.
Asked to design a news website, draw a rough UX mockup, and then one of the interviewers picked the slider component to be implemented.
Interviewer requested considering as many requirements as possible. Quickly drew two sketches during the design process, one resembling a news website homepage, and the other for adding and updating news in the backend.
During coding, was mainly asked basic questions.
For example, why use React hooks; how to understand useEffect; besides JSON, do you know other data types? Familiar with GraphQL? How to handle automatic updates on the news homepage? Websocket vs. periodic API calls.
There was someone observing quietly in this round. When asked how to handle an unreasonable requirement, I mentioned a chart with multiple X-axes designed by a UX designer, which contradicted basic function definitions and had no library support for such a chart. Building it purely with canvas would be time-consuming and impractical. The UX was redesigned by splitting it.
The observer kept insisting it could be quickly implemented, argued for ten minutes, sarcastically mentioning that none of the frontend developers at my previous company could achieve it, disappointing in the skill level…
After a few arguments, I told him he lacked respect for others, asked him for a solution, or to find a supported library, but he couldn’t provide one. When asked how to draw with SVG and canvas, it was evident he had no foundational knowledge.
The main interviewer intervened, suggesting to move on to the coding challenge…

Lunch break

Third round: Pure behavioral questions.

Fourth round: 30 minutes chatting + LC17 + chatting.
Initially wrote a backtracking solution, but the interviewer requested to avoid recursion and switch to an iterative approach.

Fifth round: A chatting round, discussing frontend topics.
Asked about polyfill, implementing a polyfill for array.map.
Other questions were based on projects from the previous company, inquiring about how to implement certain complex components, optimization possibilities, and how to approach encapsulation changes.

After the interview, felt disappointed, especially after arguing with the interviewer, and even if the questions were answered, it seemed futile. About a week later, was informed of passing but was downgraded to Front End Engineer I.