Собеседования

Вопросы и ответы на собеседованиях PHP программистов. Часть 1

В этой публикации я даю ответы на вопросы из статьи «Что я спрашиваю на собеседованиях у PHP программистов». В первой части статьи попробую ответить на некоторые из них.

Сколько существует типов данных в PHP? Перечислите их.

  • Четыре скалярных типа:
    1. boolean (двоичные данные)
    2. integer (целые числа)
    3. float (число с плавающей точкой или ‘double’)
    4. string (строки)
  • Два смешанных типа:
    1. array (массивы)
    2. object (объекты)
  • И два специальных типа:
    1. resource (ресурсы)
    2. null (пустой тип)

Что такое объект и класс? Чем объект отличается от класса?

Объект и класс — это базовые понятие в ООП. Классы можно рассматривать как «контейнеры» для логически связанных данных (свойств) и функций (методов). Если сказать проще, то класс — это своеобразный тип данных.

Экземпляр класса — это объект. Объект — это совокупность свойств и методов для их обработки. Свойства и методы называются членами класса.

Если класс можно рассматривать как тип данных, то объект — как переменную (по аналогии).

Какую версию PHP используете? 

Необходимо знать об актуальных версиях на данный момент.

Желательно также знать об отличиях и нововведениях в версиях. Об этом можно почитать здесь.

Стоит помнить, что самая актуальная информация на английском языке.

Что ответить на вопрос? Отвечайте как есть :)

К примеру, я стараюсь использовать последнюю стабильную версию (в новых проектах). Но не забывайте, что не все хостинг-центры могут поддерживать самые последние версии языка.

Также нужно поддерживать ряд работающих проектов (например, на версии 5.3).

Что такое реляционные базы данных? Почему они называются реляционными?

Что такое реляционные базы данных? Почему они называются реляционными?

Сложно об этом написано здесь.

Если говорить проще:

Реляционные базы данных — это базы, где вся информация хранится в таблицах, связанных друг с другом специальными отношениями. Эти отношения позволяют нам извлекать и объединять данные из одной или нескольких таблиц с помощью одного запроса.

Слово «реляционный» происходит от англ. relation («отношение», «зависимость», «связь»).

Напишите пример SQL-запроса, который вернет 5 новостей из категории ‘sport’, упорядоченых по полю title в алфавитном порядке. 

Поля таблицы news следующие:

  • id
  • title
  • content
  • category
  • status

Конечно, это очень простой вопрос. В зависимости от уровня подготовки можно усложнять: добавлять новые поля, условия, связанные таблицы и т.д.

Что такое внешний ключ?

Сложно о внешних ключах.

Если проще:

Внешние ключи используются для организации связей между таблицами базы данных (родительскими и дочерними) и для поддержания ограничений ссылочной целостности данных.

Основная цель ссылочной целостности заключается в недопустимости наличия «висячих» (на несуществующие данные) ссылок из дочерних таблиц на родительскую таблицу.

Что такое CSS?

CSS (Cascading Style Sheets — каскадные таблицы стилей) — формальный язык для описания и оформления внешнего вида документа, написанного с использованием языка разметки (преимущественно HTML и XHTML).

Как подключить файл стилей на страницу?


Какая разница между строчными и блочными элементами?

Блочные элементы представляют собой большие строительные блоки вашей веб-страницы. При отображении браузер автоматически добавляет разрыв строки до и после блочного элемента, при этом он занимает всю доступную ширину (по умолчанию отображается на веб-странице в виде прямоугольника), а высота блочного элемента вычисляется браузером автоматически, исходя из объема его содержимого. Текст в блочных элементах по умолчанию выравнивается по левому краю.
Обычно блочные элементы используются, чтобы разделить содержимое веб-страницы на логические блоки (например: верхний колонтитул (шапка сайта), меню, блок с контентом, нижний колонтитул (footer) и др.). Блочные элементы нельзя вкладывать в строчные, исключением являются только ссылки и ячейки таблиц, внутри которых по стандарту HTML5 могут быть расположены блочные элементы.

Строчные элементы используются для разметки частей содержимого элементов. Ширина строчного элемента равна объему содержимого. В отличии от блочных элементов браузер не добавляет разрыв строки до и после строчного элемента, поэтому, если несколько строчных элементов идут подряд друг за другом, они располагаются на одной строке и переносятся на другую строку при необходимости. В большинстве случаев внутрь строчных элементов допустимо помещать другие строчные элементы, вставлять блочные элементы внутрь строчных запрещено.

Что такое Bootstrap?

Twitter Bootstrap — свободный набор инструментов для создания сайтов и веб-приложений. Включает в себя HTML и CSS шаблоны оформления для типографики, веб-форм, кнопок, меток, блоков навигации и прочих компонентов веб-интерфейсов, включая JavaScript расширения.

Зачем нужен адаптивный дизайн? Что это такое?

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

Сделайте текст Сolor подчеркнутым при помощи jquery


Что такое AJAX и JSON? Зачем используются?

AJAX (Asynchronous Javascript and XML) — это подход к построению интерфейсов веб-приложений, заключающийся в «фоновом» обмене данными браузера с веб-сервером. В результате, при обновлении данных веб-страница не перезагружается полностью, и веб-приложения становятся быстрее и удобнее. Все вы видели ленты с новостями, которые подгружаются по мере прокрутки. При их реализации обычно используют AJAX.

JSON (англ. JavaScript Object Notation) — текстовый формат обмена данными, основанный на JavaScript и обычно используемый именно с этим языком.

Пример:


Напишите пример AJAX запроса.

Удобно делать это при помощи метода jquery $.post

Темы IDE и особенности работы в команде я затрагивал в статье Полезные темы для изучения PHP.
Уверен, там Вы найдете немало полезных вещей.

Очень часто бывает, что кандидат обладает достаточными знаниями для работы, но не может правильно сформулировать ответы на вопросы на собеседовании. Именно поэтому я уделяю собеседованиям специальный блок занятий в программе курса PHP Start.

P.S. Если я где-то допустил неточность — пишите в комментарии, спасибо! Также пишите свои вопросы, на них я отвечу в части 2.

Поделитесь с друзьями или сохраните себе
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Напишите комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *


два × 4 =