Разработчик Bitrix Framework. Программирование

[ Посмотреть ответы ]


1. Какой тип таблиц MySQL рекомендуется использовать для улучшения производительности при больших нагрузках?

  • MyISAM
  • InnoDB

2. Bitrix Framework позволяет использовать следующие способы хранения кеша:

  • только в файлах
  • как в файлах, так и с использованием memcached
  • в файлах, а также с использованием memcached, но только при установленном модуле «Веб-кластер»
  • как с использованием memcached, так и APC

3. Основные методы достижения оптимальной производительности

  • кеширование «узких» мест
  • увеличение буферов базы данных
  • изменение логики для избавления от лишних и тяжелых запросов
  • ограничение выбираемых полей в запросах АПИ
  • использование стандартных компонентов везде, где возможно
  • увеличение мощностей за счет разворачивания веб кластера
  • использование собственных запросов в БД (более простых)

4. Оптимизацию сайта необходимо начинать с

  • анализа настройки компонентов и модулей
  • удаления всех неиспользуемых модулей
  • поиска основных узких мест
  • включения автокеширования и управляемого кеширования
  • получения оценки производительности сервера в мониторе производительности

5. Файлы, к которым нельзя обращаться напрямую, должны:

  • иметь уровень прав 0755
  • содержать в начале следующий код <?if(!defined(«B_PROLOG_INCLUDED») || B_PROLOG_INCLUDED!==true)die();?>
  • располагаться вне системной папки /bitrix

6. Оптимизировать работу с БД можно:

  • созданием прямых запросов к БД
  • правильным проектированием структуры данных, выбор связей и их реализация средствами системы инфоблоков

7. Основные ошибки в программировании в общем случае, вызывающие проблемы в производительности:

  • при выборке разделов без необходимости включается подсчет числа элементов
  • в настройках компонентов устанавливается малое время кеширования
  • чтобы получить число элементов делается полная выборка с подсчетом средствами php
  • в result_modifier для каждого элемента дополнительные поля выбираются дополнительным запросом
  • не включают html кеширование перед сдачей проекта клиенту
  • использование комплексных компонентов вместо простых
  • при написании своих компонентов не ограничивается кеш методом SetResultCacheKeys

8. Перед сдачей проекта необходимо протестировать его с помощью:

  • модуля Монитор производительности
  • инструмента Монитор качества
  • инструмента Проверка сайта

9. Когда лучше начинать использовать кеширование:

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

10. Файл init.php:

  • содержит только подключение файлов
  • может быть общим для всех сайтов
  • ошибка в файле приведёт к потере работоспособности всего сайта
  • каждый сайт может иметь свой init.php
  • содержит инициализацию обработчиков событий
  • обязательный в рамках структуры
  • содержит подключение дополнительных функций

11. Для написания быстрого кода разработчик должен:

  • проектировать структуру данных исходя из последующих задач по выборке и фильтрации данных, а не только из простоты интерфейса
  • знать, как работают инструменты отладки в Битриксе
  • использовать кеширование везде, где это необходимо
  • ограничивать объём данных в кеше
  • использовать кеширование везде, где это возможно
  • разбивать большие товарные каталоги данных на несколько инфоблоков
  • понимать, какие системные действия выполняют АПИ функции

12. При программировании в Bitrix Framework не следует:

  • Использовать шаблоны не на PHP
  • Модифицировать шаблоны
  • Модифицировать модули и ядро
  • Обращаться напрямую к базе данных
  • Модифицировать компоненты

[ Посмотреть ответы ]