Python面试题分享(十二)

Django与Git核心概念

41. 查询集两大特性?惰性执行?

1. 惰性执行

创建查询集不会访问数据库,直到调用数据时,才会访问数据库,调用数据的情况包括迭代、序列化、与if

2. 缓存

使用同一个查询集,第一次使用时会发生数据库的查询,然后Django会把结果缓存下来,再次使用这个查询

集时会使用缓存的数据,减少了数据库的查询次数。

42. git 常用命令?

git clone 克隆指定仓库

git status 查看当前仓库状态

git diffff 比较版本的区别

git log 查看 git 操作日志

git reset 回溯历史版本

git add 将文件添加到暂存区

git commit 将文件提交到服务器

git checkout 切换到指定分支

git rm 删除指定文件

git merge 合并分支

43. 电商网站库存问题

 

一般团购,秒杀,特价之类的活动,这样会使访问量激增,很多人抢购一个商品,作为活动商品, 库存肯定是很有

限的。控制库存问题,数据库的事务功能是控制库存超卖的有效方式。

1. 在秒杀的情况下,肯定不能如此频率的去读写数据库,严重影响性能问题,必须使用缓存,将需 要秒杀的商

品放入缓存中,并使用锁来处理并发情况,先将商品数量增减(加锁、解析)后在进行其他 方面的处理,处

理失败再将数据递增(加锁、解析),否则表示交易成功。

2. 这个肯定不能直接操作数据库的,会挂的。直接读库写库对数据库压力太大了,要用到缓存。

3. 首先,多用户并发修改同一条记录时,肯定是后提交的用户将覆盖掉前者提交的结果了。这个直 接可以使用

加乐观锁的机制去解决高并发的问题。

44. HttpRequest HttpResponse 是什么?干嘛用的?

HttpRequest django 接受用户发送多来的请求报文后,将报文封装到 HttpRequest 对象中去。

HttpResponse 返回的是一个应答的数据报文。render 内部已经封装好了 HttpResponse

45. 什么是反向解析?

使用场景:模板中的超链接,视图中的重定向 使用:在定义 url 时为 include 定义 namespace 属性,为 url 定义

name 属性 在模板中使用 url 标签:{% url 'namespace_value:name_value'%} 在视图中使用 reverse 函数:

redirect(reverse('namespce_value:name_value’)) 根据正则表达式动态生成地址,减轻后期维护成本。 注意反向

解析传参数,主要是在我们的反向解析的规则后面天界了两个参数,两个参数之间使用空格隔 开:位置参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值