171 просмотр
От 30 мая 2023

Вопросы для собеседования PHP-разработчика

1. Какие типы данных есть в PHP?

Хотя PHP это динамический язык, все же все данные в нем имеют четкие типы. Скалярные типы: - bool - int - float (иногда встречается название double что для php не имеет разницы) - string Смешанные типы: - array - object - callable - iterable Специальные типы: - resource - null

2. Обязательно ли писать ?> в конце скрипта?

Для файлов, содержащих только PHP-код, закрывающий тег ?> лучше не использовать. Он не требуется синтаксисом PHP и его пропуск предотвращает случайное включение в вывод конечных пробелов.

3. В чём разница между === и ==?

1 === 1: true 1 == 1: true 1 === "1": false 1 == "1": true "foo" === "foo": true Оператор == производит приведение операндов к одному типу перед сравнением. Оператор === сравнивает операнды без приведения типов, как есть.

4. Что такое ссылка в PHP?

Ссылки в PHP - это средство доступа к содержимому одной переменной под разными именами. Они не похожи на указатели в C - например, вы не можете выполнять над ними адресную арифметику, они не являются реальными адресами в памяти и т.д. Вместо этого указатели в PHP - это псевдонимы в таблице имён переменных.

5. Как передать переменную по ссылке?

<?php function foo(&$var) { $var++; } $a = 5; foo($a); // $a здесь равно 6 ?> Вы можете передать переменную по ссылке в качестве аргумента в функцию, чтобы эта функция могла изменять значение переменной. Замечание: В вызове функции отсутствует знак ссылки - он есть только в определении функции. Этого достаточно для корректной передачи аргументов по ссылке. По ссылке можно передавать: - Переменные, например foo($a) - Ссылки, возвращаемые функцией, например: <?php function foo(&$var) { $var++; } function &bar() { $a = 5; return $a; } foo(bar()); ?>

6. Для чего нужен ini__set()?

PHP позволяет изменять некоторые из настроек, приведенных в php.ini, с помощью ini_set(). ini__set() принимает два аргумента: первый — это имя параметра, который нужно изменить, а второй — его новое значение. Данный код активирует настройку display_error: ini_set('display_errors', '1'); Нужно поместить приведенный выше код в начало скрипта, чтобы параметр оставался включенным до конца. Кроме того, значения, установленные через ini_set(), применимы только к текущему скрипту.

7. Что такое интерфейс в PHP?

Интерфейс в PHP — это конструкция языка, описывающая абстрактный тип данных (АТД). АТД определяет набор операций (функций), независимых от конкретной реализации типа для манипулирования его значениями. На практике интерфейсы содержат определения функций (то есть описание их сигнатур) без их реализации.

8. Что такое абстрактный класс?

Абстрактный класс - это так называемый базовый класс, не предназначенный для создания его экземпляров (объектов). Основной смысл и назначение абстрактных классов заключается в расширении возможностей его дочерних классов.

9. Поддерживает ли PHP множественное наследование?

Нет, PHP не поддерживает множественное наследование. То есть у производного класса может быть только один родительский. Но с помощью “магической” функции __call() его можно эмулировать.

10. Какие есть модификаторы доступа в PHP?

С помощью специальных модификаторов можно задать область видимости для свойств и методов класса. В PHP есть три таких модификатора: public: свойство, метод или конструктор будут доступны для всех классов, которые их используют. protected: может быть использован только в самом классе, а также в его дочерних. private: может быть использован только в самом классе и нигде больше.

11. Зачем нужен «static» в PHP?

1. Для объявления статической локальной переменной. 2. Для объявления статического свойства или метода класса. 3. Для реализации позднего статического связывания.

12. Что такое позднее статическое связывание?

Поддержи проект и получи доступ ко всему контенту всего за 290

13. Что такое PDO?

Поддержи проект и получи доступ ко всему контенту всего за 290

14. Разница между isset() и empty()?

Поддержи проект и получи доступ ко всему контенту всего за 290

15. Разница между require и include?

Поддержи проект и получи доступ ко всему контенту всего за 290

16. Зачем require и include приставка _once?

Поддержи проект и получи доступ ко всему контенту всего за 290

17. Разница между одинарными и двойными кавычками?

Поддержи проект и получи доступ ко всему контенту всего за 290

18. Разница между self и $this?

Поддержи проект и получи доступ ко всему контенту всего за 290

19. Что работает быстрее: преинкремент или постинкремент?

Поддержи проект и получи доступ ко всему контенту всего за 290

20. Какой алгоритм сортировки используется в PHP для таких функций, как sort и т. д.?

Поддержи проект и получи доступ ко всему контенту всего за 290

21. Какой алгоритм используется в PHP для сборки мусора?

Поддержи проект и получи доступ ко всему контенту всего за 290

22. Что такое PSR?

Поддержи проект и получи доступ ко всему контенту всего за 290

23. Какая разница между echo и print?

Поддержи проект и получи доступ ко всему контенту всего за 290

24. Что такое магические методы?

Поддержи проект и получи доступ ко всему контенту всего за 290

25. Что такое генераторы?

Поддержи проект и получи доступ ко всему контенту всего за 290

26. Что такое трейты?

Поддержи проект и получи доступ ко всему контенту всего за 290

27. Что такое пространства имён?

Поддержи проект и получи доступ ко всему контенту всего за 290

28. Что такое сессии?

Поддержи проект и получи доступ ко всему контенту всего за 290

29. Что такое суперглобальные переменные?

Поддержи проект и получи доступ ко всему контенту всего за 290

30. Что такое $GLOBALS?

Поддержи проект и получи доступ ко всему контенту всего за 290

31. Что такое замыкания?

Поддержи проект и получи доступ ко всему контенту всего за 290
Хочешь стать частью сообщества Девстанции?
Вступай в наш чат в Telegram

Также в этой категории

Викторина
  18 вопросов

Большой тест по PHP

Тест по вопросам с PHP-собеседования

20 просмотров
От 9 октября 2023
Викторина
  10 вопросов

История развития PHP

Викторина по истории развития PHP

7 просмотров
От 30 мая 2023

Вам может быть интересно

Шпаргалка
  11 вопросов

Теория шардинга баз данных

О распределении данных между серверами

243 просмотра
От 10 октября 2023
Шпаргалка
  7 вопросов

Коллекция полезных команд для Docker

Большая шпаргалка по всем командам Docker

200 просмотров
От 12 октября 2023
Шпаргалка
  54 вопроса

Шпаргалка по вопросам о Go

Вопросы про Go на собеседовании

513 просмотров
От 30 января
Шпаргалка
  60 вопросов

60 вопросов про базы данных и SQL

Вопросы и ответы с собеседования по базам данных и SQL

312 просмотров
От 20 февраля
Задачник
  21 задача

Топ 20 задач с собеседований по Go

Алгоритмические задачи для собеседований Go-разработчиков

1911 просмотров
От 25 февраля
Шпаргалка
  10 вопросов

Всё о репликации баз данных

Описание понятий и процессов репликации БД

178 просмотров
От 8 октября 2023

Топ тредов

Gravatar for 9tokio
Tokio:
то что раньше было бесплатным теперь платное - вот это я понимаю

Последнее сообщение:
Логотип Девстанции
Девстанция:
Спасибо за поддержку проекта :) Повышение качества контента - один из важнейших приоритетов. Этому м...
3 сообщения
213 просмотров

Логотип Девстанции
Девстанция:
Поиск людей для совместной разработки IT-стартапов

Последнее сообщение:
В этом треде пока нет сообщений
0 сообщений
108 просмотров

Логотип Девстанции
Девстанция:
Какой язык программирования выбрать в качестве первого?

Последнее сообщение:
Gravatar for 2kokke
Kokke:
Python или JS - универсально. Но по уму надо бы с чего-то строгого начинать и достаточно низкоуровне...
1 сообщение
140 просмотров

Все категории