PHP Backend | YeaHub
376 subscribers
295 photos
10 videos
601 links
Теория, подготовка к интервью и курсы для PHP разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#Собес #limitation #financial #calculation
🤔 В каких случаях float использовать нельзя?

💬 Кратко:

Float нельзя использовать в финансовых расчетах, денежных операциях и там, где требуется абсолютная точность. Также не рекомендуется использовать float для подсчета предметов или идентификаторов. Проблемы возникают при сравнении значений и накоплении ошибок округления. Вместо float лучше использовать целые числа в минимальных единицах или специальные библиотеки для точной арифметики.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #parsing #abstraction
🤔 Как организовать поддержку разных форматов Excel-файлов от разных поставщиков, имеющих разные схемы данных?

💬 Кратко:

Лучше всего создать абстракцию над обработкой файлов: единый интерфейс парсера и отдельные классы для каждого формата. При импорте определяется поставщик (или формат) файла и выбирается соответствующая стратегия обработки. Это может быть паттерн «Стратегия» или «Фабрика». Система становится расширяемой: добавление нового поставщика — это добавление нового обработчика, без изменения остального кода.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #transaction #commit #rollback
🤔 Зачем нужны транзакции?



💬 Кратко:

Транзакции обеспечивают целостность данных и позволяют выполнять несколько операций как единое целое.

 

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#repository #kubernetes #clusterops #containermanagement
📚 Kubernetes

Основной репозиторий системы оркестрации контейнеров Kubernetes. Здесь можно изучить архитектуру, API, механизмы управления кластерами и принципы работы с контейнерами в распределённой среде. Полезен для понимания низкоуровневых механизмов Kubernetes, разбора паттернов развёртывания и настройки высокодоступных систем.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #cashier #envoy #passport
🤔 Перечислите официальные пакеты, предоставляемые Laravel.

💬 Кратко:

Некоторые официальные пакеты Laravel включают:

- Cashier — для работы с подписками и биллингом (Stripe, Braintree).
- Envoy — для автоматизации задач на удаленных серверах.
- Passport — для реализации OAuth2 аутентификации в API.
- Scout — для добавления полнотекстового поиска в Eloquent модели.
- Socialite — для аутентификации через социальные сети (Facebook, Google, Twitter).

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #postgres #sql #php

🤔 Middle PHP разработчик в Анлимитед Продакшн

Техническое собеседование. Вилка: от 165к. Собеседование с фокусом на архитектуру веб-приложений, принципы SOLID, работу с базами данных PostgreSQL и понимание основ безопасности API.

💬 Вопросы:

- Как работают сессии в PHP?

- Что такое CTE (Common Table Expressions) в PostgreSQL?

- Какие типы индексов существуют?

- Как работают оконные функции (window functions) в SQL?

- Как обрабатывается веб-запрос в фреймворке (Laravel/Yii2) — от Nginx через PHP-FPM до контроллера и возврата JSON-ответа?

👉 Все вопросы из этого собеседования (26)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #leader_election #distributed_systems #consensus
🤔 Что такое leader election и как он применяется?

💬 Кратко:
Leader election — это процесс, в ходе которого узлы распределённой системы выбирают один узел в качестве лидера. Лидер координирует действия системы, например, управляет распределением задач или порядком записи данных. Это предотвращает конфликты, которые могут возникнуть, если несколько узлов попытаются выполнять одну и ту же координирующую роль одновременно. Алгоритмы выбора лидера, такие как Raft или Paxos, обеспечивают, что даже при сбоях узлов система сможет выбрать нового лидера и продолжить работу.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#trainer #курсы #тренажеры
📚 CodeChef

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #framework #scalability #performance
🤔 Объясните преимущества и недостатки использования фреймворка в контексте PHP.

💬 Кратко:

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

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
❤1
#Собес #exceptions #php
🤔 Что такое кастомные исключения и зачем они нужны?

💬 Кратко:

Кастомные исключения — это пользовательские классы, которые наследуются от базового класса Exception (или его потомков). Они нужны для того, чтобы явно и понятно различать типы ошибок в приложении. Вместо того чтобы везду использовать общее Exception, вы создаете, например, PaymentFailedException или InsufficientFundsException. Это позволяет точнее перехватывать и обрабатывать конкретные ошибки, добавлять в них специфичную информацию и улучшает читаемость кода.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #atomicity #consistency #isolation
🤔 Какие свойства есть у транзакции?

💬 Кратко:

У транзакции четыре ключевых свойства ACID: атомарность (all or nothing), согласованность (соблюдение правил и ограничений), изолированность (отсутствие влияния параллельных транзакций) и долговечность (сохранение изменений после фиксации).

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#channel #опытные #ооп
📚 Дмитрий Елисеев

А этот канал исключительно для самых опытных программистов. Тут вы не найдёте туториалы по изучению PHP или ООП. Автор рассматривает фреймворк Yii2, стандарты PSR и advanced-возможности ООП. На канале есть длинные записи стримов, полные полезной информации. Если вы уже достаточно профессиональный программист, вам сюда.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #interface #implements
🤔 Можно ли имплементировать несколько интерфейсов и как выглядит конструкция?

💬 Кратко:

Да, класс может реализовывать несколько интерфейсов одновременно. Для этого используется ключевое слово implements с перечислением интерфейсов через запятую. Класс обязан реализовать все методы всех интерфейсов. Это позволяет объединять несколько ролей в одном классе.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #microservices #monolithic #architecture

🤔 Middle+ PHP Backend-разработчик в компанию Астро волга

Техническое собеседование PHP-разработчика. ЗП от 165к с фокусом на архитектуру веб-приложений, работу с базами данных и брокерами сообщений

💬 Вопросы:

- Как бы вы описали паттерн проектирования Singleton?

- Что такое трейты в PHP?

- Что такое Dockerfile?

- Объясните, что такое обмен (Exchange)?

- Что такое микросервисная архитектура?

👉 Все вопросы из этого собеседования (31)

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #node #worker_node #control_plane
🤔 Что такое узел (node) в Kubernetes?


💬 Кратко:

Узел (node) – это сервер в кластере Kubernetes, который выполняет контейнеры. Он может быть физическим или виртуальным. В каждом узле работает агент kubelet, который управляет Pod-ами и взаимодействует с управляющей плоскостью кластера. Узлы объединяются в кластер для совместной работы и балансировки нагрузки.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#book #начинающие #ооп
📚 PHP 7, Дмитрий Котеров, Игорь Симдянов

Главным достоинством этой книги является тот факт, что у авторов получилось запихнуть в неё максимум информации, которая может понадобиться новичку. Кроме того, здесь вы найдёте много примеров по каждой теме, рассмотрение вопросов, не касающихся непосредственно языка (например, стиля кода). Ну и, конечно, цена для такого объёма и содержания очень привлекательная.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #composer #dependency #autoloading
🤔 Что такое Composer и как его использовать?

💬 Кратко:

Composer — это менеджер зависимостей для PHP, позволяющий добавлять библиотеки в проект и управлять их версиями. Он автоматически загружает нужные пакеты и создаёт автозагрузчик для их использования.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #constructor #inheritance
🤔 Можно ли в конструкторе вызвать конструктор родительского класса (как именно)?

💬 Кратко:

Да, в конструкторе дочернего класса можно и нужно вызывать конструктор родителя. Это делается через parent::__construct(). Такой вызов позволяет корректно инициализировать состояние родительского класса. Без этого часть логики может быть пропущена.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #transaction #acid #consistency
🤔 Почему критичные операции в backend-системах должны выполняться в рамках транзакций базы данных?

💬 Кратко:

Транзакции нужны, чтобы данные оставались консистентными даже при ошибках и сбоях. Они гарантируют, что операция либо выполнится полностью, либо не выполнится вовсе. Это особенно важно для критичных действий, таких как переводы, списания и изменение состояний. Без транзакций данные могут оказаться в частично обновлённом состоянии.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#trainer #печать
📚 Тренируем печать

Быстро печатать — не просто приятно, а выгодно. Когда пальцы успевают за мыслью, код льётся плавно.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа
#Собес #environment #variable
🤔 Можно ли в сервис-провайдере прокидывать env-переменные в создаваемые сервисы?

💬 Кратко:

Да, в сервис-провайдере можно передавать значения из env в создаваемые сервисы, но напрямую вызывать env() там не рекомендуется. Правильный подход — сначала описать значения в конфигурационных файлах, а затем получать их через config(). Это связано с кешированием конфигов в Laravel. Такой подход делает приложение стабильнее и предсказуемее.

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

📣 Все для прокачки навыков:
✅ Анонсы → канал
✅ Комьюнити → чат
✅ База задач и вопросов → платформа