YeaHub Tech
412 subscribers
343 photos
15 videos
2 files
449 links
Новые технологии, советы и обучающие материалы

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Download Telegram
🧑‍💻 5 вопросов с собесов Frontend разработчиков

1. Как можно синхронизировать работу между главным потоком и воркерами?
Синхронизация между главным потоком и Web Workers осуществляется через механизм сообщений, используя методы postMessage и обработчики onmessage. Главный поток отправляет сообщения в worker, а worker может отвечать тем же способом. Однако синхронизация не является мгновенной, поэтому важно учитывать, что сообщения передаются асинхронно.

2. В чем отличие между microtask queue и task queue?
В JavaScript есть две очереди для обработки асинхронных задач: microtask queue и task queue. Microtask queue содержит задачи, такие как Promise и MutationObserver, которые выполняются после завершения текущего стека выполнения, но перед выполнением задач из task queue. В отличие от этого, task queue содержит задачи, связанные с событиями и таймерами, которые обрабатываются только после выполнения всех микротасков.

3. Как реализовать "ленивые" вычисления (lazy evaluation) в JavaScript?
Ленивые вычисления в JavaScript означают, что результат вычисления будет возвращен только по мере необходимости, а не сразу. Это может улучшить производительность, особенно если результаты не всегда нужны. Ленивые вычисления можно реализовать с помощью функций, возвращающих другие функции или используя генераторы, которые позволяют приостанавливать и возобновлять выполнение.

4. Как работает Web Workers? В чем их преимущества и ограничения?
Web Workers — это скрипты, которые выполняются в фоновом режиме, отделенные от основного потока выполнения. Это позволяет выполнять тяжелые вычисления без блокировки пользовательского интерфейса, что улучшает отзывчивость приложений. Однако Web Workers имеют ограничения, такие как отсутствие доступа к DOM и использование только безопасного контекста.

5. Как использовать MessageChannel для обмена сообщениями между потоками?
MessageChannel — это API в JavaScript, который позволяет создавать канал для обмена сообщениями между потоками, такими как главный поток и Web Workers. Он состоит из двух объектов: port1 и port2, которые можно использовать для отправки и получения сообщений. Этот механизм обеспечивает двустороннюю связь и помогает синхронизировать действия между потоками.

#workers #postmessage #browsr #microtask #mutationobserver #promise #lazy #optimization #функция #worker #browser
🔥2
#repository #swift #frameworks
📚 iOS Awesome

Кураторский список экосистемы iOS, включающий проекты на Objective-C и Swift. Содержит разделы по фреймворкам, инструментам, библиотекам и ресурсам для обучения. Подходит для изучения лучших практик и поиска готовых решений.

Перейти к материалу

👉 База вопросов 👉 Новости
#book #blender
📚 Изучаем Blender. Практическое руководство по созданию анимированных 3D-персонажей - Оливер Вильяр

Blender - это не просто программа, а целый мир 3D-графики, и книги по геймдеву часто рекомендуют начинать именно с неё. Оливер Вильяр создал подробное руководство, где шаг за шагом раскрывается процесс создания анимированных персонажей. В книге подробно разбираются интерфейс Blender, основы моделирования, анимация объектов и персонажей, а также оптимизация рабочих процессов.

Перейти к материалу

👉 База вопросов 👉 Новости
#Собес #docker #image_optimization
🤔 Какие методы уменьшения объема Docker-образа ты знаешь?

💬 Кратко:

Основные методы: использование многоступенчатой сборки (multi-stage build), выбор минимального базового образа (например, alpine), объединение команд RUN в одну для уменьшения слоёв, использование файла .dockerignore и удаление кэша пакетного менеджера в том же слое, где он использовался.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
👍1
Forwarded from YeaHub
[Версия 1.3.0] - Обновление платформы

Мы продолжаем развивать YeaHub, чтобы сделать обучение ещё удобнее, эффективнее и интереснее. В этом обновлении — важные и давно ожидаемые улучшения 👇

🔹 Навыки и ключевые слова из вакансий HH
Мы запустили сервис, который помогает прокачать резюме с помощью популярных навыков и ключевых слов, встречающихся в вакансиях. Это поможет вам выше ранжироваться в поиске среди кандидатов и увеличит конверсию откликов.
https://yeahub.ru/hh-analytics?page=1&mode=skills&specialization=11

🔹 Исправления и улучшения
Мы учли вашу обратную связь: исправили баги, улучшили интерфейс и сделали работу с платформой ещё комфортнее 🧠

🔥 Скоро
1. Сервис Лайвкодинга с реальными задачами с собеседований

👉 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru

#release #news #update #yeahub
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🔥1
🧑‍💻 Вопросы с собесов для Node.js Разработчика

1. Зачем может быть нужен Middleware в Nest.js
Middleware в Nest.js — это функции, которые выполняются перед обработчиками маршрутов (controller's handlers). Они имеют доступ к объектам запроса и ответа, а также к следующей функции в цепочке middleware. Они используются для таких задач, как логирование, сжатие данных, парсинг cookies, проверка CORS и аутентификация.

#nestjs #middleware
❤1🔥1
#channel #опытные #начинающие
📚 Golovach Courses

GolovachCourses - это небольшой образовательный проект, на котором можно найти сотни видео, посвящённых разным аспектам языка Java. Основатель канала, к слову, ведёт курс "Scala for Java Developers" на проекте Udemy.com. По заявлению самого автора, разнообразие видео удовлетворит как опытных разработчиков, так и новичков, желающих освоить язык с нуля.

Перейти к материалу

👉 База вопросов 👉 Новости
❤1
#book #swift
📚 Swift подробно. Чейрд Инт Вейн

Эта книга предназначена для более менее опытных специалистов. В частности, автор рассказывает о том, как разрабатывать ПО для платформ Apple, таких как iOS и Mac, а также на сервере с Linux. Это тоже практическое руководство, с большим количеством примеров, участками кода, задачами для самостоятельного решения.

Книга помогает читателю освоить такие методы, как обобщение, обработка ошибок, протокольно-ориентированное программирование и современные шаблоны Swift. Кроме того, автор щедро делится собственным опытом, включая важные и трудно выявляемые методики, которые он освоил на протяжении работы со Swift.

Перейти к материалу

👉 База вопросов 👉 Новости
#Собес #cdn #svg #optimization
🤔 Какие способы оптимизации изображений на веб-странице вы знаете?

💬 Кратко:

Оптимизация изображений включает несколько методов: сжатие изображений (использование форматов WebP, JPEG или PNG), загрузка изображений только по мере необходимости (ленивая загрузка), выбор адаптивных изображений с разными размерами для разных устройств, использование CDN для быстрой доставки и добавление атрибута alt для повышения доступности.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🧑‍💻 Вопросы с собесов для Node.js Разработчика

1. Что такое холодный, теплый и горячий кеш в оптимизации V8?
В V8 кеширование кода делится на три типа: холодный кеш, теплый кеш и горячий кеш. Холодный кеш относится к коду, который не исполнялся ранее и не имеет никаких оптимизаций. Теплый кеш содержит код, который исполнялся несколько раз, и движок может начать его оптимизировать. Горячий кеш включает часто исполняемый код, который уже оптимизирован и работает быстрее, что значительно улучшает производительность приложения.

2. Как движок JavaScript ищет ссылки на переменные в определенном scope?
JavaScript использует механизм, называемый "лексическое окружение", для поиска ссылок на переменные в определенном scope (области видимости). Когда функция вызывается, создается новое лексическое окружение, которое включает в себя ссылки на переменные, объявленные в родительских scopes. Если переменная не найдена в текущем scope, движок продолжает поиск в родительских scopes до тех пор, пока не найдет переменную или не достигнет глобального scope.

3. Как использовать Fetch API и Streams для обработки больших объемов данных?
Fetch API позволяет загружать данные с сервера, а Streams — обрабатывать их по частям, что особенно полезно для работы с большими объемами данных. Вместо загрузки всего файла сразу, можно использовать метод response.body.getReader(), чтобы считывать данные частями, что позволяет уменьшить использование памяти и ускорить обработку. Это позволяет начать обработку данных, не дожидаясь полной загрузки, что особенно полезно для больших файлов, таких как видео или изображения.

4. Что такое лонг пуллинг и шорт пуллинг?
Шорт пуллинг — это метод, при котором клиент периодически отправляет запросы на сервер с определенными интервалами для проверки наличия новых данных. Лонг пуллинг, с другой стороны, позволяет клиенту отправить запрос, и сервер удерживает этот запрос открытым, пока не появятся новые данные, после чего он отправляет ответ. Лонг пуллинг более эффективен, чем шорт пуллинг, так как уменьшает количество ненужных запросов и задержек.

5. Как устроены потоки в JavaScript?
JavaScript работает на одном потоке, что означает, что он выполняет код последовательно, один за другим. Однако он использует Event Loop для обработки асинхронных операций и событий. Когда выполняется асинхронная операция, она ставится в очередь, и JavaScript продолжает выполнять следующий код, пока не придет время обработать асинхронную операцию. Таким образом, хотя JavaScript и не использует многопоточность, он эффективно управляет асинхронными задачами.

#кеш #v8 #basic #scope #область_видимости #переменные #streams #fetch #browser #пуллинг #api #потоки
👍2
#course #алгебра
📚 Линейная алгебра

Данный курс представляет собой краткое изложение основ линейной алгебры. Основная его задача - напомнить базовые факты линейной алгебры, использующиеся в тех или иных разделах практического программирования.

Перейти к материалу

👉 База вопросов 👉 Новости
#course #amazon
📚 MLU-EXPLAIN

Университет машинного обучения (MLU) — это образовательная инициатива компании Amazon, направленная на изучение теории и практического применения машинного обучения.

Перейти к материалу

👉 База вопросов 👉 Новости
#Собес #countdownlatch #synchronization #threads
🤔 Как работает CountDownLatch?

💬 Кратко:

CountDownLatch позволяет одному или нескольким потокам ждать, пока другие потоки не завершат работу. Счётчик уменьшается при вызове countDown(), и ожидающие потоки разблокируются при достижении нуля.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
🧑‍💻 5 сложных вопросов для Python разработчиков

1. Как обрабатываются стриминговые данные? (Spark Structured Streaming)
Spark Structured Streaming обрабатывает данные микропакетами, используя ту же API, что и для пакетной обработки. Данные поступают из Kafka, Kinesis или файловой системы, обрабатываются через DataFrame API и выводятся в хранилища или дашборды. Гарантируется exactly-once семантика обработки.

2. Зачем переносить запись в БД в фоновые задачи?
Перенос записи в фоновые задачи:

- Уменьшает время ответа API
- Повышает отказоустойчивость
- Позволяет обрабатывать пиковые нагрузки
- Упрощает реализацию повторных попыток
- Разгружает основное приложение

3. Что такое вытесняющая многозадачность?
Вытесняющая многозадачность — это когда ОС принудительно переключает выполнение между задачами (процессами/потоками) без их согласия. Это предотвращает "зависание" системы из-за одной задачи.

4. Что такое блокирующий вызов в asyncio?
Блокирующий вызов — это операция (например, чтение файла или CPU-вычисления), которая останавливает цикл событий asyncio, пока не завершится. Это снижает производительность асинхронного приложения.

5. Как настроить алерты для отслеживания аномалий?
Настройка алертов включает:

- Определение ключевых метрик (CPU, память, ошибки)
- Установку пороговых значений
- Настройку уведомлений (Email, Slack, SMS)
- Реализацию эскалации

#spark #streaming #kafka #database #queue #background_tasks #multitasking #preemptive #scheduling #asyncio #blocking #event_loop #alerting #monitoring #incidents
#trainer #задачник
📚 Задачник PHP по уровням

Платформа полезна для тех, кто предпочитает учиться на практике и хочет получить реальный опыт решения типовых задач, с которыми сталкиваются PHP-разработчики.

Перейти к материалу

👉 База вопросов 👉 Новости
#channel #laravel #фреймворки
📚 Webslesson

На этом канале вы найдёте уроки по изучению языка PHP с нуля и интересные подборки по созданию чатов, веб-приложений, интернет-магазина, систем оценивания. Все это с использованием чистого PHP, Ajax и фреймворков, среди которых есть Laravel и Codeigniter.

Перейти к материалу

👉 База вопросов 👉 Новости
#Собес #dict
🤔 Как Python решает проблему коллизий в словарях?

💬 Кратко:

Python использует открытую адресацию для разрешения коллизий в словарях. Если ячейка занята, интерпретатор ищет следующую подходящую позицию. При этом дополнительно сравниваются ключи на равенство. Это обеспечивает корректную работу даже при совпадении хэшей. Такой подход экономит память и работает очень быстро.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал
👍1
#book #паттерны
📚 Game Programming Patterns

Бесплатная книга о шаблонах программирования в контексте разработки игр. В каждой главе описывается отдельный шаблон и приводится конкретный пример его использования. Это, пожалуй, основное преимущество книги: она всегда демонстрирует достоинства того или иного шаблона. Автор также указывает ограничения различных шаблонов и рассказывает о том, как они эволюционировали. Все примеры написаны на C++, но они короткие и легко читаются. Еще один плюс данного ресурса – колонка с дополнительными комментариями автора, устраняющими любые пробелы, которые могли быть в оригинальной книге.

Перейти к материалу

👉 База вопросов 👉 Новости
#repository #начинающие
📚 C++ Projects for Beginners

Коллекция простых проектов на C++ для начинающих. Включает задачи по основам языка, работе с файлами, консольным приложениям.

Перейти к материалу

👉 База вопросов 👉 Новости
👍1
Forwarded from YeaHub
💼 Как реально подготовиться к собеседованию в IT

Подготовка к собеседованиям в IT — это не только заучивание вопросов, но и работа с системой: понимание того, что реально спрашивают, как повторять материал и как не тратить время впустую.

В этом видео разбираем:
- как готовиться к IT-собеседованиям без хаоса
- какие вопросы чаще всего задают на технических интервью
- как выстроить регулярную подготовку и отслеживать прогресс
- где брать реальные вопросы с собеседований
- как повторять материал эффективно, а не «по кругу»
- какие ресурсы использовать для изучения тем
- как аналитика по вопросам помогает готовиться точнее

Показываю подход к подготовке с использованием YeaHub: база реальных вопросов с собеседований, тренажёр для повторения, статистика по популярным и сложным темам, а также подборка полезных материалов.

Видео будет полезно тем, кто:
- готовится к собеседованиям в IT
- ищет первую работу или планирует смену компании
- устал от бесконечных списков вопросов без структуры

https://yeahub.ru - платформа для подготовки к собесам

https://t.me/yeahub - основной канал

Ссылка на видео: клик
#Собес #web_worker #optimizations
🤔 Какой механизм взаимодействия основного потока с Web Worker?

💬 Кратко:

Основной поток и Web Worker общаются через асинхронные сообщения с помощью postMessage и события onmessage. Данные передаются копированием (не общей памятью), если не используется SharedArrayBuffer.

📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору

📣 Хочешь получать больше таких разборов?
Подпишись на наш главный канал