If you were designing such an application considering a monorepo, how would you divide it into packages, taking into account a unified codebase for web and mobile platforms (React Native)?
Frontend
React uses MessageChannel instead of setTimeout to create a queue for subsequent heavy renders. Why is MessageChannel used?
In React, there is concurrent mode and concurrent rendering. How does it work and what is it for?
Have you used Apollo GraphQL only for queries, or also for local state management (client-only fields, reactive fields)?
You mentioned that you worked with a monorepo — how was it organized? Did you use micro frontends?
Suppose we have a one-page landing. A request is made, and we receive a JSON with 50,000 lines, and while it is being parsed, the UI hangs due to JavaScript's single-threaded nature. What would you suggest and how to optimize the filtering and parsing of this JSON so that the page does not hang and the UI remains responsive?
Have you worked with React Native and React Native Web?
Can you tell what principles SOLID consists of?
Provide an example of the Dependency Inversion principle in frontend development.
In your experience, are most of your tasks technical, with little mention of business aspects? Were you a kind of technical lead involved in architecture, or did you mainly implement regular business functions?
How does Fiber work and how is prioritization (scheduler) structured in React?
How can you avoid cascading re-rendering of child components when changing state in the parent component?
Suppose pagination on the backend cannot be implemented and Web Worker is unavailable. How would you solve this problem?
Provide an example of the Interface Segregation principle in frontend development.
Look at the two code options (with recursive promises/microtasks) and tell me, what is the difference between the first and second options in terms of page blocking.
What well-known problem occurs with a large number of consecutive setTimeout calls with a zero timeout?
What state managers have you worked with and what do you like about them? What are the pros and cons you see?
What are the components of an event loop?
Suppose we have a React Native application and a web application. Some browser APIs, including Local Storage, are not available in React Native (which uses Async Storage). How would you implement a unified store interface with different data storage implementations for web and React Native?
How can you streamingly parse JSON, breaking the processing into chunks so as not to block the main thread? Through what can you run the processing of the next chunk so as not to slow down the page (for example, requestIdleCallback, generators)?