Библиотека собеса по PHP | вопросы с собеседований
Вопросы с собеседований по PHP и ответы на них. Список наших каналов: https://t.me/proglibrary/8353 Учиться у нас: https://proglib.io/w/907158ab Обратная связь: @proglibrary_feedback_bot По рекламе: @proglib_adv Прайс: @proglib_advertising
نمایش بیشتر2 409
مشترکین
+924 ساعت
+237 روز
-35130 روز
- مشترکین
- پوشش پست
- ER - نسبت تعامل
در حال بارگیری داده...
معدل نمو المشتركين
در حال بارگیری داده...
Какие модификаторы видимости есть в РНР?
public — свойства или методы, объявленные как public, могут быть доступны в любом месте.
protected — свойства или методы доступны только внутри класса, а также в дочерних классах.
private — доступ к private свойствам и методам имеет только класс, в котором эти свойства или методы объявлены.
Если модификатор доступа не указан, то он будет считаться как public.
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
🤖Про нейросети
Библиотека робототехники и беспилотников | Роботы, ИИ, интернет вещей
Библиотека нейрозвука | Транскрибация, синтез речи, ИИ-музыка
Библиотека нейротекста | ChatGPT, Gemini, Bing
Библиотека нейровидео | Sora AI, Runway ML, дипфейки
Библиотека нейрокартинок | Midjourney, DALL-E, Stable Diffusion
#️⃣C#
Книги для шарпистов | C#, .NET, F#
Библиотека шарписта — полезные статьи, новости и обучающие материалы по C#
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а — полезные статьи, новости и обучающие материалы по DevOps
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника — полезные статьи, новости и обучающие материалы по PHP
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста — полезные статьи, новости и обучающие материалы по Python
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Книги для джавистов | Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Книги для дата сайентистов | Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы по Data Science
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Книги для Go разработчиков
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Книги для C/C++ разработчиков
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Как вы понимаете Special Case / Null Object и где его следует применять?
Special Case / Null Object — это шаблон проектирования, который используется для обработки специальных случаев или значений отсутствия объекта. Он позволяет разработчику избежать проверок на null и обрабатывать такое отсутствие объекта по-особенному.
Null Object — это класс, который реализует интерфейс или абстрактный класс, используемый вместо null. Он предоставляет реализацию методов, которые обрабатываются для отсутствующего объекта, и возвращает пустые значения или выполняет пустые действия.
Null Object можно применять, когда требуется обработать отсутствие объекта без использования проверок на null. Он может быть полезен в таких ситуациях:
1. Вместо проверки на null, можно использовать Null Object, чтобы избежать возникновения исключений или ошибок, связанных с отсутствием объекта и его методов.
2. Null Object может упростить код и избавить от необходимости писать дополнительные условия для обработки null значений.
3. Он также может быть полезен в шаблонном методе, когда необходимо иметь базовую реализацию методов, которые могут быть переопределены в подклассах, и одновременно обрабатывать отсутствие объекта.
Что такое аннотации в Symfony?
В Symfony аннотации — это специальные комментарии, которые вы можете добавлять в свой код для конфигурирования различных аспектов вашего приложения, таких как маршрутизация, безопасность, валидация и другие. Аннотации — это удобный способ определения настроек конфигурации непосредственно в вашем коде, а не в отдельных файлах конфигурации.
Например, в Symfony вы можете использовать аннотации для определения маршрутов для ваших контроллеров. Вместо конфигурирования маршрутов в отдельном YAML- или XML-файле вы можете добавить аннотацию @Route непосредственно над методом контроллера, чтобы указать шаблон URL, который должен вызывать этот метод.
Symfony предоставляет несколько встроенных аннотаций для настройки различных аспектов вашего приложения, и вы также можете создавать свои собственные пользовательские аннотации при необходимости.
👍 3
Каково назначение фасадов в Laravel?
В Laravel фасады обеспечивают простой способ доступа к объектам, к которым иначе было бы сложно или неудобно обращаться напрямую.
Фасады — это способ предоставить статический интерфейс нестатическому экземпляру класса. Они позволяют вам использовать синтаксис вызова статического метода класса, а на самом деле вызывать метод экземпляра этого класса, который управляется контейнером сервисов Laravel.
В нашем примере мы используем фасад Auth для вызова метода user, который извлекает текущего аутентифицированного пользователя. За кулисами Laravel извлекает экземпляр класса Illuminate\Auth\AuthManager из сервис контейнера и вызывает метод user на этом экземпляре.
👍 9
Что такое Mock? Где используют и зачем?
Mock (в переводе с английского — подделка, имитация) — это объект, который имитирует поведение реальных объектов в программе. Он создается на основе интерфейса или класса, чтобы предоставить возможность эмулировать определенные методы и поведение, которое необходимо для тестирования или разработки.
Моки особенно полезны при разработке и тестировании, когда некоторые зависимости программы еще не реализованы или недоступны. Они позволяют испытывать функциональность кода, не завися от реальных объектов, а также создавать ситуации, которые могут быть сложными или невозможными в реальной системе.
В PHP разработке моки часто используются при юнит-тестировании для изоляции кода и проверки его работы в изоляции от других модулей и зависимостей. Создание моков позволяет задавать ожидания к вызовам методов, проверять их вызовы, а также контролировать возвращаемые значения или генерировать исключения.
Использование моков упрощает создание тестовых сценариев, позволяет эффективно проверять код и обнаруживать потенциальные проблемы. Это также помогает ускорить процесс разработки, так как не требуется полная реализация всех зависимостей для тестирования каждого компонента отдельно.
Может ли абстрактный класс содержать частный(private) метод?
Да, в абстрактном классе можно иметь частный конкретный метод.
Этот частный метод будет отображаться ТОЛЬКО этому абстрактному классу. Это означает, что он должен будет использоваться каким-либо другим конкретным методом в абстрактном классе.
Дочерние классы не смогут вызвать его напрямую.
👍 8
Перечислите адаптеры кэша в Symfony.
Адаптеры кэша — это собственно средства кэширования для хранения данных в файловой системе, в базе данных и т.д.
В Symfony есть пять кэш-адаптеров, которые перечислены ниже:
1. Адаптер кэша файловой системы
2. Адаптер кэша массива
3. Адаптер кэша APCu
4. Адаптер кэша файлов PHP
5. Адаптер кэша Redis
Как использовать коллекции в Laravel?
В Laravel коллекции обеспечивают плавный и удобный способ работы с массивами данных. Они более мощные и выразительные, чем простые массивы PHP, предлагая различные методы для фильтрации, отображения, преобразования и уменьшения данных. Вот как вы можете использовать коллекции в Laravel:
Создание коллекций: Вы можете создавать коллекции, используя вспомогательную функцию collect, передавая массив или объект, реализующий интерфейс IteratorAggregate:
$collection = collect([1, 2, 3, 4, 5]);
Манипуляция с коллекциями: После того как у вас есть коллекция, вы можете использовать широкий спектр методов для манипуляции данными:
map(): Преобразует каждый элемент в коллекции.
filter(): Фильтрует элементы на основе функции обратного вызова.
reduce(): Сводит коллекцию к единственному значению с использованием функции обратного вызова.
pluck(): Извлекает список конкретных атрибутов из каждого элемента.
sortBy(): Сортирует коллекцию по указанному ключу.
groupBy(): Группирует коллекцию по указанному ключу.
slice(): Извлекает часть коллекции.
И многие другие...
Цепочка методов: Вы можете соединять несколько методов вместе, чтобы выполнять сложные операции в одной строке.
👍 5
Как реализовать очередь сообщений на PHP?
На PHP можно реализовать очередь сообщений, используя различные библиотеки и инструменты. Один из популярных вариантов — использовать RabbitMQ, брокер сообщений, который реализует протокол AMQP. Вот пример того, как можно реализовать очередь сообщений с помощью RabbitMQ:
1. Установите RabbitMQ: Сначала вам нужно установить сервер RabbitMQ на вашей системе. Вы можете загрузить и установить его с веб-сайта RabbitMQ.
2. Установите расширение PHP AMQP: Затем вам нужно установить расширение PHP AMQP, которое позволяет приложениям на PHP взаимодействовать с RabbitMQ. Вы можете установить его с помощью PECL.
3. Создайте производителя: Это компонент, отвечающий за публикацию сообщений в очередь.
4. Создайте потребителя: Это компонент, отвечающий за потребление сообщений из очереди.
5. Запустите Производителя и Потребителя: Запустите скрипт производителя, чтобы опубликовать сообщение в очередь, затем запустите скрипт потребителя, чтобы потребить сообщение.
👍 2❤ 2