Перед интервью я быстро прочитал 5 вопросов веб-интервью Python, вопрос № 17 интервью Python.

Python
Перед интервью я быстро прочитал 5 вопросов веб-интервью Python, вопрос № 17 интервью Python.

Этот банк вопросов для интервью организован и выпущен общедоступным номером: программисты без бакалавриата.

Вопрос 1: Что такое контекст запроса и контекст приложения в Flask?

  • Когда запрос обрабатывается во Flask, создается объект «контекст запроса», и весь процесс обработки запроса будет выполняться в этом объекте контекста. Это гарантирует, что обработка запроса не будет нарушена. Содержит информацию, связанную с обработкой запроса, и Flask также использует LocalStack, структуру данных, реализованную в модуле werkzeug.local, для хранения объектов «контекста запроса».
  • «Контекст приложения» также является объектом контекста, вы можете использовать оператор with для создания контекстной среды, он также реализует методы push, pop и другие. Конструктор «контекста приложения» также похож на «контекст запроса» с такими атрибутами, как app и url_adapter. Одной из основных функций «контекста приложения» является определение приложения, в котором выполняется запрос.

Вопрос 2: Использование промежуточного программного обеспечения django?

Django предустановляет методы 6 в промежуточном программном обеспечении. Разница между этими методами 6 заключается в том, что они выполняются на разных этапах и вмешиваются в ввод или вывод. Методы следующие:

#1 初始化: 无需任何参数,服务器响应第一个请求的时候调用一次,用于确定是否启用当前中间件

def __init__():
    pass

#2.处理请求前:在每个请求上调用,返回None或者HttpResponse 对象

def process_response(request):
    pass

#3 处理视图前,在每个请求上调用,返回None 或HttpResopnse对象
def  process_view(request.view_func, view_args, view_kwargs):
    pass

#4 处理模板响应前: 在每个请求上调用,返回实现render 方法的响应对象
def peocess_template_response(request, response):
    pass
#5 处理响应后,多有响应返回浏览器之前被调用,每个请求上调用,返回HttpResponse对象

def process_response(request, response):
    pass

#6  异常处理:当时图抛出异常时调用,在每个请求上调用,返回一个HttpResponse对象
def process_exception(request, execption):
    pass

Вопрос 3: Какая оптимизация данных была выполнена при разработке django?

  1. При проектировании таблиц используйте как можно меньше внешних ключей, поскольку ограничения внешнего ключа могут повлиять на производительность вставки и удаления.
  2. Используйте кеш, чтобы уменьшить доступ к базе данных
  3. При настройке таблицы в рамках ORM, когда вы можете использовать varchar для определения длины поля, не используйте текст
  4. Вы можете получить свойства поля для частоты поиска и создать индексы во время определения.
  5. Наборы запросов в фреймворке django orm уже кэшированы.
  6. Если страница должна ссылаться на базу данных несколько раз, лучше удалить все необходимые данные за один раз, чтобы уменьшить количество запросов к базе данных.
  7. Если странице требуется только одно или два поля в базе данных, вы можете использовать QuerySet.values()
  8. Используйте тег with в теге template для кэширования результатов запроса Qset.

Вопрос 4: Объясните взаимосвязь и разницу между Django и Tornado?

Django

Django возник на новостном веб-сайте в Интернете и был выпущен с открытым исходным кодом в 2005 году.

Основные компоненты фреймворка Django:

Реляционное сопоставление объектов для создания моделей Безупречный интерфейс администратора для конечных пользователей Первоклассный дизайнер URL-адресов Удобный язык шаблонов Система кэширования и многое другое

Он поощряет быструю разработку и соответствует дизайну MVC.

Django соблюдает авторские права BSD, последняя версия Django1.4 выпущена 23 марта 2012 г. Основная цель Django — простая и быстрая разработка веб-сайтов, управляемых базами данных. Он делает упор на повторное использование кода, а несколько компонентов могут легко обслуживать всю структуру в виде «плагинов». В Django есть много мощных сторонних плагинов, и вы даже можете легко разработать свой собственный набор инструментов. Это делает Django очень расширяемым. Он также подчеркивает быстрое развитие и принципы DRY (не повторяйтесь).

Tornado

Tornado — это версия масштабируемого неблокирующего веб-сервера с открытым исходным кодом и связанных с ним инструментов, используемых FriendFeed. Этот веб-фреймворк немного похож на web.py или веб-приложение Google, но он также включает в себя некоторые полезные инструменты и оптимизации для эффективного использования неблокирующей серверной среды.

Tornado имеет явное отличие от основных сегодняшних фреймворков веб-серверов (включая большинство Python): это неблокирующий сервер, и он довольно быстрый. Благодаря неблокирующему подходу и использованию epoll Tornado может обрабатывать тысячи подключений в секунду, что означает, что Tornado является идеальной веб-платформой для веб-сервисов в реальном времени. Основной целью разработки этого веб-сервера является поддержка функций FriendFeed в реальном времени: каждый активный пользователь в приложении FriendFeed поддерживает соединение с сервером. (О том, как масштабировать сервер для обработки тысяч клиентских подключений.

Вопрос 5: Что такое restful API, расскажите о своем понимании?

  • ОТДЫХ: Аббревиатура от Representational State Transfer, перевод: «Representational State Transfer». Обычно объясняется как «переход состояния уровня представления».
  • REST — это стиль дизайна, а не стандарт. Относится к форме взаимодействия между клиентом и сервером. Нам нужно сосредоточиться на том, как проектировать
  • RESTful веб-интерфейс.

Особенности ОТДЫХА

  1. образный. Обычно относится к уровню представления, объект, который должен быть представлен, является ресурсом. Например, когда клиент обращается к серверу, полученные данные являются ресурсом. Например, текст, изображения, аудио и видео и т. д.
  2. Представление: представление ресурса. формат txt, формат html, формат json, формат jpg и т. д. Браузер определяет местоположение ресурса через URL-адрес, но его необходимо указать в заголовке HTTP-запроса с полями Accept и Content-Type, которые являются описаниями представления ресурса.
  3. Переходы между состояниями: Процесс взаимодействия клиента и сервера. В этом процессе должно быть преобразование данных и состояния, которое называется преобразованием состояния. Среди них GET означает получение ресурсов, POST означает создание новых ресурсов, PUT означает обновление ресурсов, а DELETE означает удаление ресурсов. Эти четыре режима работы наиболее часто используются в протоколе HTTP.

RESTful архитектура

  1. Каждый URL-адрес представляет собой ресурс;
  2. Между клиентом и сервером проходит какой-то уровень представления этого ресурса;
  3. Клиент управляет ресурсами сервера с помощью четырех HTTP-команд для реализации перехода состояния уровня представления.

Вопрос 6: Следите за вопросом, недавно обновленная волшебная серия вступительных статей на официальном аккаунте

ее диплом колледжа 27 лет, изучаю языки программирования c, c++, python с нуля 29-летняя девушка пишет 100 учебных пособий по кейсам Овладеть 10 языками программирования к 30 годам, Скажу вам с опытом самообучения, чтобы научиться программировать, нужно найти ластик мечты

Добро пожаловать, обратите внимание на ее общедоступный номер, ищите - программист без бакалавриата.