- 博客(15)
- 收藏
- 关注
原创 python基础题
import functools from decimal import Decimal 字符串反转 import time a = 'hello' b= functools.reduce(lambda x,y:y+x,a) print(b) print(type(b)) c = ''.join(list(a)[::-1]) print(c) str_1='我爱你中国' char_1='中国...
2019-05-08 10:23:41
234
原创 同一账号多处登录问题
思路 用户每次登录时生存一个随机字符串保存在服务器和客户端,用户每次访问验证这个字符串,不通过时则要求用户下线, 如果有两个用户先后分别登录同一个帐号,则后登录的那位产生的字符串必然会覆盖先登录的那位, 然后先登录的那位访问时字符串验证不通过,则要求其重新登录,实现一个帐号只能同时登录一个地方。 ...
2019-05-07 19:57:57
1933
原创 经典逻辑编程题(本文用python实现)
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。 思路:从左下角元素往上查找,右边元素是比这个元素大,上边是的元素比这个元素小。于是,target比这个元素小就往上找,比这个元素大就往右找。如果出了边界,则说明二维数组中不存在target元素。 def f...
2019-04-19 18:43:44
1502
1
原创 web处理高并发措施
高并发处理的思路,从几个方面进行解决 先来了解几个名词 QPS: 每秒处理的请求数量! 响应时间: 处理一个请求需要的时间! 吞吐量: 单位时间内的处理请求数量! 最大并发数: 同一时间能支持的最大请求数! 1、流量处理 防盗链处理(可以在nginx.conf配置,做加密处理,或者请求域名限制) 盗链概念: 我们常见的小站盗用大站的图片、视频等信息资源,来减轻自己服务器的负担的现象成为盗链;因为真...
2019-04-12 12:15:31
2292
原创 一片文章概括大部分python面试基础常考题(部分有详解)
本片文章部分参考地址:https://segmentfault.com/a/1190000018737045 python是动态解释性的强类型定义语言 强类型:不允许不同类型相加。例如:整形+字符串会报类型错误。 动态:不使用显示数据类型声明,且确定一个变量的类型是在第一次给它赋值的时候。 脚本语言:一般是解释性语言,运行代码只需要一个解释器,不需要编辑。 Python 面向对象OOP 魔法方法:...
2019-04-11 20:13:26
872
转载 python的单例模式
单例模式是日常应用中最广泛的模式了,其目的就是令到单个进程中只存在一个类的实例,从而可以实现数据的共享,节省系统开销,防止io阻塞等等 但是在多进程的应用中,单例模式就实现不了了,例如一些web应用,django,这些,因为会启动多条进程来监听http请求,这样的会通过单例模式是实现不了数据共享的,也就是实现不了单例模式的目的了,这时需要用进程间通信方法来实现数据共享,当然也可以尝试使用redis...
2019-04-09 11:16:01
130
转载 数据库优化、数据库基础等常用知识点总结
数据库优化 建表优化 1)数据库范式 第一范式(1NF):强调的是列的原子性,即列不能够再分成其他几列。 如电话列可进行拆分—家庭电话、公司电话 第二范式(2NF):首先是 1NF,另外包含两部分内容,一是表必须有主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。 第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。 比如Stu...
2019-04-06 20:43:04
555
原创 写SQL语句需要注意的点
连接 INNER JOIN 两边表同时有对应的数据,即任何一边缺失数据就不显示。 LEFT JOIN 会读取左边数据表的全部数据,即便右边表无对应数据。 RIGHT JOIN 会读取右边数据表的全部数据,即便左边表无对应数据。 连接时的on和where 注意on与where有什么区别,两个表连接时用on,在使用left jion时,on和where条件的区别如下: on条件是在生成临时表时...
2019-04-06 17:44:07
679
原创 python实现搜索之二分查找
搜索 搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找 二分法查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键...
2019-04-06 14:45:23
233
原创 shell
shell概念 shell的定义: 在计算机科学中,Shell就是一个命令解释器。一句话,shell就是在操作系统和应用程序之间的一个命令翻译工具。 我们常说的shell是命令行式的shell,在工作中常用的是linux系统下的bash。echo $SHELL查看shell类型 shell脚本 shell使用方式 手工方式:手工敲击键盘,在shell的命令行输入命令,按Enter后,执行通过键盘...
2019-04-04 11:49:23
873
原创 SHA算法
回顾散列算法 我的上篇文章:学习散列表 在上篇文章杂货铺的示例中,我们希望散列函数的结果是均匀分布的。散列函数接受一个字符串,并返回一 个索引号。 安全散列算法(secure hash algorithm, SHA)函数 给定一个字符串, SHA返回其散列值。比如一个hello,sha返回2cf24bd…很长的值 对于每个不同的字符串, SHA生成的散列值都不同。 比较文件内容是否相同 你可使用S...
2019-04-03 16:03:54
792
原创 学习散列表
回顾一下简单查找和二分查找 杂货店商品对应的价格举例: 简单查找就是拿出商品价目本,这个价目本并不是有序的,顾客问苹果多少钱,需要一个一个去查找某一个商品的价格,需要O(n)时间。 同样是一个价目本,但是按商品名称字母排序的,这样需要的时候更短为O(logn)。 但这样我还是觉得查找太慢,怎么办,这时候需要一名能记住所有商品价格的员工,这样一问评价价格便知,只需要O(1)。 从数据结构的角度来看...
2019-04-03 15:30:36
215
原创 队列和栈
栈 一张图可以简单的说明 为了达到时间复杂度最低:选择的是python列表实现栈,而列表是顺序表 入栈push的时候选择在列表的尾部进行添加元素,出栈在列表尾部弹出 class Stack(object): """栈""" def __init__(self): self.items = [] def is_empty(self): "...
2019-04-03 13:55:08
321
原创 学习递归
算法之递归 递归思想 递归就是函数自己调用自己,会使代码逻辑很清晰,但是Stack Overflow上有说的一句话:“如果使用循环,程序的性能可能更高;如果使用递归,程序可能更容易理解。如何选择要看什么对你来说更重要。 很多排序算法都用到了递归,例如快速排序,归并排序等,具体排序算法代码参考我之前写的博客python实现常见排序算法 基线条件和递归条件 基线条件 递归必须有一个终止条件,避免形成无...
2019-04-02 23:20:55
374
原创 python实现常见排序算法
python递归实现几种排序算法 快速排序 原理:取出第一个元素把它放到序列的中间某一个正确位置,以它进行分割成左边和右边,再分别对左边和右边进行取元素分割(递归) 代码 def quicksort ...
2019-04-01 21:57:37
262
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅