ch
Feedback
PHP задачи с собеседований

PHP задачи с собеседований

前往频道在 Telegram

Задачи, тесты и теоретические вопросы по PHP. Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny

显示更多
2 907
订阅者
+124 小时
无数据7
-730
帖子存档
👨🏻‍💻 Найти корректно число старта xref таблицы в pdf документе Допустим у меня есть большой pdf файл версии 1.6. И в конце файла должна быть информация:
startxref
5638681
%%EOF

Благодаря которой, естественно, система знает положение начала xref таблицы пдфа. Но у меня там значится только:
startxref
56386

И естественно файл сыпется и везде не читается. Этот файл лишь как пример. Основной вопрос заключается в том - возможно ли как-то на лету пересчитать положение начала xref и проставить его(число) в нужном месте в конце файла, чтобы даже в случае ошибки она была исправлена и файл бы прочитался? Я поискал по документу и слово Xref, кроме конца в startxref, встречается только в самом конце документа, аж на 28164 строке, в потоке прямо перед концом файла и словом startxref. Получается как-то вот так: <</DecodeParms<</Columns 5/Predictor 12>>/Filter/FlateDecode/ID[]/Info 81 0 R/Length 467/Root 83 0 R/Size 155/Type/XRef/W[1 3 1] вот в этом фрагменте:
154 0 obj
<</DecodeParms<</Columns 5/Predictor 12>>/Filter/FlateDecode/ID[<A95E63F8E64607C01DE088DCA9B76927><A934A84176582B4C8931FAEC898E990B>]/Info 81 0 R/Length 467/Root 83 0 R/Size 155/Type/XRef/W[1 3 1]>>stream
hЮ¬’1LSQ†П=ЇTh…гD\”(С   :tPг`Xl|qa`qRЌ@HCЦД'BЊ,jBd!Д°‡VЁ‰ў‰>ќФШ(¶Шw|зЬЮј6ДЌелџпю9чјж" 8ЂРHptьП9яє"~F!…їnђыкс‚ц€d§Z<ц/|_њzЅ…tдД·љсї]WыТ±іy>ыпгЭЪ· uЅ-п™ѕ{бЅцa¤УwЖЄ¦яссeн!х\Я¬˜~юйOн[‘вгkЊПҐKЪ·!ќ+>Ъ5s2v\ыТEы|ЩфЯТЪG‘О¬пяjіюЅ‡‘’эЈЫfОвrBыv¤«gпmїђн“я •уБтНЛXНMя'-Y=Ђ[
у§uV•ЗќјХзouТjЮJ9_њ#“|ЪЩіoзыН3эi)Џэн-4E ~-аEдЮ’0,¦-0d3±Tп“уcKЮШ„LdZ]LUх©zу’‡˜xSr«4o3/eЕИ¶±њд‡Т\’Ь!Н»МДІ˜1IЙЙ z&чкУS|otКзьЮњ˜OТМЯ    WВКьЄдХ†УS?u…Эrы°d~3Ч*рOЂ ш…§±
endstream
endobj
startxref
56386

Я уже пыталя по советам с интернета подсчитать в байтах кол-во символов перед словом xref с начала файла, но там переваливает значение за 9 лямов, а мне надо ровно 5638681. Сам вес файла кстати 5 639 408 в байтах. Есть ли какие-то рабочие способы такого подсчета или может какие-то консольные утилиты, которым можно скормить файл и в ответ получить нужное значение старта xref? PHP задачи с собеседований

🔥 Хардовый тест для разработчиков 🔥 📕 Ответьте на 9 вопросов за 20 мин и проверьте, насколько вы готовы к обучению на курс
🔥 Хардовый тест для разработчиков 🔥 📕 Ответьте на 9 вопросов за 20 мин и проверьте, насколько вы готовы к обучению на курсе - «Архитектура и шаблоны проектирования» 💻 Научитесь применять шаблоны проектирования в разработках! Благодаря этому навыку вы сможете писать чистый код, экономить время на разработке и быстро «пересаживаться» на любой язык программирования. 🏵 Ждем всех, кто хочет вырасти до Middle+ разработчика или архитектора ПО! 👉 ПРОЙТИ ТЕСТ https://otus.pw/zZiX/ 💣 Пройдете тест, получите демо-ролик о занятиях на курсе и Welcome-скидку. ✅ Также вам откроется доступ к открытым урокам курса. Реклама. Информация о рекламодателе на сайте www.otus.ru

Как PHP-разработчику выйти на новый уровень? Всего за 4 месяца пройти курс «Symfony Framework» от OTUS и кратно увеличить сво
Как PHP-разработчику выйти на новый уровень? Всего за 4 месяца пройти курс «Symfony Framework» от OTUS и кратно увеличить свою ценность в глазах работодателей. После курса вы сможете: - использовать Symfony в проектах; - обеспечивать безопасность приложения; - тестировать и мониторить полученный код; - использовать встроенные инструменты фреймворка; - разворачивать приложения в различных окружениях. Зачем вам это? 80% вакансий PHP-разработчика уровня Middle+ включают требование о знании популярных фреймворков, в том числе Symfony. Пройдите бесплатное вступительное тестирование прямо сейчас и получите подарок — возможность участвовать в двух открытых уроках: https://clck.ru/3655dC

👨🏻‍💻 Удалить повторения подстроки в строке Есть строка условно говоря такого вида:
petya kolya vasya oleg misha vasya vasya ivan vasya

Как на php удалить из неё все повторяющиеся подстроки vasya, кроме первой, чтобы осталось petya kolya vasya oleg misha PHP задачи с собеседований

⁉️ Как PHP-разработчику повысить свою ценность на рынке? 🦾 Пополнить список своих инструментов новыми фреймворками. Сделайте
⁉️ Как PHP-разработчику повысить свою ценность на рынке? 🦾 Пополнить список своих инструментов новыми фреймворками. Сделайте это за пару часов на бесплатном открытом уроке «Как устроены современные PHP-фреймворки» от OTUS. - изучим DI, IoC и другие важные термины; - заглянем «под капот» одного из популярных фреймворков; - сравним между собой Laravel, Symfony и Yii;- посмотрим на аналогичные решения в других языках программирования. 📌 Занятие пройдёт 18 октября в 20:00 мск и будет приурочено к старту курса «PHP Developer. Professional». После вебинара у вас будет возможность продолжить обучение на курсе по специальной цене в рассрочку. 👉 Зарегистрируйтесь на событие прямо сейчас, чтобы ничего не пропустить, а мы заранее напомним в день вебинара. Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8Ju35V

Как давно вы были на вписках? Впрочем, неважно. Предлагаем вписаться в авантюрную IT-вечеринку от МТС и не думать о работе. Ч
Как давно вы были на вписках? Впрочем, неважно. Предлагаем вписаться в авантюрную IT-вечеринку от МТС и не думать о работе.   Что будет:  • финал олимпиады True Tech Champ • выступления и воркшопы от топовых спикеров  • кодинг на скорость и игровые зоны  • тату-студия для самых смелых  • лаунджи, чтобы было где пообщаться   • и afterparty со звездным лайнапом  Когда и где: 24 октября (вторник), МТС live холл в Москве  Зовем всех причастных к IT-комьюнити на наш фест. Регистрация открыта по ссылке, количество мест ограничено. И кстати, это все абсолютно бесплатно Реклама. ПАО "МТС". ИНН 7740000076. erid: LjN8K34af

⁉️ Как PHP-разработчику повысить свою ценность на рынке? 🦾 Пополнить список своих инструментов новыми фреймворками. Сделайте
⁉️ Как PHP-разработчику повысить свою ценность на рынке? 🦾 Пополнить список своих инструментов новыми фреймворками. Сделайте это за пару часов на бесплатном открытом уроке «Как устроены современные PHP-фреймворки» от OTUS. - изучим DI, IoC и другие важные термины; - заглянем «под капот» одного из популярных фреймворков; - сравним между собой Laravel, Symfony и Yii; - посмотрим на аналогичные решения в других языках программирования. 📌 Занятие пройдёт 18 октября в 20:00 мск и будет приурочено к старту курса «PHP Developer. Professional». После вебинара у вас будет возможность продолжить обучение на курсе по специальной цене в рассрочку. Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени! 👉 Зарегистрируйтесь на событие прямо сейчас, чтобы ничего не пропустить, а мы заранее напомним в день вебинара. Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

"realease_time" => array("realease", "time"), "seizure_time" => array("seizure", "time"), "event_type" => array("Event", "type"), "base_station_type" => array("base", "station", "type"), ); $firstRow = $worksheet->getRowIterator()->current(); $cellIterator = $firstRow->getCellIterator(); $column_index = array(); foreach ($cellIterator as $cell) { $cellValue = $cell->getValue(); foreach ($keywords as $keyword => $columnKeywords) { if (in_array(strtolower($cellValue), array_map('strtolower', $columnKeywords))) { $column_index[$keyword] = $cell->getColumn(); } } } $data_to_insert = array(); foreach ($column_index as $keyword => $columnLetter) { $column_data = array(); foreach ($worksheet->getColumnIterator($columnLetter) as $column) { foreach ($column->getCellIterator() as $cell) { $cellValue = $cell->getValue(); $column_data[] = $cellValue; } } $data_to_insert[$keyword] = $column_data; } echo 'Добавление в базу данных.</br>'; $total_rows = count($data_to_insert); $current_row = 0; // Подготовка SQL-запроса для вставки одной строки $insertQuery = "INSERT INTO mobiles2 ( source_operator, start_time_stamp, subscriber_relation, msisdn, other_party, redirecting_number, call_duration, call_status, cause, imsi, imei, imsi_called, imei_called, lac, cell_id, base_station_location_address, azimuth, lon, lat, radius, region, record_type, record_id, calling_party_number, called_party_number, supplementary_services, msisdn_calling_party, msisdn_called_party, calling_party_category, operator_id, connected_number, msc_number, date_and_time, call_direction, vlr_number, roaming_number, forwarding_reason, `ss-code`, ussd, access_delivery, redirection_number, redirection_information, call_id_number, data_validity, network_provider_id, progress, dpc, opc, location_number, `account_code_input`, tmsi_calling_party, tmsi_called_party, hlr_number, location_info_calling_party, location_info_called_party, ciphering_mode, answer_time, realease_time, seizure_time, event_type, base_station_type ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )"; $stmt = $db->prepare($insertQuery); if (!$stmt) { echo "Ошибка при подготовке SQL-запроса: " . $db->error; exit; } foreach ($data_to_insert as $rowIndex => $sourceOperator) { // Создаем массив с данными для вставки в базу данных для текущей строки $rowData = array(); foreach ($column_index as $keyword => $columnLetter) { $rowData[] = $data_to_insert[$keyword][$rowIndex]; } // Привязываем параметры и выполняем запрос для текущей строки $bindParams = str_repeat('s', 61); // Поскольку у вас 61 столбец $stmt->bind_param($bindParams, ...$rowData); $result = $stmt->execute(); if (!$result) { echo "Ошибка при выполнении запроса для строки $rowIndex: " . $stmt->error; } else { echo "Данные для строки $rowIndex успешно обработаны и добавлены в базу данных.</br>"; } } $stmt->close(); } else { echo "Ошибка при загрузке файла." . $_FILES['add_file']['error']; exit; } } else { echo "Недопустимый метод запроса."; exit; } ?> PHP задачи с собеседований

👨🏻‍💻 Не идет запись в базу данных Такое ощущение, будто массивы не идут. Цикл не запускается, я добавляю как положено, Excel файл, но загрузка останавливается. Что нужно сделать? <?php include 'include/db.php'; include 'assets/vendor/autoload.php'; use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\Writer\Xlsx; use PhpOffice\PhpSpreadsheet\IOFactory; error_reporting(E_ALL); ini_set('display_errors', 1); if ($_SERVER['REQUEST_METHOD'] === 'POST') { if (isset($_FILES['add_file']) && $_FILES['add_file']['error'] === UPLOAD_ERR_OK) { $file_path = $_FILES['add_file']['tmp_name']; $spreadsheet = IOFactory::load($file_path); $worksheet = $spreadsheet->getActiveSheet(); echo 'Обработка файла</br>'; $keywords = array( "source_operator" => array("source", "operator"), "start_time_stamp" => array("start", "time", "stamp"), "subscriber_relation" => array("subscriber", "relation"), "msisdn" => array("msisdn", "ISND"), "other_party" => array("other", "party"), "redirecting_number" => array("redirecting", "number"), "call_duration" => array("call", "duration"), "call_status" => array("call", "status"), "cause" => array("cause"), "imsi" => array("imsi"), "imei" => array("imei"), "imsi_called" => array("imsi", "called", "party"), "imei_called" => array("imei", "called", "party"), "lac" => array("LAC"), "cell_id" => array("cell", "ID"), "base_station_location_address" => array("base", "station", "location"), "azimuth" => array("azimuth"), "lon" => array("lon"), "lat" => array("lat"), "radius" => array("radius"), "region" => array("region"), "record_type" => array("record", "type"), "record_id" => array("record", "ID", "номер"), "calling_party_number" => array("calling", "party", "number"), "called_party_number" => array("called", "party", "number"), "supplementary_services" => array("supplementary", "services"), "msisdn_calling_party" => array("msisdn", "calling", "party"), "msisdn_called_party" => array("msisdn", "called", "party"), "calling_party_category" => array("calling", "party", "category"), "operator_id" => array("operator", "Identification"), "connected_number" => array("connected", "number"), "msc_number" => array("MSC", "number"), "date_and_time" => array("Date", "time"), "call_direction" => array("call", "direction"), "vlr_number" => array("vlr", "number"), "roaming_number" => array("roaming", "number"), "forwarding_reason" => array("forwarding", "reason"), "ss_code" => array("ss-code"), "ussd" => array("ussd"), "access_delivery" => array("access", "delivery"), "redirection_number" => array("redirection", "number"), "redirection_information" => array("redirection", "information"), "call_id_number" => array("call", "Identification", "Number"), "data_validity" => array("Data", "Validity"), "network_provider_id" => array("network", "provider", "ID"), "progress" => array("progress"), "dpc" => array("dpc"), "opc" => array("opc"), "location_number" => array("location", "number"), "account_code_imput" => array("account", "code", "input"), "tmsi_calling_party" => array("TMSI", "calling", "party"), "tmsi_called_party" => array("TMSI", "called", "party"), "hlr_number" => array("HLR", "number"), "location_info_calling_party" => array("location", "calling", "party"), "location_info_called_party" => array("location", "called", "party"), "ciphering_mode" => array("ciphering", "mode"), "answer_time" => array("answer", "time"),

🚀 Как решать проблемы масштабирования приложений? ⚡️ Обсудим на бесплатном открытом уроке «Проблема вертикального масштабиро
🚀 Как решать проблемы масштабирования приложений? ⚡️ Обсудим на бесплатном открытом уроке «Проблема вертикального масштабирования и синхронизация», который пройдёт в рамках курса «Архитектура и шаблоны проектирования» от OTUS. На эфире мы сосредоточимся на следующих аспектах: - Предпосылки возникновения проблемы масштабирования - Проблемы многопоточности, нежелательные состояния и синхронизация - Обзор модели вычислений, обходящей ограничения «традиционной», и вариантов её реализации - Обзор подходов к архитектуре приложений, преобладавших в разное время, их особенности, плюсы и недостатки 🔥 Это отличная возможность совершенно бесплатно протестировать формат обучения и задать преподавателю любые вопросы в режиме реального времени. После этого вы сможете приобрести полный курс в рассрочку на комфортных условиях. Встречаемся 10 октября в 20:00 мск. 👉 Регистрируйтесь бесплатно прямо сейчас и ставьте событие в календарь Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

👨🏻‍💻 Многопоточный обход массива\строки средствами php Допустим есть строка, которая состоит из символов в кол-ве от 400 до 800 тысяч штук и длина которой кратна четному числу. Мы ее превращаем в массив:
$string = str_split('1234567890.......');

и делим на, допустим, 8 кусков, создавая массив из 8 строк;
$combine = array_chunk($string,8);

После чего с каждой переменной данного массива, посимвольно, работает некоторая функция и потом результат работы собирается обратно в обновленную строку $string. Вопрос - есть ли корректный способ сделать так, чтобы каждый экземпляр массива $combine обрабатывался функцией параллельно, а не ждал пока будет его очередь при линейном обходе средствами foreach? У меня сервер на windows, с апачем и php 7.4\8.2, php подгружается как модуль для Apache. Читал что при подобном варианте возможно только использовать proc_open для многопоточного серверного вычисления, но не совсем понимаю как это можно реализовать. Может есть какие-то рабочие примеры? Не очень хочется городить кривой велосипед из multicurl с обращениями самой страницы к себе и выдергиваниями фрагментов кода, т.к. это явно все будет работать через 3 палки и криво. Нужно что-то кроме shell_exec, т.к. при работе с ним возможны ошибки, если страница закрывается раньше чем завершается работа консольного cli интерфейса. На данный момент обход всей строки обычным способом занимает около 37 секунд, что крайне много и есть сильное желание сократить как-то это значение. UPD Основное время затрачивается именно на линейный обход строки в массиве и преобразование данных в ней же. Поэтому рассматривается вариант параллельной обработки нескольких переменных массива одновременно. PHP задачи с собеседований

😎 Пройди тест по PHP и проверь свои знания. Ответишь — пройдешь на продвинутый курс "PHP Developer. Professional" от OTUS по
😎 Пройди тест по PHP и проверь свои знания. Ответишь — пройдешь на продвинутый курс "PHP Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса🎁 . 🎫 Курс можно приобрести в рассрочку 👉 ПРОЙТИ ТЕСТ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Профессия PHP-разработчик: экспресс-старт в создании веб-приложений. Погрузитесь в рабочие будни PHP-разработчика и создайте
Профессия PHP-разработчик: экспресс-старт в создании веб-приложений. Погрузитесь в рабочие будни PHP-разработчика и создайте форму регистрации под руководством технического директора ⏰ Когда: 9 октября в 19:00 (мск). За 2 часа бесплатного практического вебинара: ✔️Расскажем про клиент-серверную архитектуру, фронтенд и бэкенд. ✔️Поговорим про особенности, сильные и слабые стороны языка. ✔️Покажем примеры вакансий, подсветим компетенции, которые потребуются для старта в разработке. ✔️Попрактикуемся на реальных задачах. 🎁 Всем, кто зарегистрировался - Гайд «Как заговорить на сленге IT-специалистов», а каждому участнику - Карта компетенций PHP-разработчика. Реклама. ООО "ХЕКСЛЕТ РУС". ИНН 7325174845. erid: LjN8K1HTx

⚓️ Podlodka PHP Crew — тематическая языковая онлайн-конференция. В этот раз поговорим о том, что тесты — это не больно! Они п
⚓️ Podlodka PHP Crew — тематическая языковая онлайн-конференция. В этот раз поговорим о том, что тесты — это не больно! Они помогают создавать более надёжные и защищённые решения, позволяют улучшить кодовую базу и сократить время выполнения задач. А ещё знание и умение применять тесты повышает востребованность разработчика на рынке труда. Поэтому тема ближайшей Podlodka PHP Crew — «Пишем тесты». Сезон посвящен практическим аспектам и наполнен полезными воркшопами. Сведём баги в проде и возвраты от QA — к минимуму.    Стартуем уже 16 октября. Вместе с экспертами из Vi.Tech, Skyeng, SpaceWeb и других компаний: 👉 Разберём на примере Codeception как работают фреймворки для написания тестов; 👉 Научимся убедительно продавать автотестирование бизнесу; 👉 Рассмотрим сложные и необычные кейсы в тестировании и пути их решения; 👉 Попрактикуемся в генерации автотестов и научимся ускорять этот процесс. 🤑 Для ранних пташек — низкие цены! Посмотреть программу и купить билет со скидкой до 10 октября можно на сайте: https://podlodka.io/phpcrew Реклама. ИП Толстая Елена Петровна ИНН:507503278104 erid:Kra23uARJ

👨🏻‍💻Вопрос от пользователя Liqpay не отправляет callback после успешной оплаты Подключаю платёжную систему liqpay к сайту, используя их платёжную страницу (checout), перенаправляю на неё пользователя с данными об оплате. Но после совершения оплаты мне нужно как-то получить callback от сервера liqpay что-бы я понимал что пользователь совершил оплату. На сколько я понял из их документации для этого в массив с данными об оплате нужно добавить server_url в котором укажу куда liqpay должен отправить запрос с данными об оплате после оплаты, но этого не происходит совсем. Он отправит эти данные только если я добавлю в массив result_url с url ссылки куда пользователь сможет перейти после оплаты что-бы вернуться обратно на сайт, и если он таки перейдёт по этой ссылке то туда вместе с переходом liqpay таки отправит запрос с данными, но пользователю ведь совсем не обязательно переходить на сайт по этой ссылке, а если он этого не сделает то я не получу информацию что он совершил оплату а значит не смогу увеличить ему баланс. Может кто-то уже работал с liqpay и знает в чём дело? Почему он не отправляет callback после успешной оплаты? PHP задачи с собеседований

👨🏻‍💻Вопрос от пользователя Не могу поднять локально страницу на Laravel При запуске страницы вижу ошибку (на картинке) Я с
👨🏻‍💻Вопрос от пользователя Не могу поднять локально страницу на Laravel При запуске страницы вижу ошибку (на картинке) Я сам фронт, вообще не понимаю как это решить Как это исправить? Запускаю через live server. PHP задачи с собеседований

⁉️ Как сделать код удобнее для чтения? ‼️ Использовать шаблонизаторы! ➡️ Какими шаблонизаторы бывают, как работают и как наст
⁉️ Как сделать код удобнее для чтения? ‼️ Использовать шаблонизаторы! ➡️ Какими шаблонизаторы бывают, как работают и как настраиваются, – поговорим на открытом вебинаре «Шаблонизаторы в PHP» курса «PHP Developer. Professional». В качестве примера возьмём шаблонизатор Twig. 🟠Будет интересно PHP-разработчикам с опытом от года, а также тем, кто больше трёх лет использует другие языки ООП. Понравился вебинар? Записывайтесь на курс «PHP Developer. Professional» – прокачивайте навыки до уровня middle+ 📢📢 Занятие «Шаблонизаторы в PHP» пройдёт 5 октября, в 20:00 МСК. Бесплатно. 🟠Для регистрации на вебинар необходимо пройти тест. ➡️ Зарегистрироваться! Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru