🧑💻 5 вопросов с собесов Frontend разработчиков
1. Как использовать Fetch API и Streams для обработки больших объемов данных?
Fetch API позволяет загружать данные с сервера, а Streams — обрабатывать их по частям, что особенно полезно для работы с большими объемами данных. Вместо загрузки всего файла сразу, можно использовать метод
2. Как использовать Service Workers для реализации офлайн-приложений и кэширования ресурсов?
Service Workers — это скрипты, работающие в фоновом режиме и позволяющие веб-приложениям работать в офлайн-режиме, а также кэшировать ресурсы для ускорения загрузки. Для их использования необходимо зарегистрировать Service Worker в основном скрипте приложения, а затем использовать API кэширования для сохранения ресурсов. Это позволяет пользователям продолжать использовать приложение, даже когда интернет-соединение отсутствует.
3. Как реализовать собственную очередь задач и управлять приоритетами выполнения?
Собственная очередь задач позволяет управлять порядком выполнения асинхронных операций. Чтобы реализовать такую очередь, можно использовать массив для хранения задач и сортировать их по приоритету. При добавлении задачи в очередь указываем ее приоритет, а затем запускаем выполнение задач в порядке их приоритета, используя
4. Объясните влияние блокирующих операций на Event Loop и как их избежать.
Блокирующие операции в JavaScript — это те, которые останавливают выполнение кода и не позволяют Event Loop обрабатывать другие задачи. Это может привести к зависанию интерфейса пользователя и снижению отзывчивости приложения.
Чтобы избежать блокирующих операций, используйте асинхронные функции, такие как
5. Как использовать Subresource Integrity (SRI) для защиты загружаемых ресурсов?
Subresource Integrity (SRI) — это механизм безопасности, который позволяет браузерам проверять, что загружаемые внешние ресурсы (например, скрипты и стили) не были изменены. Для использования SRI необходимо добавить атрибут
#streams #fetch #browser #workers #кэш #promise #очередь #event_loop #sri #security #basic
1. Как использовать Fetch API и Streams для обработки больших объемов данных?
Fetch API позволяет загружать данные с сервера, а Streams — обрабатывать их по частям, что особенно полезно для работы с большими объемами данных. Вместо загрузки всего файла сразу, можно использовать метод
response.body.getReader(), чтобы считывать данные частями, что позволяет уменьшить использование памяти и ускорить обработку. Это позволяет начать обработку данных, не дожидаясь полной загрузки, что особенно полезно для больших файлов, таких как видео или изображения.2. Как использовать Service Workers для реализации офлайн-приложений и кэширования ресурсов?
Service Workers — это скрипты, работающие в фоновом режиме и позволяющие веб-приложениям работать в офлайн-режиме, а также кэшировать ресурсы для ускорения загрузки. Для их использования необходимо зарегистрировать Service Worker в основном скрипте приложения, а затем использовать API кэширования для сохранения ресурсов. Это позволяет пользователям продолжать использовать приложение, даже когда интернет-соединение отсутствует.
3. Как реализовать собственную очередь задач и управлять приоритетами выполнения?
Собственная очередь задач позволяет управлять порядком выполнения асинхронных операций. Чтобы реализовать такую очередь, можно использовать массив для хранения задач и сортировать их по приоритету. При добавлении задачи в очередь указываем ее приоритет, а затем запускаем выполнение задач в порядке их приоритета, используя
Promise.resolve() для асинхронного выполнения. Это позволяет эффективно управлять задачами и обеспечивать их выполнение в нужном порядке.4. Объясните влияние блокирующих операций на Event Loop и как их избежать.
Блокирующие операции в JavaScript — это те, которые останавливают выполнение кода и не позволяют Event Loop обрабатывать другие задачи. Это может привести к зависанию интерфейса пользователя и снижению отзывчивости приложения.
Чтобы избежать блокирующих операций, используйте асинхронные функции, такие как
setTimeout, Promise и API, позволяющие выполнять задачи в фоновом режиме, не блокируя основной поток выполнения.5. Как использовать Subresource Integrity (SRI) для защиты загружаемых ресурсов?
Subresource Integrity (SRI) — это механизм безопасности, который позволяет браузерам проверять, что загружаемые внешние ресурсы (например, скрипты и стили) не были изменены. Для использования SRI необходимо добавить атрибут
integrity к тегам <script> или <link>, указав хеш-сумму загружаемого файла. Если файл изменен, браузер не загрузит его, что предотвращает выполнение потенциально вредоносного кода.#streams #fetch #browser #workers #кэш #promise #очередь #event_loop #sri #security #basic
#article #optimization
📚 Математика на складе. Как оптимизировать хаос
В этой статье команда Ozon Tech показывает, как прикладная математика помогает оптимизировать реальные складские процессы: от размещения товаров и маршрутов сотрудников до моделирования и экспериментов. Авторы описывают использование оптимизационных моделей для слоттинга, конфигурации шкафов, дискретно-событийного моделирования для оценки ресурсов, статистической проверки гипотез и методов теории графов для уменьшения пробегов и повышения эффективности операций, а также отмечают, что классическое машинное обучение применяется выборочно там, где это действительно улучшает предсказания времени выполнения заданий и анализ факторов производительности
Перейти к материалу
👉 База вопросов 👉 Новости
📚 Математика на складе. Как оптимизировать хаос
В этой статье команда Ozon Tech показывает, как прикладная математика помогает оптимизировать реальные складские процессы: от размещения товаров и маршрутов сотрудников до моделирования и экспериментов. Авторы описывают использование оптимизационных моделей для слоттинга, конфигурации шкафов, дискретно-событийного моделирования для оценки ресурсов, статистической проверки гипотез и методов теории графов для уменьшения пробегов и повышения эффективности операций, а также отмечают, что классическое машинное обучение применяется выборочно там, где это действительно улучшает предсказания времени выполнения заданий и анализ факторов производительности
Перейти к материалу
👉 База вопросов 👉 Новости
#article #jvm #оптимизация
📚 Насколько сложно сделать свою JVM
Статья рассказывает об опыте автора по разработке собственной виртуальной машины Java (JVM) на языке Rust, объясняя базовые структуры class-файлов, процесс выполнения байт-кода, а также эксперименты с оптимизациями вроде хвостовой рекурсии и мемоизации, показывая сложности и особенности создания собственной JVM и сравнивая её с полноценной реализацией HotSpot.
Перейти к материалу
👉 База вопросов 👉 Новости
📚 Насколько сложно сделать свою JVM
Статья рассказывает об опыте автора по разработке собственной виртуальной машины Java (JVM) на языке Rust, объясняя базовые структуры class-файлов, процесс выполнения байт-кода, а также эксперименты с оптимизациями вроде хвостовой рекурсии и мемоизации, показывая сложности и особенности создания собственной JVM и сравнивая её с полноценной реализацией HotSpot.
Перейти к материалу
👉 База вопросов 👉 Новости
#Собес #container #virtual_machine #isolation
🤔 Что такое отличие между контейнером и виртуальной машиной?
💬 Кратко:
Контейнер — это легковесная и изолированная среда выполнения, которая использует ядро операционной системы хоста и общие ресурсы. Контейнеры обеспечивают изоляцию на уровне процессов. Виртуальная машина — это полноценная изолированная система с отдельной операционной системой, которая работает на виртуализированном оборудовании и требует больше ресурсов.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🤔 Что такое отличие между контейнером и виртуальной машиной?
💬 Кратко:
Контейнер — это легковесная и изолированная среда выполнения, которая использует ядро операционной системы хоста и общие ресурсы. Контейнеры обеспечивают изоляцию на уровне процессов. Виртуальная машина — это полноценная изолированная система с отдельной операционной системой, которая работает на виртуализированном оборудовании и требует больше ресурсов.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
👍1
🧑💻 Вопросы с собесов для Node.js Разработчика
1. Какие стратегии кэширования данных можно использовать для улучшения производительности?
Кэширование данных позволяет значительно улучшить производительность веб-приложений. Основные стратегии кэширования включают кэширование на стороне клиента, где данные хранятся в браузере пользователя (например, с использованием
Также стоит учитывать кэширование на уровне сети, например, использование CDN (Content Delivery Network), который позволяет хранить и быстро передавать статические ресурсы. Правильное использование стратегий кэширования помогает сократить время загрузки и улучшить пользовательский опыт.
2. Какие распространенные уязвимости существуют в JavaScript-приложениях и как их предотвращать?
Распространенные уязвимости в JavaScript-приложениях включают XSS (межсайтовый скриптинг), CSRF (межсайтовая подделка запросов) и инъекции SQL. Для предотвращения XSS важно очищать и экранировать пользовательский ввод, а для защиты от CSRF — использовать токены и заголовки. Кроме того, следует применять параметры для запросов к базе данных, чтобы избежать SQL-инъекций. Понимание и применение этих мер безопасности помогает защитить приложения от атак.
3. Как реализовать Content Security Policy (CSP) для защиты веб-приложений на JavaScript?
Content Security Policy (CSP) — это механизм безопасности, который позволяет разработчикам контролировать, какие ресурсы могут быть загружены и выполнены на веб-странице. CSP реализуется с помощью HTTP-заголовка
Чтобы внедрить CSP, достаточно добавить соответствующий заголовок на сервер или в мета-тег на странице.
4. Объясните защиту от Cross-Site Scripting (XSS) и Cross-Site Request Forgery (CSRF) в контексте JavaScript.
Cross-Site Scripting (XSS) — это атака, при которой злоумышленник вставляет вредоносный скрипт на веб-страницу, что позволяет ему получить доступ к данным пользователя.
Защита от XSS включает экранирование пользовательского ввода и применение Content Security Policy (CSP).
Cross-Site Request Forgery (CSRF) — это атака, при которой злоумышленник заставляет пользователя выполнить нежелательное действие на сайте, где он аутентифицирован.
Защита от CSRF включает использование уникальных токенов для подтверждения запросов и проверки заголовков.
5. Как безопасно обрабатывать пользовательский ввод и работать с внешними API?
Безопасная обработка пользовательского ввода включает в себя валидацию, экранирование и очищение данных перед их использованием в приложении. Важно проверять входные данные на стороне клиента и сервера, чтобы предотвратить возможные атаки, такие как XSS и SQL-инъекции.
При работе с внешними API необходимо использовать безопасные методы аутентификации, например, OAuth, а также проверять и фильтровать ответы от API, чтобы избежать обработки вредоносных данных.
#indexeddb #localstorage #cdn #xss #csrf #инъекции_sql #csp #security #basic #api
1. Какие стратегии кэширования данных можно использовать для улучшения производительности?
Кэширование данных позволяет значительно улучшить производительность веб-приложений. Основные стратегии кэширования включают кэширование на стороне клиента, где данные хранятся в браузере пользователя (например, с использованием
localStorage или IndexedDB), и кэширование на стороне сервера, где данные сохраняются на сервере для повторного использования. Также стоит учитывать кэширование на уровне сети, например, использование CDN (Content Delivery Network), который позволяет хранить и быстро передавать статические ресурсы. Правильное использование стратегий кэширования помогает сократить время загрузки и улучшить пользовательский опыт.
2. Какие распространенные уязвимости существуют в JavaScript-приложениях и как их предотвращать?
Распространенные уязвимости в JavaScript-приложениях включают XSS (межсайтовый скриптинг), CSRF (межсайтовая подделка запросов) и инъекции SQL. Для предотвращения XSS важно очищать и экранировать пользовательский ввод, а для защиты от CSRF — использовать токены и заголовки. Кроме того, следует применять параметры для запросов к базе данных, чтобы избежать SQL-инъекций. Понимание и применение этих мер безопасности помогает защитить приложения от атак.
3. Как реализовать Content Security Policy (CSP) для защиты веб-приложений на JavaScript?
Content Security Policy (CSP) — это механизм безопасности, который позволяет разработчикам контролировать, какие ресурсы могут быть загружены и выполнены на веб-странице. CSP реализуется с помощью HTTP-заголовка
Content-Security-Policy, где можно указать разрешенные источники скриптов, стилей и других ресурсов. Это помогает предотвратить загрузку вредоносного контента и снижает риск атак типа XSS. Чтобы внедрить CSP, достаточно добавить соответствующий заголовок на сервер или в мета-тег на странице.
4. Объясните защиту от Cross-Site Scripting (XSS) и Cross-Site Request Forgery (CSRF) в контексте JavaScript.
Cross-Site Scripting (XSS) — это атака, при которой злоумышленник вставляет вредоносный скрипт на веб-страницу, что позволяет ему получить доступ к данным пользователя.
Защита от XSS включает экранирование пользовательского ввода и применение Content Security Policy (CSP).
Cross-Site Request Forgery (CSRF) — это атака, при которой злоумышленник заставляет пользователя выполнить нежелательное действие на сайте, где он аутентифицирован.
Защита от CSRF включает использование уникальных токенов для подтверждения запросов и проверки заголовков.
5. Как безопасно обрабатывать пользовательский ввод и работать с внешними API?
Безопасная обработка пользовательского ввода включает в себя валидацию, экранирование и очищение данных перед их использованием в приложении. Важно проверять входные данные на стороне клиента и сервера, чтобы предотвратить возможные атаки, такие как XSS и SQL-инъекции.
При работе с внешними API необходимо использовать безопасные методы аутентификации, например, OAuth, а также проверять и фильтровать ответы от API, чтобы избежать обработки вредоносных данных.
#indexeddb #localstorage #cdn #xss #csrf #инъекции_sql #csp #security #basic #api
#course #по
📚 Бесплатный курс «Постановка задачи на разработку ПО»
Системные и бизнес-аналитики с помощью курса научатся выявлять требования и управлять ими.
Может показаться, что в начале много воды, но со 2-го раздела видео максимально полезные.
Перейти к материалу
👉 База вопросов 👉 Новости
📚 Бесплатный курс «Постановка задачи на разработку ПО»
Системные и бизнес-аналитики с помощью курса научатся выявлять требования и управлять ими.
Может показаться, что в начале много воды, но со 2-го раздела видео максимально полезные.
Перейти к материалу
👉 База вопросов 👉 Новости
#repository #собес
📚 Interactive Coding Challenges от Donne Martin
Более 120 интерактивных задач по кодированию Python (алгоритмы и структуры данных) — поставляется с картами программы для запоминания Anki.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Interactive Coding Challenges от Donne Martin
Более 120 интерактивных задач по кодированию Python (алгоритмы и структуры данных) — поставляется с картами программы для запоминания Anki.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #reference #counting
🤔 Можно ли отключить механизм подсчета ссылок в Python?
💬 Кратко:
Нет, механизм подсчета ссылок нельзя отключить в стандартном интерпретаторе Python (CPython). Это фундаментальная часть системы управления памятью, встроенная в ядро интерпретатора. Подсчет ссылок работает автоматически для всех объектов Python и обеспечивает немедленное освобождение памяти. Даже если отключить дополнительный сборщик мусора (поколений), подсчет ссылок продолжит работать. Альтернативные реализации Python, такие как Jython или IronPython, могут использовать другие механизмы управления памятью.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Можно ли отключить механизм подсчета ссылок в Python?
💬 Кратко:
Нет, механизм подсчета ссылок нельзя отключить в стандартном интерпретаторе Python (CPython). Это фундаментальная часть системы управления памятью, встроенная в ядро интерпретатора. Подсчет ссылок работает автоматически для всех объектов Python и обеспечивает немедленное освобождение памяти. Даже если отключить дополнительный сборщик мусора (поколений), подсчет ссылок продолжит работать. Альтернативные реализации Python, такие как Jython или IronPython, могут использовать другие механизмы управления памятью.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🧑💻 5 вопросов с собесов Frontend разработчиков
1. Как обеспечить изоляцию зависимостей?
Изоляция достигается через отдельные бандлы, scoped CSS, namespace для глобальных объектов и использование Shadow DOM при необходимости.
2. Как управлять версионностью зависимостей (например, React) между микрофронтами?
Обычно используют единый реестр версий или загрузку общих зависимостей через CDN/module federation. Важно избегать дублирования больших библиотек в каждом микрофронте.
3. Какие проблемы возникают в микрофронтенд-архитектуре?
Основные проблемы — сложность синхронизации зависимостей, управление версиями, изоляция стилей, обмен состоянием и интеграция разных технологий.
4. Ключевые особенности React 18 vs React 17 (автобатчинг, Fiber).
React 18 добавил автоматический батчинг, новый рендеринг через Concurrent Mode и улучшения Fiber. Это делает обновления более плавными и эффективными.
5. Что происходит при перерендере компонента?
При изменении состояния или пропсов React сравнивает новый виртуальный DOM с предыдущим и вносит минимальные изменения в реальный DOM.
#microfrontend #isolation #versioning #dependency #architecture #react_18 #batching #concurrent #react #render #reconciliation
1. Как обеспечить изоляцию зависимостей?
Изоляция достигается через отдельные бандлы, scoped CSS, namespace для глобальных объектов и использование Shadow DOM при необходимости.
2. Как управлять версионностью зависимостей (например, React) между микрофронтами?
Обычно используют единый реестр версий или загрузку общих зависимостей через CDN/module federation. Важно избегать дублирования больших библиотек в каждом микрофронте.
3. Какие проблемы возникают в микрофронтенд-архитектуре?
Основные проблемы — сложность синхронизации зависимостей, управление версиями, изоляция стилей, обмен состоянием и интеграция разных технологий.
4. Ключевые особенности React 18 vs React 17 (автобатчинг, Fiber).
React 18 добавил автоматический батчинг, новый рендеринг через Concurrent Mode и улучшения Fiber. Это делает обновления более плавными и эффективными.
5. Что происходит при перерендере компонента?
При изменении состояния или пропсов React сравнивает новый виртуальный DOM с предыдущим и вносит минимальные изменения в реальный DOM.
#microfrontend #isolation #versioning #dependency #architecture #react_18 #batching #concurrent #react #render #reconciliation
#trainer #codewars
📚 CodeWars
LeetCode можно не обсуждать — про него всё понятно. А вот младшего брата CodeWars — можно. Это сайт с задачами, ĸоторые делают другие пользователи.
Почему он младший брат? Потому что задачи в нём больше на логиĸу и отработĸу базовых логичесĸих ĸонструĸций. Алгоритмичесĸие задачи тоже можно встретить, но более лёгĸий порог входа — отличительная сторона сайта. За прохождение задач (они называют их Kata) вы получаете Honor-очĸи, тем самым повышаете репутацию своего профиля.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 CodeWars
LeetCode можно не обсуждать — про него всё понятно. А вот младшего брата CodeWars — можно. Это сайт с задачами, ĸоторые делают другие пользователи.
Почему он младший брат? Потому что задачи в нём больше на логиĸу и отработĸу базовых логичесĸих ĸонструĸций. Алгоритмичесĸие задачи тоже можно встретить, но более лёгĸий порог входа — отличительная сторона сайта. За прохождение задач (они называют их Kata) вы получаете Honor-очĸи, тем самым повышаете репутацию своего профиля.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#article #optimization
📚 Математика на складе. Как оптимизировать хаос
В этой статье команда Ozon Tech показывает, как прикладная математика помогает оптимизировать реальные складские процессы: от размещения товаров и маршрутов сотрудников до моделирования и экспериментов. Авторы описывают использование оптимизационных моделей для слоттинга, конфигурации шкафов, дискретно-событийного моделирования для оценки ресурсов, статистической проверки гипотез и методов теории графов для уменьшения пробегов и повышения эффективности операций, а также отмечают, что классическое машинное обучение применяется выборочно там, где это действительно улучшает предсказания времени выполнения заданий и анализ факторов производительности
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Математика на складе. Как оптимизировать хаос
В этой статье команда Ozon Tech показывает, как прикладная математика помогает оптимизировать реальные складские процессы: от размещения товаров и маршрутов сотрудников до моделирования и экспериментов. Авторы описывают использование оптимизационных моделей для слоттинга, конфигурации шкафов, дискретно-событийного моделирования для оценки ресурсов, статистической проверки гипотез и методов теории графов для уменьшения пробегов и повышения эффективности операций, а также отмечают, что классическое машинное обучение применяется выборочно там, где это действительно улучшает предсказания времени выполнения заданий и анализ факторов производительности
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #transaction #isolation #serializable
🤔 В чём суть уровня изоляции SERIALIZABLE?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 В чём суть уровня изоляции SERIALIZABLE?
💬 Кратко:
SERIALIZABLE — самый строгий уровень изоляции транзакций. Он гарантирует, что результат параллельного выполнения транзакций эквивалентен их последовательному выполнению. Это устраняет все виды аномалий чтения. Цена за это — снижение производительности и возможные ошибки сериализации. Используется редко и осознанно.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Forwarded from YeaHub
👨🏻💻 Сервис лайвкодинга в YeaHub
Фактически — релиз уже состоялся.
Но честно: мы не успели загрузить ту огромную базу задач, которую планировали, и ещё не всё успели полноценно протестировать.
Поэтому до 23 февраля работаем в режиме «вместе доделываем продукт»:
— мы активно добавляем задачи и чиним баги, все
— пока тестируем, все задачи открыты, после этого примерно 50% закроем для членов
— вы решаете, находите проблемы, пишете в поддержку и даёте фидбек
— ну и оформляете подписку 😜
Что уже есть:
• база реальных задач с собеседований
• JavaScript / Python / Java / Go
• удобный редактор и проверка решений
Что скоро:
• связь задач с компаниями и коллекциями собеседований (не успели в этот релиз)
• другие языки
• контесты
• обучающие модули и курс по алгоритмам
• AI-разбор решений построчно
• челленджи и соревнования
👉 Задачи: https://yeahub.ru/dashboard/tasks
👉 Членство: https://yeahub.ru/dashboard/settings#select-tariff
Новогодние цены действуют только до полноценного запуска. После — x2.
Сейчас лучший момент подключиться и поддержать проект.
Спасибо, что помогаете нам запустить это правильно✊🏻🚀 💪
Фактически — релиз уже состоялся.
Но честно: мы не успели загрузить ту огромную базу задач, которую планировали, и ещё не всё успели полноценно протестировать.
Поэтому до 23 февраля работаем в режиме «вместе доделываем продукт»:
— мы активно добавляем задачи и чиним баги, все
— пока тестируем, все задачи открыты, после этого примерно 50% закроем для членов
— вы решаете, находите проблемы, пишете в поддержку и даёте фидбек
— ну и оформляете подписку 😜
Что уже есть:
• база реальных задач с собеседований
• JavaScript / Python / Java / Go
• удобный редактор и проверка решений
Что скоро:
• связь задач с компаниями и коллекциями собеседований (не успели в этот релиз)
• другие языки
• контесты
• обучающие модули и курс по алгоритмам
• AI-разбор решений построчно
• челленджи и соревнования
👉 Задачи: https://yeahub.ru/dashboard/tasks
👉 Членство: https://yeahub.ru/dashboard/settings#select-tariff
Новогодние цены действуют только до полноценного запуска. После — x2.
Сейчас лучший момент подключиться и поддержать проект.
Спасибо, что помогаете нам запустить это правильно✊🏻
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
🧑💻 Подборка из 5 вопросов для Golang разработчиков
1. Какие микросервисы вы разрабатывали? Как они взаимодействовали между собой?
Примеры микросервисов:
- Сервис аутентификации (JWT, OAuth).
- Сервис платежей (интеграция с Stripe).
- Сервис уведомлений (Email/SMS).
Взаимодействие через REST API, gRPC или RabbitMQ.
2. Какие меры безопасности вы применяли при работе с Django и Postgres?
Основные меры:
- Django: CSRF-токены,
- Postgres: Шифрование, ограничение прав пользователей.
3. Как бы вы реализовали хранение больших бинарных данных (например, BinaryField) в Postgres?
Для небольших файлов (до 1 ГБ) можно использовать
4. Напишите запрос для выборки всех кредитов физическим лицам с просроченной задолженностью.
5. Как Postgres хранит данные внутри себя?
PostgreSQL хранит данные в таблицах, которые разбиты на страницы (обычно 8 КБ). Каждая страница содержит записи (tuples), а индексы ускоряют поиск.
#microservices #api #rabbitmq #security #django #postgresql #binary #storage #sql #query #database
1. Какие микросервисы вы разрабатывали? Как они взаимодействовали между собой?
Примеры микросервисов:
- Сервис аутентификации (JWT, OAuth).
- Сервис платежей (интеграция с Stripe).
- Сервис уведомлений (Email/SMS).
Взаимодействие через REST API, gRPC или RabbitMQ.
2. Какие меры безопасности вы применяли при работе с Django и Postgres?
Основные меры:
- Django: CSRF-токены,
HTTPS, django-axes.- Postgres: Шифрование, ограничение прав пользователей.
3. Как бы вы реализовали хранение больших бинарных данных (например, BinaryField) в Postgres?
Для небольших файлов (до 1 ГБ) можно использовать
bytea (бинарный тип). Для больших файлов лучше хранить ссылки на файлы в файловой системе или использовать Large Objects (LOB) в Postgres.4. Напишите запрос для выборки всех кредитов физическим лицам с просроченной задолженностью.
SELECT c.*
FROM credits c
JOIN clients cl ON c.client_id = cl.id
WHERE cl.type = 'individual'
AND c.due_date < CURRENT_DATE
AND c.paid_amount < c.total_amount;
5. Как Postgres хранит данные внутри себя?
PostgreSQL хранит данные в таблицах, которые разбиты на страницы (обычно 8 КБ). Каждая страница содержит записи (tuples), а индексы ускоряют поиск.
#microservices #api #rabbitmq #security #django #postgresql #binary #storage #sql #query #database
🔥1
#article #ellipsis
📚 Объект многоточие в Python
Статья подробно разбирает объект многоточие (Ellipsis) в языке Python — что это за специальная встроенная константа, как она представляется в коде (через литерал ...) и где её можно использовать на практике. Автор показывает примеры применения Ellipsis в аннотациях типов (например, для указания неизвестной длины кортежей или неопределённых сигнатур функций), а также рассматривает случаи, когда многоточие может выступать в роли заполнителя вместо pass. В тексте также упоминаются сторонние библиотеки, такие как FastAPI и Typer, где объект многоточие помогает делать параметры обязательными или задавать прочие формы поведения. Статья полезна разработчикам Python, которые хотят глубже понять нюансы языка и познакомиться с необычными, но практичными элементами синтаксиса.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Объект многоточие в Python
Статья подробно разбирает объект многоточие (Ellipsis) в языке Python — что это за специальная встроенная константа, как она представляется в коде (через литерал ...) и где её можно использовать на практике. Автор показывает примеры применения Ellipsis в аннотациях типов (например, для указания неизвестной длины кортежей или неопределённых сигнатур функций), а также рассматривает случаи, когда многоточие может выступать в роли заполнителя вместо pass. В тексте также упоминаются сторонние библиотеки, такие как FastAPI и Typer, где объект многоточие помогает делать параметры обязательными или задавать прочие формы поведения. Статья полезна разработчикам Python, которые хотят глубже понять нюансы языка и познакомиться с необычными, но практичными элементами синтаксиса.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#documentation #начинающие
📚 rubykoans
Интерактивный тренажёр, построенный на методе «коанов» — последовательных задач, где нужно исправлять ошибки в коде, чтобы понять принципы языка. Охватывает базовые темы (строки, числа, методы) и продвинутые (блоки, исключения, метапрограммирование). Каждый шаг сопровождается пояснениями, а прогресс отслеживается автоматически. Отличный способ освоить Ruby через «пробование на ощупь».
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 rubykoans
Интерактивный тренажёр, построенный на методе «коанов» — последовательных задач, где нужно исправлять ошибки в коде, чтобы понять принципы языка. Охватывает базовые темы (строки, числа, методы) и продвинутые (блоки, исключения, метапрограммирование). Каждый шаг сопровождается пояснениями, а прогресс отслеживается автоматически. Отличный способ освоить Ruby через «пробование на ощупь».
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #ml #model
🤔 Какие сложности возникают при запуске моделей внутри контейнеров
💬 Кратко:
Основные сложности связаны с зависимостями, размером образов и ресурсами. ML-модели часто требуют специфичных версий библиотек и драйверов. Контейнеры с GPU сложнее в настройке и отладке. Также возникают проблемы с памятью и временем старта. Все это усложняет эксплуатацию в продакшене.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какие сложности возникают при запуске моделей внутри контейнеров
💬 Кратко:
Основные сложности связаны с зависимостями, размером образов и ресурсами. ML-модели часто требуют специфичных версий библиотек и драйверов. Контейнеры с GPU сложнее в настройке и отладке. Также возникают проблемы с памятью и временем старта. Все это усложняет эксплуатацию в продакшене.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
🧑💻 5 сложных вопросов для Python разработчиков
1. Почему нельзя делать мутабельные типы аргументами функции по умолчанию?
Если мутабельный тип данных используется как дефолтный аргумент, то изменения, сделанные в этом объекте внутри функции, сохранятся при последующих вызовах функции. Это связано с тем, что дефолтные аргументы вычисляются только один раз при определении функции, а не при каждом вызове.
2. Что такое внедрение зависимостей (Dependency Injection) в FastAPI?
Dependency Injection в FastAPI — это механизм, который позволяет передавать зависимости (например, функции, объекты, настройки) в обработчики маршрутов. Это упрощает управление кодом и повышает его тестируемость.
3. Является ли range итератором?
Да, объект
4. Какой синтаксис создания генераторов?
Генераторы в Python создаются с использованием функции, которая содержит ключевое слово
5. Как в памяти Python хранятся списки и кортежи?
Списки в Python — это изменяемые объекты, которые хранят ссылки на другие объекты, что позволяет изменять их содержимое. Кортежи — неизменяемые объекты, которые также хранят ссылки на другие объекты, но их содержимое нельзя изменить после создания. Списки обычно занимают больше памяти, чем кортежи, из-за необходимости поддержания изменяемости.
#mutable #arguments #function #fast_api #dependency #injection #range #iterator #iterable #yield #generator #memory #tuple #list
1. Почему нельзя делать мутабельные типы аргументами функции по умолчанию?
Если мутабельный тип данных используется как дефолтный аргумент, то изменения, сделанные в этом объекте внутри функции, сохранятся при последующих вызовах функции. Это связано с тем, что дефолтные аргументы вычисляются только один раз при определении функции, а не при каждом вызове.
2. Что такое внедрение зависимостей (Dependency Injection) в FastAPI?
Dependency Injection в FastAPI — это механизм, который позволяет передавать зависимости (например, функции, объекты, настройки) в обработчики маршрутов. Это упрощает управление кодом и повышает его тестируемость.
3. Является ли range итератором?
Да, объект
range является итератором в Python. Это последовательность чисел, которая генерируется по запросу и используется в циклах. В Python 3 range не является списком, а является более эффективным объектом, который генерирует числа по мере их запроса.4. Какой синтаксис создания генераторов?
Генераторы в Python создаются с использованием функции, которая содержит ключевое слово
yield. Генератор возвращает элементы по одному, и его выполнение приостанавливается на каждом yield и возобновляется с того места, где оно было приостановлено. Генераторы экономят память, так как данные генерируются по мере необходимости, а не сохраняются в памяти.5. Как в памяти Python хранятся списки и кортежи?
Списки в Python — это изменяемые объекты, которые хранят ссылки на другие объекты, что позволяет изменять их содержимое. Кортежи — неизменяемые объекты, которые также хранят ссылки на другие объекты, но их содержимое нельзя изменить после создания. Списки обычно занимают больше памяти, чем кортежи, из-за необходимости поддержания изменяемости.
#mutable #arguments #function #fast_api #dependency #injection #range #iterator #iterable #yield #generator #memory #tuple #list
❤2
#repository #кибербезопасность
📚 Структурированный 90-дневный план обучения кибербезопасности предназначенный для начинающих специалистов
План обучения, разделённый на ежедневные задания, охватывающие ключевые темы
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Структурированный 90-дневный план обучения кибербезопасности предназначенный для начинающих специалистов
План обучения, разделённый на ежедневные задания, охватывающие ключевые темы
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа