Вопросы по php (laravel)
1)опишите своими словами, что такое service providers и зачем они нужны?
15) стандартная схема конфигурирования приложения на laravel такова:
1. все секретные токены и зависящие от окружения настройки хранятся в файле .env;
2. на основании данных из .env и напрямую указанных в /config/*.php настроек генерируется общий объект с настройками;
3. приложение получает значения настроек из этого объекта.
но в крупных приложениях многое зависит от окружения, в котором оно запущено, и файл .env становится большим, в нём сложно ориентироваться и неудобно редактировать. предложите решение этой проблемы.
ответ
2)предположим, наш сайт называется вот так:
"роберт'); drop table `students`; --"
как это значение записать в файл .env - как и что нужно экранировать?
ответ
3)как бы вы с точки зрения архитектуры приложения реализовали функционал определения города пользователя при первом визите по ip с использованием стороннего сервиса? город используется в самых разных частях сайта, не связанных друг с другом.
ответ
4)используете ли вы стандартные фасады laravel? пишите ли свои? в чём плюсы и минусы использования фасадов?
ответ
5)имеется mysql таблица с полями “id”, “name”. напишите sql-запрос, который выдаст поле name записи с пятым с конца по величине id (например, в случае, если в таблице записи с id = 1,2,3,6,7,9,10,25,40,42, нужна запись для id=9).
ответ
6)опишите механизм работы сессий в php.
ответ
7)опишите своими словами что такое csrf, xss и sql-инъекции? чем они опасны, как от них защищаться?
ответ
8)напишите код, который переформатирует мобильные телефоны в произвольном формате в формат “+7–x–xx–xxx-”
ответ
9)имеется лог-файл, размером 5гб, в котором хранятся записи в формате “dd.mm. hh: mm: ss [ip] url”. напишите код, который позволит найти ip-адрес, встречающийся в файле чаще всего. в качестве дополнительного , напишите код, который покажет самые посещаемые страницы с этого ip-адреса.
10)ответ
опишите алгоритм, при которого можно перевернуть массив, не прибегая к встроенным функциям php. например, превратить array(1, 5, 7, 9, 2, 4, 6, 8) в array(8, 6, 4, 2, 9, 7, 5, 1).
ответ
11)какие поиска причин ошибок в коде вы знаете (например, когда итоговый результат работы какой-либо функции отличается от того, что вы ожидали)? какой из них вы считаете самым эффективным?
ответ
12)как вы тестируете свой код?
ответ
13)какие javascript-библиотеки вы знаете? с какими из них работали?
ответ
14)опишите по шагам механизм выполнения ajax-запроса, как вы его понимаете (не обязательно вдаваться в низкоуровневые детали). что происходит на клиенте и на сервере в этот момент?
если вопрос кажется слишком простым, дополнительно расскажите про механизм работы fetch-запроса.
ответ