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

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

Ir al canal en Telegram

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

Mostrar más
2 906
Suscriptores
-124 horas
Sin datos7 días
-930 días
Archivo de publicaciones
🔥Научитесь создавать надежные и читаемые программы с SOLID 🔊Встречаемся 25 сентября в 20:00 мск на бесплатном открытом урок
🔥Научитесь создавать надежные и читаемые программы с SOLID 🔊Встречаемся 25 сентября в 20:00 мск на бесплатном открытом уроке «Особенности обработки исключений с точки зрения SOLID принципов». Ключевыми темами этого урока будут: 1. Какие исключения и где их стоит обрабатывать: — Основные типы исключений и их назначение; — Места, где следует обрабатывать исключения (локальная или глобальная обработка); - Пользоваться или продолжать выброс исключений. 2. Стратегии обработки исключений: — Принцип единственной ответственности (Single Responsibility Principle) и обработка исключений; — Принцип открытости/закрытости (Open/Closed Principle) и обработка исключений; — Принцип подстановки Барбары Лисков (Liskov Substitution Principle) и обработка исключений; — Принцип разделения интерфейса (Interface Segregation Principle) и границы обработки исключений; — Принцип инверсии зависимости (Dependency Inversion Principle) и управление исключениями. 💡Участники урока получат практические примеры и сценарии, чтобы разобраться в лучших практиках обработки исключений с учетом SOLID принципов. Мы также рассмотрим ситуацию, когда обработку исключений не следует производить, а вместо этого стоит использовать альтернативные стратегии, такие как возвращать специальные коды ошибок или использовать паттерн Either. ➡️ Пройдите вступительное тестирование, мы запишем вас на урок и напомним заранее Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Как сделать тестирование более эффективным? Расскажем 21 сентября в 19:00 мск на открытом уроке «Оценка эффективности тестово
Как сделать тестирование более эффективным? Расскажем 21 сентября в 19:00 мск на открытом уроке «Оценка эффективности тестовой стратегии с помощью тестового покрытия» в рамках курса «QA Lead». https://otus.pw/qz97/ Часто возникают вопросы: — Все ли мы тестируем? — Насколько эффективен выбранный нами набор тестов? — Нет ли избыточного или недостаточного количества тестов и так далее? Чтобы получить ответы на выше обозначенные вопросы, нужно использовать показатели code coverage и test coverage. Их и разберем на занятии. Также вы сможете задать преподавателю любые вопросы в режиме реального времени и понять, насколько вам подходит формат обучения. Регистрируйтесь бесплатно прямо сейчас, чтобы не пропустить мероприятие! https://otus.pw/qz97/ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

✔️ Ты PHP-разработчик? - Проверь себя, пройди тест по Laravel! 👩‍💻 Освой полный спектр возможностей Laravel. Пройди тест из
✔️ Ты PHP-разработчик? - Проверь себя, пройди тест по Laravel! 👩‍💻 Освой полный спектр возможностей Laravel. Пройди тест из 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Framework Laravel" от OTUS по специальной цене. 🎫Возможна оплата курса в рассрочку 👉 ПРОЙТИ ТЕСТ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

👨🏻‍💻 Оптимизация вставки или обновления множества значений в базу данных Каждый раз после определенных манипуляций получается некий массив с уникальными словами:
$words = array(
  "cat",
  "dog",
  "mouse",
  "home",
  ...
); Нужно каждое слово сохранить в таблице, если оно там не встречается и задать ему счетчик = 1. Если слово встречается, то увеличить счетчик данного слова на 1. С этим в принципе проблем нет, вопрос в другом. Иногда приходит массив на 1000 слов, и в целом может прийти и неограниченно больше. Сейчас проверка и запись в базу происходит тупо в цикле по одному. Вопрос такой: можно ли как-то это оптимизировать, например, как-то обновлять таблицу одним запросом. Если да, то не будет ли какое ограничение по длине запроса. В целом, как бы вы сделали, посоветуйте варианты. PHP задачи с собеседований

👨🏻‍💻 PHP 8.1, ошибка при установке sqlsrv и pdo_sqlsrv Имеется сервер Debain 11 на котором установлен SQL SERVER и PHP 8.1 Необходимо установить необходимые расширения (sqlsrv и pdo_sqlsrv), при попытке установить одно из них я получаю ошибку:
/usr/bin/sed: can't read /usr/lib/x86_64-linux-gnu/libltdl.la: No such file or directory
libtool:   error: '/usr/lib/x86_64-linux-gnu/libltdl.la' is not a valid libtool archive
make: *** [Makefile:254: pdo_sqlsrv.la] Error 1
ERROR: `make' failed

Пробовал удалять и устанавливать libtool, пробовал менять версию PHP с 7.4 и до более новых версий, пробовал удалять кэш и временные пакеты. Данная ошибка появляться в любом случаи, чтобы я не пробовал делать. ChatGPT не помогает :) Какие могут быть возможные решения проблемы? PS. Так же при попытке вручную скомпилировать расширение получаю ошибку:
libtool: warning: library '/usr/lib/x86_64-linux-gnu/libodbc.la' was moved.
libtool: warning: library '/usr/lib/x86_64-linux-gnu/libodbcinst.la' was moved.
libtool: link: cc -shared  -fPIC -DPIC  .libs/conn.o .libs/util.o .libs/init.o .libs/stmt.o shared/.libs/core_conn.o shared/.libs/core_results.o shared/.libs/core_stream.o shared/.libs/core_init.o shared/.libs/core_stmt.o shared/.libs/core_util.o shared/.libs/FormattedPrint.o shared/.libs/localizationimpl.o shared/.libs/StringFunctions.o   -lstdc++ /usr/lib/x86_64-linux-gnu/libodbc.so /usr/lib/x86_64-linux-gnu/libodbcinst.so  -g -O2 -Wl,-z -Wl,now   -pthread -Wl,-soname -Wl,sqlsrv.so -o .libs/sqlsrv.so
libtool:   error: '/usr/lib/x86_64-linux-gnu/libltdl.la' is not a valid libtool archive
make: *** [Makefile:251: sqlsrv.la] Error 1

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

👨🏻‍💻Вопрос от англоязычного пользователя How to append an attribute into Eloquent collection in Laravel I'm writing a pagination on laravel. I know that laravel has it's own pagination but I want just to try make my own. So I used a generator to get records from db but i have a problem - I need somehow mark last records to understend when it'll be the last page in pagination. I tried to add a field to my records via 'append' in Laravel but it doesn't works Here is the code from Model protected function is_last_record(): \Attribute { return new \Attribute( fn () => 'yes', ); } public function pagination($pageNumber=1, $numOfRecords=8) { $numberOfRecords = Anime::select('*')->count(); $offset = ($pageNumber - 1) * $numOfRecords; $data = Anime::select('title', 'poster')->limit($numOfRecords)->offset($offset)->get(); $numberOfRecords -= $data->count(); if($data->count() > 0){ if($numberOfRecords > 0){ yield $data; } else if($numberOfRecords == 0){ $data->appends(['is_last_record'])->toArray(); yield $data; } } } Controller code public function List(){ $data = $this->anime->pagination(); $list = []; foreach($data as $item){ array_push($list, $item); } return view('/list', ['list' => $list]); } Can somebody help me to fix it so it can return also a field "is_last_record" if it's a last page and i could parse it in view ? PHP задачи с собеседований

⬆️ На курсе «Профессия Архитектор ПО» вы вырастете как разработчик и повысите свой доход. Разберёте реальные кейсы от ведущих
⬆️ На курсе «Профессия Архитектор ПО» вы вырастете как разработчик и повысите свой доход. Разберёте реальные кейсы от ведущих разработчиков «Альфа-Банка» и сможете проектировать масштабируемые и отказоустойчивые приложения. За 4 месяца вы научитесь: ✅ применять архитектурные стили и паттерны проектирования — API Gateway, CQRS и «Сага»; ✅ выявлять и проверять нефункциональные требования и характеристики систем; ✅ строить распределённые системы на основе микросервисов и создавать cloud-native-приложения; ✅ принимать архитектурные решения исходя из контекста; ✅ учитывать вопросы кибербезопасности при проектировании. Навыки отточите на реальных задачах, а в конце курса презентуете итоговый проект. Спешите приобрести курс со скидкой! Подробнее по ссылке https://goo.su/8pDyzNi Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

⬆️ На курсе «Профессия Архитектор ПО» вы вырастете как разработчик и повысите свой доход. Разберёте реальные кейсы от ведущих
⬆️ На курсе «Профессия Архитектор ПО» вы вырастете как разработчик и повысите свой доход. Разберёте реальные кейсы от ведущих разработчиков «Альфа-Банка» и сможете проектировать масштабируемые и отказоустойчивые приложения. За 4 месяца вы научитесь: ✅ применять архитектурные стили и паттерны проектирования — API Gateway, CQRS и «Сага»; ✅ выявлять и проверять нефункциональные требования и характеристики систем; ✅ строить распределённые системы на основе микросервисов и создавать cloud-native-приложения; ✅ принимать архитектурные решения исходя из контекста; ✅ учитывать вопросы кибербезопасности при проектировании. Навыки отточите на реальных задачах, а в конце курса презентуете итоговый проект. Спешите приобрести курс со скидкой! Подробнее по ссылке https://goo.su/8pDyzNi Реклама. ЧОУ ДПО «Образовательные технологии «Скилбокс (Коробка навыков)», ИНН: 9704088880

👨🏻‍💻Вопрос от пользователя Wordpress сайт в PHP скрипте $_SERVER['HTTP_USER_AGENT'] выдаёт разные значения хотя захожу с одного и того же устройства и браузера Доброго времени суток! сайт выложил уже на хостинг. с помощью $_SERVER['HTTP_USER_AGENT'] принимается решение какую версию сайта показывать мобильную или десктопную. сначала вроде работает нормально, потом ни с того ни с сего на мобильном начинает показывать десктоп версию или наоборот на десктоп мобильную, хотя открывают его с одних и тех же устройств и браузеров. вот код $mobile =false; $android = strpos($_SERVER['HTTP_USER_AGENT'],"Android"); $bberry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry"); $iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone"); $ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod"); $webos = strpos($_SERVER['HTTP_USER_AGENT'],"webOS"); if ($android || $bberry || $iphone || $ipod || $webos== true) { $mobile =true; } echo $_SERVER['HTTP_USER_AGENT']; if($mobile) { require "enMob.php"; } else { require "en.php"; } PHP задачи с собеседований

Как использовать мощность Linux на максимум? Бесполезно ставить устаревшие утилиты, бездумно чистить процессы, и читать бредовые статьи по взлому wi-fi через Aircrack. Подумайте сами, спектр работы с Linux безграничен, вы можете - поднять свой впн за пару команд, собрать информацию о любом человеке c новыми OSINT инструментами, разогнать видеокарту в Linux с помощью опций ядра для значительного повышения FPS в играх и многое другое. Об этом можно узнать здесь. Вообще канал «Linux Academy» единственное место в телеграме, где вы пройдете путь от -"гугл, как выйти из Vim", до профессионала по работе с Linux и хакингу. Подписывайтесь, такие знания в 2023-м году на вес золота: Linux Academy

Как использовать мощность Linux на максимум? Бесполезно ставить устаревшие утилиты, бездумно чистить процессы, и читать бредовые статьи по взлому wi-fi через Aircrack. Подумайте сами, спектр работы с Linux безграничен, вы можете - поднять свой впн за пару команд, собрать информацию о любом человеке c новыми OSINT инструментами, разогнать видеокарту в Linux с помощью опций ядра для значительного повышения FPS в играх и многое другое. Об этом можно узнать здесь. Вообще канал «Linux Academy» единственное место в телеграме, где вы пройдете путь от -"гугл, как выйти из Vim", до профессионала по работе с Linux и хакингу. Подписывайтесь, такие знания в 2023-м году на вес золота: Linux Academy

🦾 Стань крутым Android-разработчиком вместе с OTUS У нас есть отличный курс с крутыми условиями и рассрочкой, но сначала пре
🦾 Стань крутым Android-разработчиком вместе с OTUS У нас есть отличный курс с крутыми условиями и рассрочкой, но сначала предлагаем тест-драйв – бесплатный открытый урок от преподавателя этой программы! 🎙 14 сентября в 20:00 мск встречаемся на открытом уроке «Создание своей MVI-архитектуры приложения для Android и миграция на нее с MVVM» в рамках курса «Android Developer. Professional» Что будем делать на занятии: - Напишем свой простой MVI - Мигрируем приложение с MVVM на MVI - Напишем unit-тесты на получившуюся логику 🟠Это не записанный вебинар, а живой эфир, где вы сможете задать преподавателю любые вопросы в режиме реального времени! 👉 Регистрируйтесь бесплатно прямо сейчас, чтобы ничего не пропустить! Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru erid: 2Vtzqv9oMTE

✔️ Ты PHP-разработчик? - Проверь себя, пройди тест по Laravel! 👩‍💻 Вырвись из однотипных задач — освой полный спектр возмож
✔️ Ты PHP-разработчик? - Проверь себя, пройди тест по Laravel! 👩‍💻 Вырвись из однотипных задач — освой полный спектр возможностей Laravel. Пройди тест из 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на продвинутый курс "Framework Laravel" от OTUS по специальной цене. 🎫Возможна оплата курса в рассрочку 👉 ПРОЙТИ ТЕСТ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru erid: 2Vtzqw9nafA

👨🏻‍💻Вопрос от пользователя Пытаюсь вытянуть информацию о видео с MySQL через апи в реакт У меня есть функция в ларе которой можно загрузить видео в бд, но когда хочу вывести в реакт то не получается воспроизвести видео, не могу понять почему, ошибок в консоли не выдаёт код с лары : public function store(Request $request){ $data = $request->validate([ 'name' => 'required', 'description' => 'required', 'category_id' => 'required', 'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048', 'video' => 'required|file|mimes:mp4,mov,avi|max:100000' ]); if ($request->hasFile('image')){ $image = $request->file('image'); $imageName = time() . '_' . $image->getClientOriginalName(); $data['image'] = $imageName; $request->image->move(public_path('storage/images'), $imageName); } if ($request->hasFile('video')) { $video = $request->file('video'); $videoName = time() . '_' . $video->getClientOriginalName(); $data['video'] = $videoName; $request->video->move(public_path('storage/videos'), $videoName); } Post::create($data); $posts = Post::all(); return view('Post.listPost', ['posts'=>$posts]); } код с реакта : function PostDetail() { const { id } = useParams(); const [post, setPost] = useState({}); useEffect(() => { fetch(`http://127.0.0.1:8000/api/post?id=${id}`) .then(res => res.json()) .then(data => setPost(data)) .catch(error => console.error(error)); }, [id]); return ( <div className="post_detail"> <div className="post_details_watch"> <video className="post_detail_video" controls> <source src={post.video} type="video/mp4" /> </video> <img src={post.image} alt=""/> <p>{post.name}</p> <p>Plot Summary :</p> <p>Содержание: {post.description}</p> </div> </div> ); } PHP задачи с собеседований

👨🏻‍💻Вопрос от пользователя Валидация формы обратной связи php У меня есть простенький php скрипт который отправляет сообщение в чат телеграмм от имени бота. На сайте есть форма обратной связи к которой подключен данный php обработчик. Мне нужно сделать так что-бы нельзя было отправить пустые поля! Как мне это сделать? Сам код:
sendmess.php

<?php

/* https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXXXXX/getUpdates,
где, XXXXXXXXXXXXXXXXXXXXXXX - токен вашего бота, полученный ранее */

$name = $_POST['user_name'];
$email = $_POST['user_email'];
$phone = $_POST['user_phone'];
$token = "TOKEN_BOT";
$chat_id = "CHAT_ID";
$arr = array(
  'ФИО:' => $name,
  'Email:' => $email,
  'Телефон:' => $phone,
);


foreach($arr as $key => $value) {
  $txt .= "<b>" . urlencode($key) . " </b>" . urlencode($value) ."%0A";
};

$sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");

if ($sendToTelegram) {
  header('Location: index.php');
} else {
  echo "Error";
}
?>


index.php <!-- Форма обратной связи --> <form action="sendmess.php" method="POST"> <!-- Каждый input для выравнивания вкладываем в блок input-box --> <div class="input-box"> <input type="text" name="user_name" placeholder="ФИО" /> </div> <div class="input-box"> <input type="email" name="user_email" placeholder="Email" /> </div> <div class="input-box"> <input type="phone" name="user_phone" placeholder="Телефон" /> </div> <div class="button"> <input class="button" type="submit" value="Отправить" /> </div> </form> </div> </div> PHP задачи с собеседований

💻Подборка полезных каналов для тех, кому интересен хакинг, Linux и анализ с данными. ▪Хакер - сложный материал, простыми сло
💻Подборка полезных каналов для тех, кому интересен хакинг, Linux и анализ с данными. ▪Хакер - сложный материал, простыми словами, лучший способ изучить хакинг. ▪Анализ данных - гайды сбора и анализа данных. ▪Linux - секреты ос, о которые выведут вас на новый уровень. ▪Kali linux - канал-проводник в хакинг, где на пальцах обучают кибербезопасности на практике. ▪Linux Books - лучшие свежие книги - бесплатно.

👨🏻‍💻Задание для вас Как занести выбранные элементы из json в массив PHP Подскажите как занести из json файла в массив double все элементы link через for()? [{"_id":"2","link":"t.me\/vamix"},{"_id":"1","link":"t.me\/texas"}] $double = []; $q=mysql_query("SELECT * FROM black ORDER BY _id DESC"); while($e=mysql_fetch_assoc($q)) $output[] = $e; $string = json_encode($output); print($string);

🔥 Работаете сетевым инженером или администратором и ищете возможности для роста? Научитесь проектировать архитектуру underla
🔥 Работаете сетевым инженером или администратором и ищете возможности для роста? Научитесь проектировать архитектуру underlay и overlay сетей с помощью онлайн-курса «Дизайн сетей ЦОД» в OTUS. ✔️ Вас ждут 3 месяца интерактивных вебинаров с инструкторами Cisco, практика и серьезная проектная работа для портфолио — сетевая фабрика на основе VxLAN EVPN. После обучения вы сможете проектировать сети и сетевые фабрики на любом вендоре. Набор заканчивается! 🚀 Группа стартовала уже 28 августа! 🟠Если вы пропустите первые вебинары – это не страшно, они останутся в записи в личном кабинете. Но сильно затягивать не стоит – оставляйте заявку и присоединяйтесь, пока не началось самое интересное и сложное! ➡️ Пройдите вступительный тест, чтобы занять место в группе с бонусной скидкой! Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru