Библиотека собеса по PHP | вопросы с собеседований
3.15K subscribers
196 photos
6 videos
138 links
Вопросы с собеседований по PHP и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/9f3affba

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
✔️ PHP-тест: список, который иногда становится объектом

Мобилка падает на парсинге ответа. Только у части пользователей. У остальных — всё ок.

📦 Задание

Эндпоинт /api/products/available отдаёт товары в наличии. Бэкенд не трогали месяц. Внезапно прилетает баг от мобильной команды: «приложение крашится при разборе items, иногда это массив, иногда какой-то объект с числовыми ключами». На стейджинге не воспроизводится — там тестовые данные, все товары в наличии.

// src/Api/ProductController.php
class ProductController
{
public function __construct(
private readonly ProductRepository $repository,
) {}

public function available(): JsonResponse
{
$products = $this->repository->findAll();

$available = array_filter(
$products,
fn (Product $p): bool => $p->getStock() > 0,
);

return new JsonResponse([
'items' => $available,
'count' => count($available),
]);
}
}


🔹 Задачи

— Объяснить, почему форма ответа items зависит от данных: то массив, то объект
— Объяснить, при каком наборе товаров json_encode отдаёт {"0":…, "2":…} вместо […]
— Исправить так, чтобы items гарантированно сериализовался как JSON-массив

Ставьте → 🔥 если нравится формат. Если нет → 🌚

💬 Решения пишите в комменты под спойлер — сравним подходы.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍21
Что нового в системе типов PHP 8?

Union types — параметр или возврат может быть нескольких типов: int|string. Nullable — это ?Type, то есть Type|null. Появились intersection types (8.1) A&B, тип never (8.1) для функций, которые не возвращают управление, и mixed для любого типа.
Строгая типизация включается через declare(strict_types=1), иначе скаляры приводятся неявно.
Типизация ловит ошибки раньше и документирует контракт без лишних комментариев.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31🔥1
📊 Хотите войти в Data Science, но математика кажется самым сложным этапом?

На практике большинство джунов спотыкаются не о Python, а о математическую базу:

▪️ Теорию вероятностей и статистику
▪️ Линейную алгебру
▪️ Математический анализ
▪️ Комбинаторику

Именно на этих темах строятся машинное обучение, аналитика данных и рекомендательные системы.

Освойте ключевые разделы математики, которые используются в Data Science и Machine Learning на курсе «Математика для Data Science».

Что вас ждет:

🔹 40+ видеолекций и 150+ практических заданий на Python
🔹 Проверка домашних работ и обратная связь от преподавателей
🔹 Подготовка к задачам с технических собеседований
🔹 Программа от преподавателей ВМК МГУ, НИУ ВШЭ и экспертов индустрии

Курс подойдет разработчикам, аналитикам и всем, кто планирует развиваться в Data Science и Machine Learning.

👉 Записаться на бесплатный демо-урок
😁2