Python面试笔记
总结一些Python面试被问到一些面试题和网上优秀的面试题方便自己查阅
推荐延伸阅读:关于Python的面试题
1. 为什么会出现跨域问题?跨域问题来源于浏览器的同源策略,即只有 协议+主机名+端口号 相同(如果存在的情况)则允许相互访问。
也就是说JavaScript只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。跨域问题是针对JavaScript和Ajax的,html本身没有跨域问
...
一些有趣的知识点
这篇文章主要总结一些看到的一些实用知识点。
使用 Python 生成 url 短链接:
使用 Python 生成 url 短链接
短网址(short URL)系统的原理及其实现
短网址服务系统如何设计
feed流的实现:
微博和知乎中的 feed 流是如何实现的?
什么是流计算:
什么是流计算?现在有哪些比较成熟的流计算开源产品?
缓存淘汰算法:
两种常见的缓存淘汰算法LFU&LRU
MySQL数据库架构--SQL查询优化
上篇我们学习了如何对索引进行了优化,知道了为什么不能随便创建索引以及如何利用索引进行高效查询。
这节我们要学习查询优化,索引优化,库表结构优化中给的查询优化。
获取有性能问题SQL的三种方法要想对SQL查询进行优化,我们要首先知道哪些SQL是有问题的:
通过用户反馈获取存在性能问题的SQL
通过慢查询日志获取存在性能问题的SQL
实时获取存在性能问题的SQL
通过慢查询日志进行查询优化慢查询日
...
MySQL数据库架构--数据库索引优化
索引的作用是告诉存储引擎快速找到我们需要的数据
两个极端:除了主键没有任何索引,给每一个列都建立一个索引。太多太少的索引都会对数据库的性能带来不好的影响。只有在正确的列上建立正确的索引,才能增强数据库的查询能力。
索引是在mysql存储引擎层实现的,而不是在mysql服务器层实现的,不同的存储引擎的索引方式是不同的。
Btree索引和Hash索引B-tree索引
B-tree索引是比较常见的,通常
...
MySQL数据库架构--基准测试
什么是基准测试?我们看下基准测试的定义:
基准测试是一种测量和评估软件性能指标的活动,用于建立某个时刻的性能基准,以便当系统发生软硬件变化时重新进行基准测试,以评估变化对性能的影响。
基准测试和压力测试的区别:
基准测试:
直接、简单、易于比较,用于评估服务器的处理能力可以不关心业务逻辑,所使用的查询和业务的真实性和环境没关系
压力测试:
对真实业务数据进行测试,获取系统所能承受的真实压力需要针对
...
Python使用小技巧
如何将字典类型的字符串转为字典我们知道一些双属性的集合或列表等能够转为字典,要是一个字典类型的字符串怎么转为字典呢?
123456789101112131415In [36]: import astIn [37]: user = '{"name" : "john", "gender" : "male", "age": 28}'In [38]: user_dict = ast.l
...
MySQL数据库架构--什么影响了MySQL性能-最终篇
MySQL服务器参数介绍加载配置最终起作用的是后面的配置文件覆盖前面的。
Mysql获取配置信息路径
我们可以通过命令行指定配置
1mysqld_safe --datadir=/data/sql_data
我们看下默认配置文件的访问顺序
123[root@hongshaorou ~]# mysqld --help --verbose | grep -A 1 'Default options'
...
MySQL数据库架构--什么影响了MySQL性能-下
MySQL存储引擎之CSVCSV存储引擎可以将csv文件作为mysql的表进行处理。存储格式就是普通的csv文件。
如果把数据存储在myisam和Innodb中,存储的文件是不能直接查看的,这两种存储引擎都是以二进制文件存储的,而csv是以文本方式存储的,csv不支持索引的,查找的时候要进行全表扫描。
数据以文本方式存储在文件中(Innodb则是二进制),会有三类文件生成
123.CSV文件存储表
...
MySQL数据库架构--什么影响了MySQL性能-中
上篇我们学习了一些服务器硬件和系统配置参数对MySQL性能的影响,这篇我们看下MySQL本身对性能的影响。
MySQL体系架构mysql与众不同的就是这种插件式存储引擎了,这种架构将数据库查询处理及其他系统的任务以及数据的存储,提取相分离。
这种数据存储和数据处理相分离的设计呢,可以让我们在使用时,根据存储引擎不同的性能和特征以及其他需要来选择数据存储的方式。
首先要清楚mysql的体系结构:
第
...
MySQL数据库架构--什么影响了MySQL性能-上
影响性能的几个方面1. 服务器硬件的影响包括:CPU,内存,磁盘IO等
2.服务器的操作系统的影响
3.数据库存储引擎的选择(插件式存储引擎)
MyISAM:不支持事务,表级锁。InnoDB:事务级存储引擎,完美支持行级锁,事务AICD特性。
4.数据库服务器的配置参数(影响最为关键)
不同的配置参数对性能的影响不同。
5.数据库结构设计和SQL语句的影响数据库的优化重点在于数据库表结构设计和SQ
...