一. http请求
# rest ful设计风格 # GET 一般用来获取数据, 传数据的方式一般是Url地址后面加?就是params参数 # POST 一般用来创建数据, 一般以json的方式传输, 其他form表单, params等等也可以 # PUT 一般用来修改 # DELETE 一般用来删除 # OPTIONS 前后端分离的情况下, 每次请求之前都会先发这个请求确认
二. GIT workflow 只有一个master分支, 所有提交都直接添加到master分支, 不好管理。
# 之前的工作流是,克隆git clone , git checkout -b mybranch 创建本地个人分支, 修改代码完成后git add , git commit # git push mybranch吧这个本地分支xxx到github上的个人的分支 # 由在github上由管理员进行pull request操作, 当github上的master更新后 # 我会切换到本地master分支,删除本地的mybranch分支, 再执行git pull更新本地的主分支
三. Django使用的是MTV模型
# 模型, 模板, 视图 # 请求到来request -> 到视图view -> 数据库模型获取数据model -> 返回到视图view -> 模板渲染template -> 响应response # 1. 前端的页面存在的文本框假设为form表单提交数据, 当点击提交时 # 2. 请求通过路由,和method请求类型,匹配到对应的视图函数 # 3. 视图通过sum = request.POST.get('a') + request.POST.get('a')获取form表单数据 # 4. 使用render(request, 'xxxx.html', {'sum': sum}) # 5. django模板里使用 {{ sum }} 获取上下渲染, 渲染完成后响应给前端浏览器
四. 数据通讯
如何实现同一台电脑同一个浏览器多个标签之间的通讯?
# 1. 使用websocket协议通信, 浏览器连接上服务器, 服务端收到标签页1数据, 把数据分发给其他标签, 实现聊天功能 # 2. 前端使用localStorage把数据保存到浏览器, 如token
如何实现同一台电脑上的不同浏览器之间的通讯?
# 1. websocket协议 # 2. 一个窗口更新localStorage,另一个窗口监听window对象的storage(需要同源, 协议,域名,端口相同)
如何实现手机浏览器和电脑浏览器之间的通讯?
# 1. websocket协议
五. async/await 一般用来解决什么问题?用你认为最简洁的方式描述一下。
# 协程的时候使用 asyncio.run 就会进入async模式, 就会由enevt loop大脑来控制程序, 大脑会把async def开头变成task任务 # 由event loop大脑决定执行哪个task # await是把task控制权交给event loop大脑
六 请写一段代码演示传值调用和传址调用的区别?
不可变对象
def func1(data1): data1 = 100 print(f'func1调用:{data1}')
data1 = 0 print(f'fucn1调用前:{data1}') # fucn1调用前:0 func1(data1) print(f'func1调用后:{data1}') # func1调用后:0
可变对象
def func2(data2): data2.append(100) print(f'func2调用:{data2}') data2 = [] print(f'func2调用前:{data2}') # func2调用前:[100] func2(data2) print(f'func2调用后:{data2}') # func2调用后:[100]
七 假设有两个布尔条件,分别是 A 和 B,请写出 一种 A && B (或者 A and B) 的等价形式。
001. 在Python中, 有关字符串的运算结果
strs = "I like python and java"
one = strs.find("n")
two = strs.rfind("n")
002. python字符串
strs = 'abacabbba'
print(strs.strip("ab")) # 去除
003. python字典
tmp = dict.formkeys(['a', 'b'], 4)
print(p) # {'a': 4, 'b': 4}
python的数据类型

python的 type 和isinstance区别
