网络协议

通信计算机双方必须共同遵从的一组约定,只有遵守这个约定,计算机之间才能相互通信交流

  


TCP / IP

    TCP/IP(传输控制协议/网际协议)是指能够在多个不同网络间实现信息传输的协议簇。TCP/IP协议不仅仅指的是TCP 和IP两个协议,而是指一个由FTP、SMTP、TCP、UDP、IP等协议构成的协议簇, 只是因为在TCP/IP协议中TCP协议和IP协议最具代表性,所以被称为TCP/IP协议
# TCP(传输控制协议)
""" TCP 为应用程序提供了可靠的传输流和虚拟连接服务。TCP主要提供数据流转送,可靠传输,有效流控制,全双工操作和多路传输技术 """
# IP(网际协议)
""" 提供一种无连接、不可靠的、尽力而为的数据包传输服务 """

HTTP

# HTTP(超文本传输协议)
""" HTTP基于TCP/IP协议,无状态;短链接;被动响应;工作在应用层(客户与服务器建立连接;客户向服务器提出请求;服务器接受请求,并根据请求返回相应的文件作为应答;客户与服务器关闭连接) """

restfull API 规范

"""
1, 域名
2, 版本
3, 路径
4, HTTP动词
5, 过滤
6, 状态码
7, 错误处理
8, 返回结果
9, 超媒体
0, 其他
"""

Django与Flask

# Flask
1:轻量级web框架,只有一个内核,默认依赖两个外部库:Jinja2 模板引擎和 Werkzeug WSGI 工具集,自由,灵活,可扩展性强
2:适用于做小型网站以及web服务的API,开发大型网站无压力,架构需自行设计
3:与关系型数据库结合不弱于Django,而与非关系型数据库的结合远远优于Django

# Django
1:重量级web框架,功能齐全,提供一站式解决的思路,能让开发者不用在选择应用上花费大量时间
2:自带ORM(Object-Relational Mapping 对象关联映射)和模板引擎,支持JinJa等非官方模板引擎,灵活度不高
3:自带ORM使Django和关系型数据库耦合度过高,如果要使用非关系型数据库,需要使用第三方库
4:自带数据库管理app
5:成熟、稳定、开发效率高、相对于Flask,Django的整体封闭性比较好,适合做企业级网站的开发
6:python web框架的先驱,第三方库丰富
7:上手容易,开发文档详细、完善、资料丰富

CBV与FBV

# FBV (function base views)
""" 在视图里使用函数处理请求,基本简单示例 """
path(r'longin/', views.login) # 路由

def login(request): # 视图函数
return HTTPResponse("ok")


# CBV (class base views)
""" 就是在视图里使用类处理请求,基本简单示例 """
path(r'longin/', Login.as_view()) # 路由

class Login(View):
def get(self, request):
return HTTPResponse("ok") # 拓展
""" CBV内部封装的dispatch方法,通过反射进行不同请求方法的分发,本质和FBV是一样的 """

ORM

# ORM (Object Relational Mapping) 对象关系映射
""" 通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样我们在使用编程语言对数据库进行操作的时候可以直接使用编程语言的对象模型进行操作就可以了,而不用直接使用sql语言 """

# 优点
1,使我们构造数据结构变得简单易行
2,完全不需要考虑复杂的sql语句,开发效率高
# 缺点
1,自动化生成sql,牺牲一定的原生sql性能 # 拓展
1,Django自带的Model
2,有名的SQLAlchemy
3,了解一点各自的语句,关键词

DRF

# Django REST framework 框架是一个用于构建Web API 的强大而又灵活的工具
1: 提供了定义序列化器Serializer的方法,可以快速根据 Django ORM 或者其它库自动序列化/反序列化;
2: 提供了丰富的类视图、Mixin扩展类,简化视图的编写;
3: 丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要;
4: 直观的 API web 界面 ,可扩展性,插件丰富 # DRF组件
1: 认证Authentication
2: 权限Permissions
3: 限流Throttling
4: 过排Filtering
5: 分页Pagination
6: 接口文档coreapi

JWT

# Json Web Token 验证

1: 是什么
2: 优缺点
3: 原理

  

Celery

# Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度

1: 适用场景
异步任务:将耗时操作任务提交给Celery去异步执行,比如发送短信/邮件、消息推送、音视频处理等
定时任务:定时执行某件事情,比如每天数据统计等
2: 工作原理

RabbitMQ

git

git init                       # 当前目录下创建空仓库

配置用户
git config --global user.name 名字
git config --global user.email 邮箱

git status # 查看文件夹文件状态,红色未管理
git add . # 管理所有文件,绿色
git commit -m '第一版本' # 生成版本
git log # 查看版本commit
git reset --hard 版本号 # 回滚版本
git reflog # 记录切换版本记录
git branch 分支名 # 创建分支
git checkout 分支名 # 切换分支
git branch -a # 查看所有分支
git merge 分支名 # 合并分支到master
git branch -d 分支名 # 删除分支
git clong # 克隆
git pull origin master # 将远程master仓库与当前master更新
git push origin dev:master # 将本地的dev分支推送到gitee的 master 主分支上

  

数据库

Mysql
Redis
Mongo

  

算法与数据结构

python后端开发面试总结的更多相关文章

  1. 转载关于Python Web后端开发面试心得

    先介绍下我的情况:通信背景,工作一年多不到两年.之前一直在做C++的MFC软件界面开发工作.公司为某不景气的国企研究所.(喏,我的工作经验很水:1是方向不对:2是行业有偏差).然后目前是在寻找Pyth ...

  2. Python后端开发要求

    关于Python后端开发要求 一.对Python有兴趣,熟悉Python(标准库) 最好阅读过源码 了解Python的优化(熟悉pypy更佳) 二.至少至少一门语言(不说"精通") ...

  3. 杂记:腾讯暑期实习 Web 后端开发面试经历

    今天面试(一面)腾讯暑期实习 Web 后端开发,一言难尽. 第一部分,常规的自我介绍. 介绍完,面试官问我对人工智能有什么理解?深度学习和机器学习的区别?对调参有什么见解?语音识别中怎样运用了机器学习 ...

  4. python后端开发工程师考证试题

    python开发工程师考证试题 问答题链接 python开发工程师考证试题 选择题 题目 关于 Python 程序格式框架的描述,以下选项中错误的是 ( A ) A: Python 语言不采用严格的“ ...

  5. python测试开发面试之深浅拷贝

    先来道题热热身 a = ('a', 'b','c') c = copy.copy(a) d = copy.deepcopy(a) if c == d: print("c和d的值相等" ...

  6. 2020 python web开发就业要求锦集

    郑州 Python程序员 河南三融云合信息技术有限公司 6-8k·12薪 7个工作日内反馈 郑州 1个月前 本科及以上2年以上语言不限年龄不限 微信扫码分享 收藏 Python程序员 河南三融云合信息 ...

  7. (java web后端方向)如何让你的简历为你争取到更多的面试机会,内容来自java web轻量级开发面试教程

    我们在做培训时,会发现一个不合理的情况,一些程序员能力不错,在公司里也是技术牛人,但发出去的简历往往会石沉大海,没有回复.对于刚毕业的大学生或工作年限在2年之内的程序员,这个情况会更严重. 这种情况下 ...

  8. 最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备

    在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...

  9. 【Python全栈-后端开发】嵩天老师-Django

    嵩天老师-Python云端系统开发入门教程(Django) 视频地址:https://www.bilibili.com/video/av19801429 课前知识储备: 一.课程介绍: 分久必合.合久 ...

随机推荐

  1. 【软件测试部署基础】webpack的认识

    1. 什么是webpack webpack 是一个 JavaScript 应用程序的静态模块打包器(module bundler). 它做的事情就是分析你的项目结构,找到JavaScript模块以及其 ...

  2. Ubuntu 16.04 系统基础开发环境搭建

    1.安装 Git sudo apt-get update sudo apt-get install git Do you want to continue? [Y/n] Y git --version ...

  3. Panda 交易所快报 央行数字货币测试进入C端流量入口

    近年来,央行数字货币的研发进展备受市场关注.近期,Panda 交易所注意,央行数字货币研究所与滴滴出行已达成战略合作协议,共同研究探索数字人民币在智慧出行领域的场景创新和应用.此外,Panda 交易所 ...

  4. uni-app中使用sass

    uni-app在创建时,工程目录下会有个uni.scss文件,我们可以直接在里面定制化scss变量. 全局scss中的坑: 1.如果要引用全局外部scss文件,可以考虑在uni.scss这个系统全局s ...

  5. 【面试专栏】JAVA CAS(Conmpare And Swap)原理

    1. CAS简介   在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子指令.它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置的内容修改为新 ...

  6. Redis安装教程及安装报错解决方案(大佬勿喷)

    安装环境:CentOS7 Redis版本:redis-6.0.9.tar.gz 依次按照以下顺序执行: 1. [root@localhost ~]# wget https://download.red ...

  7. [OI笔记]三种逆元的求法

    其实这篇博客只是搬运一下我之前(大概是NOIP那会)写在word里的笔记- 下面直接复制原话,题目是洛谷上求逆元的模板题:https://www.luogu.org/problemnew/show/P ...

  8. Javascript之Firefox与IE

    IE其实相对来讲并不是规范的遵循者,错怪firefox了. 2020注:IE看来要退出市场了,这些也逐渐成为历史了.:) 1firefox不支持iframe.document, 而IE支持,所以对fi ...

  9. pandas的学习8-pandas-plot出图

    import pandas as pd import numpy as np import matplotlib.pyplot as plt ''' 这次我们讲如何将数据可视化. 首先import我们 ...

  10. RHCE <复习RHSCA>

    什么是shell? shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序,你在提示符下输入的每个命令都由shell先解释然后传给Linux内核. bash 是大多数 ...