面试
文章平均质量分 80
备战面试的经验.....................................................
RStanwen
这个作者很懒,什么都没留下…
展开
-
华为OD面试
华为OD面试原创 2022-10-22 15:38:19 · 3053 阅读 · 2 评论 -
HTTP/接口幂等性与解决方案
幂等性一:什么是幂等性:二:数据访问的幂等性:2.1:增加操作:2.2:删除操作:2.3:更新操作:三:幂等性的解决方案:3.1:前端幂等性的实现:3.2: 后端幂等性的实现:一:什么是幂等性:1:方法调用一次和调用多次得到的结果是一样的,则称为方法是幂等的。2:HTTP幂等性:资源请求一次,或者多次产生的副作用是相同的。例如: 我们发送1次get请求,获取一个ok,与发送100次请求,获取这个ok,效果是一样的,都是得到一个ok,中间没有给服务器带来任何压力,也没有修改数据库,因此我们称原创 2021-04-18 10:33:24 · 1024 阅读 · 0 评论 -
python后端开发面试题
目录一:简述你对Restful风格的理解:1: 协议 :2:域名:3:版本:4:路径:5:请求方式(6种):6: 请求参数:7: 状态码:二:三:四:一:简述你对Restful风格的理解:1: 协议 :http:https:2:域名:1:将api部署在专用域名下:http://api.example.com2: 将api部署在主域名下: http://www.example.com/api/3:版本:版本号放在url中:http://www.example.com/api/1.0原创 2021-02-23 09:40:26 · 5917 阅读 · 1 评论 -
面试----进程,线程,协程
一: 什么是进程,线程,协程?答:1:进程是操作系统进行资源分配的基本单位。2:线程是CPU调度的基本单位。3:协程是开发者自己调度的基本单位。4:线程依附于进程,协程又叫微线程。二:进程与线程的区别?全局变量:进程不能共享全局变量线程可以共享全局变量,出现资源竞争问题,可以通过互斥锁和线程同步解决。开销上:创建进程的开销比创建线程的开销大概念上:进程是操作系统资源分配的单位线程是cpu调度的单位关系上:线程依附进程存在,不能单独存在稳定性上多原创 2021-02-19 23:51:19 · 559 阅读 · 0 评论 -
Redis数据库面试
目录一: Redis常用的命令:二: Redis中的事务:2.1: Redis事务与Mysql事务的区别?三: Redis中的乐观锁和悲观锁:3.1: 乐观锁:3.2:悲观锁:四:Redis中的管道五: Redis主从:5.1:哨兵机制:5.2: 流言协议:5.3: 投票协议:5.4:Redis主从复制的原理:六: Redis集群:6.1: 集群和单机的区别?6.2:集群的特点:七: Redis缓存:7.1: 如果让你搭建缓存架构,你会如何搭建?7.2: 缓存过期:7.3: 缓存淘汰:7.4: 缓存更新:7原创 2021-02-18 10:54:14 · 418 阅读 · 0 评论 -
Nginx+uWSGI部署
目录一:Nginx + uWSGI部署框架1.1:WSGI接口:1.2:uWSGI 服务器:1.3: uwsgi协议:二: uwsgi2.1: uwsgi的安装:2.2:uwsgi的配置:2.3:启动和停止三:uwsgi和Nginx如何关联3.1: 修改uwsgi的配置文件:3.2: 修改Nginx的配置文件:四:Nginx 配置静态文件4.1: 修改Nginx的配置文件:4.2: 将项目用到的所有静态文件指定到某个目录下:五:Nginx转交请求给其他地址:5.1: Nginx增加配置项:六: Nginx实原创 2021-02-16 16:09:56 · 11100 阅读 · 1 评论 -
MYSQL索引的底层原理
目录一:B + 树二:索引的原理:1: 操作系统的页的概念:2:innodb中页的概念:3:mysql数据是在页中如何存储的呢?4:如果这个页存储的数据满了怎么办?5:如果这个页又有很多呢?则页和页之间又是个长链表,此时可能又很慢了。6: 为什么指针是双向的?二:InnoDB中联合索引生成的过程1:建立联合索引的一种思路:2:真正的联合索引的建立规则:3:最左前缀原则:一:B + 树1: 叶子结点是有指针的。2:叶子结点是有所有元素的,非叶子结点和叶子结点元素有冗余。3:叶子结点可以存储多个元素原创 2021-02-16 15:46:15 · 531 阅读 · 1 评论 -
MYSQL数据库面试题
目录一:数据库事务:1:事务的四大特征:2:脏读,幻读,不可重复读:3: 事务的隔离级别:4:事务在每个隔离级别下存在的问题:4.1:读未提交解决:脏写问题:4.2:读已提交解决:脏读问题:4.3:可重复读隔离级别解决:不可重复读问题:4.4:串行化解决:幻读问题:二:索引:1:索引是个啥?为什么要建立索引?2:MYSQL索引的底层如何实现的?3:为什么要用B+树,B树,哈希,红黑树可以吗?4: 联合索引是如何实现的?最左原则是什么?5: 索引有哪些类型?三: MYSQL数据库的引擎:1:你工作中用的Mys原创 2021-02-16 15:16:31 · 326 阅读 · 1 评论 -
python笔试题(一)
1:一行代码实现1-100的和:print(sum(range(1, 101)))2:列出5个python的标准库:os,sys,re,math,datetime3:python实现列表去重的方法:list1 = [1, 2, 1, 2]print(list(set(list1)))4:python的内置数据类型,以及哪些是可变类型?哪些是不可变类型?:6种:数字,字符串,列表,元祖,字典,集合可变类型:列表,字典,集合不可变类型:数字,字符串,元祖5:with方法打开处理文件原创 2020-12-16 15:59:30 · 3611 阅读 · 1 评论 -
GIL锁的问题
目录一:并发与并行:二:进程与线程:三:GIL锁的介绍:1:引入GIL锁的原因?四:面试问题:1:GIL锁优点和缺点?2:有了GIL锁是否意味着线程就安全了?3:互斥锁和GIL锁的区别?4:如何改善GIL锁带来的问题?5:GIL锁导致多核多线程比单核多线程更差?一:并发与并行:1:CPU交替处理多个任务,还是有两个程序,但是只有一个CPU,会交替处理这两个程序,而不是同时执行,只不过因为CPU执行的速度过快,而会使得人们感到是在“同时”执行,执行的先后取决于各个程序对于时间片资源的争夺。2:多个CP原创 2020-12-02 20:53:45 · 443 阅读 · 3 评论 -
MYSQL分布式设计
目录一:MYSQL分布式1.1:复制:1.2:分片:二:Redis单机:三:Redis分布式:一:MYSQL分布式1.1:复制:复制的作用:1:对数据进行备份,实现高可用。2:通过读写分离, 提高吞吐量, 实现高性能。复制的原理:1:主服务器将写入/删除/更新操作,存入主服务器二进制文件。2:从服务器上的IO线程1.2:分片:二:Redis单机:三:Redis分布式:...原创 2020-11-13 17:29:06 · 2674 阅读 · 1 评论 -
解决高并发问题的思路
目录一:页面静态化:二:搭建Redis集群:三:CDN加速:四:消息队列:五:分布式开发:六:MYSQL数据库读写分离:七:数据库的水平分表和垂直分表:一:页面静态化:答:正常流程是,用户访问首页信息,服务器先返回浏览器模板页面,然后浏览器再次动态请求服务器数据库中内容,浏览器得到内容后再填充页面。但是对于像网站首页,用户访问量大,并且不易修改的网页,我们可以采用异步的方式,让另外一个celery每隔1个小时生成重新生成一次网页,一个小时内,后端直接返回给前端渲染好的页面,而不是先返回模板页面,再要求原创 2020-11-10 16:40:42 · 418 阅读 · 0 评论 -
分布式ID
目录方案一:UUID:通用唯一标识码:方案二:数据库主键自增:方案三:Redis:方案四:雪花算法:4.1:了解64比特:4.2:时钟回拨问题:4.2:雪花算法的python版本:方案一:UUID:通用唯一标识码:1: UUID包括:网卡MAC地址、时间戳、名字空间(Namespace)、随机或伪随机数、时序等元素。2:UUID是由128位二进制组成,一般转换成十六进制,然后用String表示。3: UUID的优点::3.1:通过本地生成,没有经过网络I/O,性能较快。3.2:无序,无法预测他的生原创 2020-11-10 14:07:17 · 327 阅读 · 0 评论 -
超卖问题和高并发问题
目录一:抢订单环节带来的问题二:出现高并发和超卖的原因?三:解决方案:3.1:数据迁移:3.2:队列:3.3:Mysql二段式提交+redis原子自增:3.4:服务器解决性能瓶颈问题一:抢订单环节带来的问题高并发:大量用户同一时间抢购,网站瞬时访问量剧增,导致服务器压力大 。超卖问题:成功下订单买到商品的人数,超过数据库最大库存数量。二:出现高并发和超卖的原因?1:首先MySQL自身对于高并发的处理性能就会出现问题,一般来说,MySQL的处理性能会随着并发thread上升而上升,但是到了一定原创 2020-11-09 16:12:51 · 1053 阅读 · 0 评论 -
JWT单点登录
目录)一:解释刷新tocken机制?二:JWT登录的优点?三:如何防止tocken被劫持?一:解释刷新tocken机制?答:当用户第一次登录时,认证用户后,返回给用户两个tocken,一个专门用于登录的登录tocken,通常设置两个小时。另外一个用于刷新tocken,通常设置14天。当在两个小时内,验证用户的登录tocken就可以登录,两个小时过后,用户的登录tocken失效,用户携带刷新tocken来到后端,后端返回给前端一个响应,前端看到这个响应后,请求刷新tocken,后端此时设置新的tocke原创 2020-11-08 11:52:19 · 1789 阅读 · 1 评论 -
计算机网络
目录一:TCP报文结构:二:TCP三次握手流程:三:TCP四次挥手流程:四:面试官的问题:1:TCP为什么三次握手?两次可以吗?2:为什么客户端最后还要等待2MSL3:为什么建立连接是三次握手,关闭连接确是四次挥手呢?4:如果已经建立了连接,但是客户端突然出现故障了怎么办?一:TCP报文结构:1:源端口和目的端口:记录通讯双方的端口号。2:序号位:字节序号,TCP连接中传送的字节流中的每个字节都按顺序编号。案例:一段报文的序号字段值是 101 ,而携带的数据共有100字段,显然下一个报文段(如果还有原创 2020-11-05 08:43:31 · 378 阅读 · 0 评论 -
python设计模式
一:单例设计模式:原创 2020-11-01 18:27:11 · 341 阅读 · 0 评论 -
python3大器----装饰器,迭代器,生成器
目录一:闭包:1:闭包的作用和定义:2:闭包的形成条件:3:闭包的经典案例:4:闭包的原理:5: 闭包中使用外部函数变量:二:装饰器:1:装饰器的定义和作用:2:装饰器经典案例分析:3: 装饰器的两种写法:4:通用装饰器的写法:5:多个装饰器的执行流程:6:带参装饰器:7:类装饰器:8:functools的使用:一:闭包:1:闭包的作用和定义:作用:保存外部函数内的变量,不会随着外部函数调用完而销毁。定义:在函数嵌套的前提下,内部函数使用了外部函数的变量,外部函数返回了内部函数的对象,我们把这个使原创 2020-10-31 21:20:48 · 762 阅读 · 0 评论