备战python测开面试---持续更新

python基础

基础数据类型

python中的数据类型:数字(number),字符串(string),元组(tuple),集合(set),列表(list),字典(dict)

可变类数据类型:集合(set),列表(list),字典(dict)*
不可变数据类型:数字(Number),字符串(string),元组(tuple)
讲解:可变的数据类型是在原内存地址进行的变化,不可变是创建新的内存地址
参考大佬文档:https://blog.youkuaiyun.com/kingoflongevity/article/details/107347852

数字(number):
常用的内置函数(只写常用的几个,太多了记不住,随用随查)

abs(x)	返回数字的绝对值,如abs(-10) 返回 10
ceil(x)	返回数字的上入整数,如math.ceil(4.1) 返回 5
floor(x) 返回数字的下舍整数,如math.floor(4.9)返回 4
round() 方法返回浮点数 x 的四舍五入值  round(x,y)) x:值 y:小数位数
例子:
>>> import math
>>> math.ceil(4.1) # 向上取整
5
>>> math.floor(4.1) # 向下取整
4
>>> round(1.1111,2) # 四舍五入
1.11

max() 返回最大值
min() 返回最小值

字符串(string)

# 索引值以 0 为开始值,-1 为从末尾的开始位置。
str.count("检索的内容") # 返回字符串里某个字符出现的次数
str.join(sequence) # 字符串拼接  str+str的场景推荐使用join

# str 转 list
# 方法1
str.split("分隔符,也可为空")
# 方法2 
list(str)

元组(tuple)

# 元组与列表类似,不同之处在于 元组的元素不能修改。 
# 元组使用小括号 ( ),列表使用方括号 [ ]
# 谨记:元组只能拼接成新的元组不能在原来的元组上进行修改
tup3 = tup1 + tup2

# 取值和list一样,通过下标取值

list(tuple) # 把元祖转成list

列表(list)
列表索引从 0 开始,第二个索引是 1

len(list)  # 返回list的个数
list.append(obj)  # 在列表末尾添加新的元素
sort()  # 对列表进行排序
list.index(x[, start[, end]]) # 从列表中找出某个值第一个匹配项的索引位置
list.pop(下标) # 通过下标进行删除元素,返回删除的内容

# list 转 str   ''.join(list)
>>> a = ['1','2','3']
>>> ''.join(a)
'123'

集合(set)
集合(set)是一个无序的不重复元素序列

# 创建格式:
parame = {value01,value02,...}
# 或
set(value)

set.add()	#为集合添加元素
# 例子: 
s1 = {'1','2','3'}
s1.add('4')
{'2', '3', '4', '1'}

set.pop() # 删除元素,同list使用方式一致


字典(dict)

2、进阶

3、进程

4、线程

5、协程

6、三方库的使用

Django

常用命令
创建项目		django-admin startproject mysite
创建app		python manage.py startapp app01
启动项目		python manage.py runserver
修改端口号	python manage.py runserver 127.0.0.1:新端口号
生成迁移文件	python manage.py makemigrations
同步数据库	python manage.py migrate
收集静态文件	python manage.py collectstatic
MVC和MTV区别

MTV设计模式
本质上与MVC模式没有什么差别,也是各组件之间为了保持松耦合关系,只是定义上有些许不同

**Model(模型):**负责业务对象与数据库的对象(ORM)

**Template(模版):**负责如何把页面展示给用户

**View(视图):**负责业务逻辑,并在适当的时候调用Model和Template

注意:Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template
在这里插入图片描述

中间件

process_request : 请求进来时,权限认证
process_view : 路由匹配之后,能够得到视图函数
process_exception : 异常时执行
process_template_responseprocess : 模板渲染时执行
process_response : 请求有响应时执行

JS

Vue

算法

算法:1到100无序无重复的数组,其中随机替换一个数为-1,这个是前提。然后请输出被-1替换的那个值和它的下标。

算法 二叉树 和图解题

项目架构
消息队列
自动化搭建流程
项目中流程哪里可以优化
25匹马,5个跑道,没有计时器,找出三个最快的,最少需要几次
在这里插入图片描述

springboot的标签
一个数组,实现奇数放前面偶数放后面,代码实现

面试题

1、redis和mysql优缺点
参考大佬:https://blog.youkuaiyun.com/qq_41606973/article/details/86503815
Redis 和 Mysql 的区别:

    Mysql 是关系型数据库, 持久化存储, 存放在磁盘里, 功能强大. 检索的话, 会涉及到一定 IO , 数据访问也就慢;
    Redis  是内存数据库,也是非关系型数据库 数据保存在内存中, 速度快;

2、Nginx的作用

——反向代理
——负载均衡
——HTTP服务器(动静分离)
——正向代理
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜里亚批

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值