#Собес
🤔 В чем разница между методами GET и POST?
Метод GET используется для получения данных, а POST - для их отправки на сервер. Данные GET
передаются через URL, a POST - в теле запроса. GET запросы кэшируются и могут быть сохранены в
истории браузера, тогда как POST запросы более защищены для передачи данных.
👉 Новости 👉 Платформа
Метод GET используется для получения данных, а POST - для их отправки на сервер. Данные GET
передаются через URL, a POST - в теле запроса. GET запросы кэшируются и могут быть сохранены в
истории браузера, тогда как POST запросы более защищены для передачи данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какую функцию использовать для сортировки массива с помощью пользовательской функции сравнения?
Anonymous Quiz
58%
usort()
6%
uksort()
6%
uasort()
29%
array_multisort()
#ЛитКод
Задача: 642. Design Search Autocomplete System
Разработайте свою реализацию круговой двусторонней очереди (deque). Реализуйте класс MyCircularDeque: MyCircularDeque(int k) Инициализирует deque с максимальным размером k. boolean insertFront() Добавляет элемент в переднюю часть Deque. Возвращает true, если операция прошла успешно, или false в противном случае. boolean insertLast() Добавляет элемент в заднюю часть Deque. Возвращает true, если операция выполнена успешно, или false в противном случае. boolean deleteFront() Удаляет элемент из передней части Deque. Возвращает true, если операция прошла успешно, или false в противном случае. boolean deleteLast() Удаляет элемент из задней части Deque. Возвращает true, если операция прошла успешно, или false в противном случае. int getFront() Возвращает передний элемент из Deque. Возвращает -1, если Deque пуст. int getRear() Возвращает последний элемент из Deque. Возвращает -1, если Deque пуст. boolean isEmpty() Возвращает true, если Deque пуст, или false в противном случае. boolean isFull() Возвращает true, если Deque полон, или false в противном случае.
Пример:
👨💻 Алгоритм:
1⃣ Инициализация и проверка состояний
Реализуйте конструктор для инициализации кольцевой двусторонней очереди заданного размера и методы для проверки пустоты и полноты очереди.
2⃣ Операции вставки
Реализуйте методы вставки элементов в переднюю и заднюю части очереди с учетом кольцевой структуры.
3⃣ Операции удаления
Реализуйте методы удаления элементов из передней и задней частей очереди с учетом кольцевой структуры и методы для получения переднего и заднего элементов очереди.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 642. Design Search Autocomplete System
Разработайте свою реализацию круговой двусторонней очереди (deque). Реализуйте класс MyCircularDeque: MyCircularDeque(int k) Инициализирует deque с максимальным размером k. boolean insertFront() Добавляет элемент в переднюю часть Deque. Возвращает true, если операция прошла успешно, или false в противном случае. boolean insertLast() Добавляет элемент в заднюю часть Deque. Возвращает true, если операция выполнена успешно, или false в противном случае. boolean deleteFront() Удаляет элемент из передней части Deque. Возвращает true, если операция прошла успешно, или false в противном случае. boolean deleteLast() Удаляет элемент из задней части Deque. Возвращает true, если операция прошла успешно, или false в противном случае. int getFront() Возвращает передний элемент из Deque. Возвращает -1, если Deque пуст. int getRear() Возвращает последний элемент из Deque. Возвращает -1, если Deque пуст. boolean isEmpty() Возвращает true, если Deque пуст, или false в противном случае. boolean isFull() Возвращает true, если Deque полон, или false в противном случае.
Пример:
Input
["MyCircularDeque", "insertLast", "insertLast", "insertFront", "insertFront", "getRear", "isFull", "deleteLast", "insertFront", "getFront"]
[[3], [1], [2], [3], [4], [], [], [], [4], []]
Output
[null, true, true, true, false, 2, true, true, true, 4]
Реализуйте конструктор для инициализации кольцевой двусторонней очереди заданного размера и методы для проверки пустоты и полноты очереди.
Реализуйте методы вставки элементов в переднюю и заднюю части очереди с учетом кольцевой структуры.
Реализуйте методы удаления элементов из передней и задней частей очереди с учетом кольцевой структуры и методы для получения переднего и заднего элементов очереди.
class TrieNode {
public $children;
public $count;
public function __construct() {
$this->children = [];
$this->count = [];
}
}
class AutocompleteSystem {
private $root;
private $prefix;
function __construct($sentences, $times) {
$this->root = new TrieNode();
$this->prefix = "";
for ($i = 0; $i < count($sentences); $i++) {
$this->add($sentences[$i], $times[$i]);
}
}
private function add($sentence, $count) {
$node = $this->root;
for ($i = 0; $i < strlen($sentence); $i++) {
$char = $sentence[$i];
if (!isset($node->children[$char])) {
$node->children[$char] = new TrieNode();
}
$node = $node->children[$char];
if (!isset($node->count[$sentence])) {
$node->count[$sentence] = 0;
}
$node->count[$sentence] += $count;
}
}
function input($c) {
if ($c == '#') {
$this->add($this->prefix, 1);
$this->prefix = "";
return [];
}
$this->prefix .= $c;
$node = $this->root;
for ($i = 0; $i < strlen($this->prefix); $i++) {
$char = $this->prefix[$i];
if (!isset($node->children[$char])) {
return [];
}
$node = $node->children[$char];
}
$pq = [];
foreach ($node->count as $sentence => $count) {
$pq[] = [$sentence, $count];
}
usort($pq, function($a, $b) {
if ($a[1] == $b[1]) {
return strcmp($a[0], $b[0]);
}
return $b[1] - $a[1];
});
$result = [];
for ($i = 0; $i < min(3, count($pq)); $i++) {
$result[] = $pq[$i][0];
}
return $result;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какую функцию использовать для чтения значения куки с указанием всех параметров куки (например, путь, домен, срок действия)?
Anonymous Quiz
52%
get_cookie_params()
24%
read_cookie_params()
24%
session_get_cookie_params()
0%
fetch_cookie_params()
#Собес
🤔 Как предотвратить SQL-иньекции в РНР-приложениях?
SQL-иньекций можно избежать, используя подготовленные запросы с PDO или MySQLi, которые отделяют данные от SQL-кода. Также важно валидировать и фильтровать пользовательский ввод, ограничивать права доступа к базе данных, использовать современные инструменты для работы с базой и обновлять программное обеспечение.
👉 Новости 👉 Платформа
SQL-иньекций можно избежать, используя подготовленные запросы с PDO или MySQLi, которые отделяют данные от SQL-кода. Также важно валидировать и фильтровать пользовательский ввод, ограничивать права доступа к базе данных, использовать современные инструменты для работы с базой и обновлять программное обеспечение.
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Карточка состояния базы данных для Laravel Pulse
Разработчик Джейми Схоутен создал изящную карту Laravel Pulse для мониторинга состояния вашей базы данных, предоставляя ключевые показатели, такие как активные потоки, соединения и многое другое
Эта конфигурация карты поддерживает настройку нескольких баз данных, и вы можете указать, какие типы данных включать.
Гитхаб
👉 Новости 👉 Платформа
Разработчик Джейми Схоутен создал изящную карту Laravel Pulse для мониторинга состояния вашей базы данных, предоставляя ключевые показатели, такие как активные потоки, соединения и многое другое
Эта конфигурация карты поддерживает настройку нескольких баз данных, и вы можете указать, какие типы данных включать.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
#вакансии
👨💻 PHP/ Go Developer
Локация: Удалённо в РФ
Компания: Туту.ру
ЗП: обсуждается на собеседовании
Занятость: Полная
🚩 Задачи
🔵 Поддержка существующей инфраструктуры и разработка новых продуктовых задач
🔵 Оптимизация производительности создаваемых решений в соответствии с внутренними требованиями
🔵 Интеграции с внутренними и внешними партнёрами
🔵 Покрытие кода тестами (юнит, интеграционные, e2e) в соответствии с внутренними требованиями
🔵 Активное участие в решении проблем работы сервиса, реакция на инциденты.
Обязательные требования
🔵 Коммерческая разработка на PHP от 3 лет
🔵 Go от 1,5 лет
🔵 Работа c реляционными базами данных
🔵 Опыт разбиения монолита на микросервисы
🔵 Покрытие кода тестами.
💬 Резюме отправлять: @fr_rec
👉 Новости 👉 Платформа
Локация: Удалённо в РФ
Компания: Туту.ру
ЗП: обсуждается на собеседовании
Занятость: Полная
Обязательные требования
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой функцией в PHP можно заменить символы в строке?
Anonymous Quiz
81%
str_replace()
4%
replace()
12%
substr_replace()
4%
str_modify()
#Собес
🤔 Какие существуют типы ошибок в РНР?
PHP выделяет следующие основные типы ошибок: фатальные (Fatal Errors), предупреждения
(Warnings), уведомления (Notices), ошибки синтаксиса (Parse Errors), устаревшие (Deprecated
Errors) и строгие (Strict Errors). Каждый из них сигнализирует о разных проблемах в коде, от
критических до менее значительных.
👉 Новости 👉 Платформа
PHP выделяет следующие основные типы ошибок: фатальные (Fatal Errors), предупреждения
(Warnings), уведомления (Notices), ошибки синтаксиса (Parse Errors), устаревшие (Deprecated
Errors) и строгие (Strict Errors). Каждый из них сигнализирует о разных проблемах в коде, от
критических до менее значительных.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой глобальный массив в PHP содержит информацию о заголовках, путях и местоположении скрипта?
Anonymous Quiz
57%
$_SERVER
18%
$_ENV
7%
$_SESSION
18%
$_GLOBAL
#ЛитКод
Задача: 643. Maximum Average Subarray I
Вам дан целочисленный массив nums, состоящий из n элементов, и целое число k. Найдите смежный подмассив, длина которого равна k и который имеет максимальное среднее значение, и верните это значение. Принимается любой ответ с погрешностью вычислений менее 10-5.
Пример:
👨💻 Алгоритм:
1⃣ Инициализация скользящего окна
Вычислите сумму первых k элементов массива nums. Это будет начальное значение максимальной суммы.
2⃣ Перемещение окна
Перемещайте окно длиной k по массиву, добавляя следующий элемент и убирая предыдущий, чтобы поддерживать сумму текущего окна.
3⃣ Обновление максимальной суммы
На каждом шаге обновляйте максимальную сумму, если текущая сумма больше, и в конце верните среднее значение этой суммы.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 643. Maximum Average Subarray I
Вам дан целочисленный массив nums, состоящий из n элементов, и целое число k. Найдите смежный подмассив, длина которого равна k и который имеет максимальное среднее значение, и верните это значение. Принимается любой ответ с погрешностью вычислений менее 10-5.
Пример:
Input: nums = [1,12,-5,-6,50,3], k = 4
Output: 12.75000
Вычислите сумму первых k элементов массива nums. Это будет начальное значение максимальной суммы.
Перемещайте окно длиной k по массиву, добавляя следующий элемент и убирая предыдущий, чтобы поддерживать сумму текущего окна.
На каждом шаге обновляйте максимальную сумму, если текущая сумма больше, и в конце верните среднее значение этой суммы.
function findMaxAverage($nums, $k) {
$currentSum = array_sum(array_slice($nums, 0, $k));
$maxSum = $currentSum;
for ($i = $k; $i < count($nums); $i++) {
$currentSum += $nums[$i] - $nums[$i - $k];
$maxSum = max($maxSum, $currentSum);
}
return $maxSum / $k;
}
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какой метод в PHP используется для установки пользовательского обработчика исключений?
Anonymous Quiz
50%
set_exception_handler()
19%
set_error_handler()
8%
custom_exception_handler()
23%
exception_handler()
#Собес
🤔 Как отлаживать РНР-приложение?
Для отладки можно использовать встроенные функции РНР, такие как var_dump() и
error_reporting() , а также более сложные инструменты вроде Xdebug для работы с точками
останова и трассировками. Логирование ошибок и профилирование кода также играют ключевую
роль.
👉 Новости 👉 Платформа
Для отладки можно использовать встроенные функции РНР, такие как var_dump() и
error_reporting() , а также более сложные инструменты вроде Xdebug для работы с точками
останова и трассировками. Логирование ошибок и профилирование кода также играют ключевую
роль.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#полезное
😊 Асинхронный бег или драматическое ускорение с RoadRunner
Очень много в последнее время слышно замечаний в адрес PHP — мол, медленный, тяжелый, неповоротливый, все давно микросервисы на Go/Java/(нужное подставить) пишут. В этой статье расписаны плюсы, минусы и результаты попытки ускорить проект на PHP с использованием RoadRunner.
Смотреть статью
👉 Новости 👉 Платформа
Очень много в последнее время слышно замечаний в адрес PHP — мол, медленный, тяжелый, неповоротливый, все давно микросервисы на Go/Java/(нужное подставить) пишут. В этой статье расписаны плюсы, минусы и результаты попытки ускорить проект на PHP с использованием RoadRunner.
Смотреть статью
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какое ключевое слово используется для наследования класса в PHP?
Anonymous Quiz
87%
extends
13%
implements
0%
inherits
0%
derive
#Собес
🤔 Что такое пространства имён (namespaces) в PHP?
Пространства имён в PHP позволяют группировать классы, функции и константы, чтобы избежать
конфликтов имен. Они особенно полезны при интеграции сторонних библиотек. Пространства имен
создаются с помощью ключевого слова namespace .
👉 Новости 👉 Платформа
Пространства имён в PHP позволяют группировать классы, функции и константы, чтобы избежать
конфликтов имен. Они особенно полезны при интеграции сторонних библиотек. Пространства имен
создаются с помощью ключевого слова namespace .
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Какую аннотацию в PHPUnit использовать для указания, что тест должен быть выполнен в изолированном контексте?
Anonymous Quiz
57%
@isolated
14%
@separate
21%
@single
7%
@independent
#вакансии
👨💻 Backend-разработчик (PHP)
Локация: Удалённо в РФ
Компания: CODEX
ЗП: от 150 000 до 250 000 р. на руки
Занятость: Полная
Грейд: Middle/ Senior
🚩 Основные задачи
🔵 Разработка высоконагруженных сервисов
🔵 Участие в принятии технических решений и планировании процесса разработки;
🔵 Взаимодействие с фронтэнд и мобильными разработчиками для обсуждения интерфейса бекэнда.
Требования
🔵 php 8.3+
🔵 symfony 6+
🔵 mysql 8
🔵 docker/k8s
🔵 git/github/jira
🔵 azure
🔵 rabbitmq/amqp
🚩 Условия:
🟡 Конкурентная заработная плата и возможность карьерного роста;
🟡 Гибкий график работы и комфортные условия труда;
🟡 Возможность участия в интересных проектах, амбициозных проектах и обучение новым технологиям;
🟡 Возможности для профессионального и личного роста;
🟡 Работа в крутой команде профессионалов;
🟡 Дружелюбная атмосфера и поддержка коллег.
💬 Резюме отправлять: @nikita_recr
👉 Новости 👉 Платформа
Локация: Удалённо в РФ
Компания: CODEX
ЗП: от 150 000 до 250 000 р. на руки
Занятость: Полная
Грейд: Middle/ Senior
Требования
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес
🤔 Как работает автозагрузка в РНР?
Автозагрузка в РНР позволяет автоматически загружать классы по мере их необходимости, без использования include или require. Основной механизм - это функция spl_ autoload_register() , которая регистрирует функцию для автозагрузки. Кроме того, стандарт PSR-4, поддерживаемый Composer, организует автозагрузку классов, следуя определённой структуре каталогов и именования.
👉 Новости 👉 Платформа
Автозагрузка в РНР позволяет автоматически загружать классы по мере их необходимости, без использования include или require. Основной механизм - это функция spl_ autoload_register() , которая регистрирует функцию для автозагрузки. Кроме того, стандарт PSR-4, поддерживаемый Composer, организует автозагрузку классов, следуя определённой структуре каталогов и именования.
Please open Telegram to view this post
VIEW IN TELEGRAM