#Собес #horizontal #scaling
🤔 Какие проблемы возникают при горизонтальном масштабировании БД?
💬 Кратко:
Горизонтальное масштабирование БД усложняет консистентность данных. Возникают проблемы с транзакциями и JOIN-запросами. Шардинг усложняет логику приложения. Failover и репликация требуют сложной координации. Масштабирование БД всегда дороже, чем сервисов.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какие проблемы возникают при горизонтальном масштабировании БД?
💬 Кратко:
Горизонтальное масштабирование БД усложняет консистентность данных. Возникают проблемы с транзакциями и JOIN-запросами. Шардинг усложняет логику приложения. Failover и репликация требуют сложной координации. Масштабирование БД всегда дороже, чем сервисов.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #numeric #string
🤔 Что произойдёт при сложении строки и числа оператором +?
💬 Кратко:
При использовании оператора
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что произойдёт при сложении строки и числа оператором +?
💬 Кратко:
При использовании оператора
+ PHP приводит строку к числу. Если строка начинается с числовой части, будет использовано это число. Если строка не содержит числа в начале, результат будет 0. После приведения производится обычное сложение. Такое поведение важно помнить, чтобы избежать неожиданных результатов.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #reference #optimization
🤔 Можно ли передавать по ссылке принудительно?
💬 Кратко:
Да, в PHP можно принудительно передавать аргументы по ссылке. Для этого используется символ амперсанда (&) перед именем параметра в объявлении функции. Это заставляет функцию работать с оригинальной переменной, а не с ее копией. Такой подход полезен когда нужно изменить исходную переменную или для оптимизации работы с большими массивами. Однако злоупотребление передачей по ссылке может сделать код менее предсказуемым.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Можно ли передавать по ссылке принудительно?
💬 Кратко:
Да, в PHP можно принудительно передавать аргументы по ссылке. Для этого используется символ амперсанда (&) перед именем параметра в объявлении функции. Это заставляет функцию работать с оригинальной переменной, а не с ее копией. Такой подход полезен когда нужно изменить исходную переменную или для оптимизации работы с большими массивами. Однако злоупотребление передачей по ссылке может сделать код менее предсказуемым.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #transaction #locking #jpa
🤔 Как сделать блокирующую транзакцию для обработки событий?
💬 Кратко:
- Использовать
- Применить
- Включить пессимистичную блокировку в JPA (
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Как сделать блокирующую транзакцию для обработки событий?
💬 Кратко:
- Использовать
SELECT FOR UPDATE (блокирует строки на время транзакции).- Применить
@Transactional с isolation = SERIALIZABLE.- Включить пессимистичную блокировку в JPA (
LockModeType.PESSIMISTIC_WRITE).📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #памятка
📚 Памятка PHP/GoLang разработчику для подготовки к собеседованиям
Это методичка(краткий справочник) по темам, знание которых может понадобиться при собеседовании на бэкендера (с уклоном в Golang/PHP) и на работе.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Памятка PHP/GoLang разработчику для подготовки к собеседованиям
Это методичка(краткий справочник) по темам, знание которых может понадобиться при собеседовании на бэкендера (с уклоном в Golang/PHP) и на работе.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #pdo #mysqli #error_handling
🤔 Как управлять подключениями к базе данных в PHP?
💬 Кратко:
В PHP подключение к базе данных осуществляется через MySQLi или PDO. Чтобы избежать утечек ресурсов, соединение нужно закрывать после выполнения операций. Для повышения безопасности следует использовать подготовленные запросы и обрабатывать ошибки через исключения.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Как управлять подключениями к базе данных в PHP?
💬 Кратко:
В PHP подключение к базе данных осуществляется через MySQLi или PDO. Чтобы избежать утечек ресурсов, соединение нужно закрывать после выполнения операций. Для повышения безопасности следует использовать подготовленные запросы и обрабатывать ошибки через исключения.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
Forwarded from YeaHub
Февраль и март выдались для нас непростыми. Мы прошли через сложную миграцию и разделили проект на два отдельных продукта.
Теперь у нас есть:
— yeahub.ru — публичная SEO-ориентированная часть на Next.js с быстрым серверным рендерингом
— app.yeahub.ru — основное приложение: личный кабинет пользователя со статистикой, прогрессом и аналитикой
🔥 Лайвкодинг — наконец-то готов
Мы серьезно прокачали сервис лайвкодинга:
— добавили привязку задач к коллекциям (собеседованиям)
— сделали связь с компаниями
— теперь можно готовиться по задачам с реальных собеседований
Уже доступны задачи из: Сбер, Яндекс, Авито, VK, Ozon, Т-Банк и других компаний.
📌 Сейчас добавлено ~100 задач.
Да, это меньше, чем планировали — но пришлось сделать шаг назад, чтобы сделать десять вперед.
Мы полностью переработали:
— шаблон задач
— систему тесткейсов
Ранее была допущена ошибка, из-за которой пришлось вручную исправить 80+ задач 😢
Но теперь база готова к масштабированию — и мы можем быстро и правильно наполнять её дальше.
📈 Что дальше по лайвкодингу
Мы будем активно развивать этот сервис.
Это не только про собеседования — это инструмент для роста и прокачки.
Планируется много новых фич.
📅 Регулярные обновления контента
Мы выстроили процесс: каждую неделю 4–8 собеседований, 6–10 задач
И каждое обновление будем анонсировать, чтобы вы всегда были в курсе.
🛠 Сейчас в разработке (2 ключевых сервиса)
Агрегатор вакансий + платформа размещения вакансий
ATS-оптимизация резюме
— Бэкенд почти готов.
— Идёт дизайн.
— Фронтенд начнем совсем скоро.
🎯 Цель — выпустить оба сервиса в бэта до лета.
🧠 Новая структура обучения
Раньше было: Навык → Вопрос
Теперь: Навык → Тема → Вопрос
Это сильно упрощает обучение.
Теперь можно: готовиться точечно к собеседованиям или системно изучать темы
💻 Мы — open source
Мы не бросаем слов на ветер. Мы делаем.
Код проекта открыт https://github.com/YeaHubTeam:
— фронтенд
— мобильные приложения
— backend на Python (решили новый сервис делать публично, для новичков)
— автотесты
Это open source платформа, где новички могут учиться и смотреть на реальные практики.
❤️ Поддержка
Вы можете поддержать нас, оформив подписку. Это напрямую влияет на:
— добавление контента
— развитие платформы
— новые фичи
Вы можете быть уверены — мы не стоим на месте. Работа реально кипит: почти каждый день мержатся новые фичи, мы постоянно развиваем продукт и улучшаем уже существующие сервисы.
У нас полностью открытый код, и это не просто слова. Вы в любой момент можете зайти и посмотреть активность, коммиты и то, как проект развивается каждый день.
По подписке: сейчас стоимость — 800 рублей за месяц и 1800 рублей за 3 месяца. Это уже ниже, чем у аналогичных сервисов. При этом важно понимать — после выхода новых сервисов (агрегатор вакансий и ATS для резюме) цена будет пересмотрена.
Если хотите зафиксировать текущую стоимость — лучше сделать это сейчас:
https://app.yeahub.ru/settings#select-tariff
Мы строим продукт.
Мы двигаемся вперёд.
И мы делаем IT снова великим.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#Собес #loop #foreach #for
🤔 Чем отличаются циклы for и foreach? Какой цикл когда лучше использовать?
💬 Кратко:
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Чем отличаются циклы for и foreach? Какой цикл когда лучше использовать?
💬 Кратко:
for используется, когда нужен счетчик или работа по индексам. foreach предназначен специально для перебора массивов и коллекций. foreach читается проще и безопаснее. В большинстве случаев для массивов лучше использовать foreach.📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #decapsulation #data_processing #osi_model
🤔 Что происходит в модели OSI, когда пакет данных перемещается от нижнего к верхнему уровню?
💬 Кратко:
Когда пакет данных перемещается от нижнего к верхнему уровню модели OSI, заголовки, добавленные ранее, удаляются, и остаются только исходные данные.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Что происходит в модели OSI, когда пакет данных перемещается от нижнего к верхнему уровню?
💬 Кратко:
Когда пакет данных перемещается от нижнего к верхнему уровню модели OSI, заголовки, добавленные ранее, удаляются, и остаются только исходные данные.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #база
📚 Knowledge-base
Репозиторий содержит базу знаний по различным IT-темам. В нём собраны материалы по теории (например, о сервисах без сохранения состояния и с сохранением), основам и командам Linux, различным инструментам (включая Docker, PHP 7, Composer и другие), фреймворкам (Symfony, Laravel), базам данных (MySQL, PostgreSQL, Redis и другим), языку программирования PHP и связанным с ним библиотекам, шаблонам проектирования и принципам SOLID, а также полезные материалы и заметки.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Knowledge-base
Репозиторий содержит базу знаний по различным IT-темам. В нём собраны материалы по теории (например, о сервисах без сохранения состояния и с сохранением), основам и командам Linux, различным инструментам (включая Docker, PHP 7, Composer и другие), фреймворкам (Symfony, Laravel), базам данных (MySQL, PostgreSQL, Redis и другим), языку программирования PHP и связанным с ним библиотекам, шаблонам проектирования и принципам SOLID, а также полезные материалы и заметки.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #laravel #architecture #services
🤔 Какие слои стоит добавлять в дефолтную структуру Laravel-проекта (роуты/контроллеры/модели)?
💬 Кратко:
В стандартную структуру Laravel стоит добавлять сервисный слой для бизнес-логики и репозитории для работы с данными. Контроллеры должны оставаться тонкими, делегируя сложную логику сервисам. Также полезно добавлять DTO для передачи данных между слоями и Form Request для валидации. Это разделение ответственности делает код более читаемым и тестируемым.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какие слои стоит добавлять в дефолтную структуру Laravel-проекта (роуты/контроллеры/модели)?
💬 Кратко:
В стандартную структуру Laravel стоит добавлять сервисный слой для бизнес-логики и репозитории для работы с данными. Контроллеры должны оставаться тонкими, делегируя сложную логику сервисам. Также полезно добавлять DTO для передачи данных между слоями и Form Request для валидации. Это разделение ответственности делает код более читаемым и тестируемым.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #abstract_class #interface #inheritance
🤔 В чем разница между абстрактным классом и интерфейсом?
💬 Кратко:
Абстрактный класс может содержать как абстрактные, так и реализованные методы, а также имеет возможность хранить состояние в виде свойств. Интерфейс, с другой стороны, только определяет методы, которые должен реализовать класс, без их реализации. Один класс может реализовать несколько интерфейсов, но наследовать только один абстрактный класс.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 В чем разница между абстрактным классом и интерфейсом?
💬 Кратко:
Абстрактный класс может содержать как абстрактные, так и реализованные методы, а также имеет возможность хранить состояние в виде свойств. Интерфейс, с другой стороны, только определяет методы, которые должен реализовать класс, без их реализации. Один класс может реализовать несколько интерфейсов, но наследовать только один абстрактный класс.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🔥1
#Собес #index
🤔 Какой тип индекса используется по умолчанию в PostgreSQL?
💬 Кратко:
В PostgreSQL по умолчанию используется индекс типа B-tree. Он создается автоматически, если тип индекса не указан явно. B-tree подходит для большинства сценариев работы с данными. Он эффективно работает как с поиском по равенству, так и с диапазонными запросами. Именно поэтому он выбран типом индекса по умолчанию.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Какой тип индекса используется по умолчанию в PostgreSQL?
💬 Кратко:
В PostgreSQL по умолчанию используется индекс типа B-tree. Он создается автоматически, если тип индекса не указан явно. B-tree подходит для большинства сценариев работы с данными. Он эффективно работает как с поиском по равенству, так и с диапазонными запросами. Именно поэтому он выбран типом индекса по умолчанию.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#podcast #всё
📚 TeachMeSkills IT-школа
Это серия выпусков от "TeachMeSkills Школа программирования"
Речь пойдет об актуальные направления и технологии в IT; перспективы роста начинающих специалистов; холиварные топики из жизни разработчиков.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 TeachMeSkills IT-школа
Это серия выпусков от "TeachMeSkills Школа программирования"
Речь пойдет об актуальные направления и технологии в IT; перспективы роста начинающих специалистов; холиварные топики из жизни разработчиков.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #limitation #financial #calculation
🤔 В каких случаях float использовать нельзя?
💬 Кратко:
Float нельзя использовать в финансовых расчетах, денежных операциях и там, где требуется абсолютная точность. Также не рекомендуется использовать float для подсчета предметов или идентификаторов. Проблемы возникают при сравнении значений и накоплении ошибок округления. Вместо float лучше использовать целые числа в минимальных единицах или специальные библиотеки для точной арифметики.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 В каких случаях float использовать нельзя?
💬 Кратко:
Float нельзя использовать в финансовых расчетах, денежных операциях и там, где требуется абсолютная точность. Также не рекомендуется использовать float для подсчета предметов или идентификаторов. Проблемы возникают при сравнении значений и накоплении ошибок округления. Вместо float лучше использовать целые числа в минимальных единицах или специальные библиотеки для точной арифметики.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #parsing #abstraction
🤔 Как организовать поддержку разных форматов Excel-файлов от разных поставщиков, имеющих разные схемы данных?
💬 Кратко:
Лучше всего создать абстракцию над обработкой файлов: единый интерфейс парсера и отдельные классы для каждого формата. При импорте определяется поставщик (или формат) файла и выбирается соответствующая стратегия обработки. Это может быть паттерн «Стратегия» или «Фабрика». Система становится расширяемой: добавление нового поставщика — это добавление нового обработчика, без изменения остального кода.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Как организовать поддержку разных форматов Excel-файлов от разных поставщиков, имеющих разные схемы данных?
💬 Кратко:
Лучше всего создать абстракцию над обработкой файлов: единый интерфейс парсера и отдельные классы для каждого формата. При импорте определяется поставщик (или формат) файла и выбирается соответствующая стратегия обработки. Это может быть паттерн «Стратегия» или «Фабрика». Система становится расширяемой: добавление нового поставщика — это добавление нового обработчика, без изменения остального кода.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #transaction #commit #rollback
🤔 Зачем нужны транзакции?
💬 Кратко:
Транзакции обеспечивают целостность данных и позволяют выполнять несколько операций как единое целое.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Зачем нужны транзакции?
💬 Кратко:
Транзакции обеспечивают целостность данных и позволяют выполнять несколько операций как единое целое.
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #kubernetes #clusterops #containermanagement
📚 Kubernetes
Основной репозиторий системы оркестрации контейнеров Kubernetes. Здесь можно изучить архитектуру, API, механизмы управления кластерами и принципы работы с контейнерами в распределённой среде. Полезен для понимания низкоуровневых механизмов Kubernetes, разбора паттернов развёртывания и настройки высокодоступных систем.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
📚 Kubernetes
Основной репозиторий системы оркестрации контейнеров Kubernetes. Здесь можно изучить архитектуру, API, механизмы управления кластерами и принципы работы с контейнерами в распределённой среде. Полезен для понимания низкоуровневых механизмов Kubernetes, разбора паттернов развёртывания и настройки высокодоступных систем.
Перейти к материалу
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #cashier #envoy #passport
🤔 Перечислите официальные пакеты, предоставляемые Laravel.
💬 Кратко:
Некоторые официальные пакеты Laravel включают:
- Cashier — для работы с подписками и биллингом (Stripe, Braintree).
- Envoy — для автоматизации задач на удаленных серверах.
- Passport — для реализации OAuth2 аутентификации в API.
- Scout — для добавления полнотекстового поиска в Eloquent модели.
- Socialite — для аутентификации через социальные сети (Facebook, Google, Twitter).
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
🤔 Перечислите официальные пакеты, предоставляемые Laravel.
💬 Кратко:
Некоторые официальные пакеты Laravel включают:
- Cashier — для работы с подписками и биллингом (Stripe, Braintree).
- Envoy — для автоматизации задач на удаленных серверах.
- Passport — для реализации OAuth2 аутентификации в API.
- Scout — для добавления полнотекстового поиска в Eloquent модели.
- Socialite — для аутентификации через социальные сети (Facebook, Google, Twitter).
📌 Полный разбор + примеры использования — на платформе:
👉 Перейти к разбору
📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа