Frontend
Web Platform #
Большие данные, сеть и browser APIs #
Middle #
Почему стоимость JSON.parse и JSON.stringify важна?
|
Практические решения: уменьшать payload, использовать pagination, отдавать только нужные поля, переносить тяжелую обработку в Web Worker, кешировать уже нормализованные данные или выбирать streaming/binary format там, где это действительно оправдано. |
Какие Unicode-проблемы могут быть в URL?
|
URL может содержать Unicode в hostname, path и query, но разные части кодируются по-разному. Hostname с не-ASCII символами преобразуется через IDNA/Punycode, а path и query используют percent-encoding. Визуально похожие символы из разных алфавитов могут создавать phishing и homograph risks. Также встречаются разные формы нормализации Unicode, combining marks и emoji. Поэтому validation, search, canonical URL и сравнение ссылок должны учитывать продуктовый контекст, а не простое побайтовое равенство строк. |
Почему нельзя собирать URL простой конкатенацией строк?
|
Конкатенация легко ломает encoding, Для query используйте
|
Middle+ or Senior #
Почему network latency не описывают через Big O?
|
Big O описывает рост вычислительной сложности относительно размера входа. Network latency зависит от расстояния, маршрута, TLS, состояния соединения, сервера, CDN и качества сети пользователя. Frontend-разработчику важно разделять CPU-bound и I/O-bound проблемы. |
Когда нужны pagination, streaming или virtual scroll?
|
Если данных много, проблема обычно не только в загрузке, но и в памяти, вычислениях и DOM rendering. Pagination ограничивает размер страницы данных, streaming позволяет начать обработку до полного ответа, virtual scroll рендерит только видимую часть списка. В Angular large table часто начинают с server-side pagination/filtering/sorting. Если UX требует плавного просмотра
большого локального списка, добавляют virtual scroll и стабильный |
Для чего нужны ArrayBuffer, TypedArray и Blob?
|
После |
i18n и platform details #
Middle #
Как использовать Intl API в frontend-приложении?
|
Важно не создавать formatter в горячем loop без необходимости: formatter можно кешировать по locale/options. Также нужно учитывать timezone, fallback locale и тесты для разных языков. |
Какие frontend-проблемы появляются при RTL?
|
RTL влияет на direction, порядок inline content, иконки направления, отступы, scroll behavior, charts, drag and drop и
анимации. CSS logical properties ( Нельзя просто поменять
|