数据结构、算法、msdn、shell、python, 数据流,请求流,
1、tcp/ip协议
2、kafka,redis memcache
4、mysql 高性能MySQL ,mangodb
6、flask、django、k8s、docker 原理 ??? done
7、apache,negix ,wsgi done
8、提交 :表单等
9、单点故障,对象存储等
10、裸考托福100+,雅思7+
11、词汇量8000+ 重点 技术相关词汇 困难
12、30mins-60mins+ 技术面试 参与度不少于3分之一 困难+++++++
13、英文技术文献不成问题
14、email 和交流 15mins+
15、leetcode 刷题
书单:
操作系统原理
https://www.cnblogs.com/y-rong/p/8110596.html----MyISAM与InnoDB两者之间区别与选择,详细总结,性能对比
幻读
char和varchar
MySQL的char和varchar
一、VARCHAR与CHAR字符型数据的差异
在MySQL数据库中,用的最多的字符型数据类型就是Varchar和Char,这两种数据类型虽然都是用来存放字符型数据,但是无论从结构还是从数据的保存方式来看,两者相差很大。而且其具体的实现方式,还依赖与存储引擎。我这里就以大家最常用的MYISAM存储引擎为例,谈谈这两种数据类型的差异。在后续建议中,也是针对这种存储类型而言的。
Varchar往往用来保存可变长度的字符串。简单的说,我们只是给其固定了一个最大值,然后系统会根据实际存储的数据量来分配合适的存储空间。为此相比CHAR字符数据而言,其能够比固定长度类型占用更少的存储空间。通常情况下,VARCHAR数据类型能够节约磁盘空间,为此往往认为其能够提升数据库的性能。不过这里需要注意的是,这往往是一把双刃剑。其在提升性能的 同时,往往也会产生一些副作用。如因为其长度是可变的,为此在数据进行更新时可能会导致一些额外的工作。如在更改前,其字符长度是10位(Varchar 规定的最长字符数假设是50位),此时系统就只给其分配10个存储的位置(假设不考虑系统自身的开销)。更改后,其数据量达到了20位。由于没有超过最大 50位的限制,为此数据库还是允许其存储的。只是其原先的存储位置已经无法满足其存储的需求。此时系统就需要进行额外的操作。如根据存储引擎不同,有的会 采用拆分机制,而有的则会采用分页机制。
CHAR数据类型与VARCHAR数据类型不同,其采用的是固定长度的存储方式。简单的说,就是系统总为其分配最大的存储空间。当数据保存时,即使 其没有达到最大的长度,系统也会为其分配这么多的存储空间。显然,这种存储方式会造成磁盘空间的浪费。这里笔者需要提醒的一点是,当字符位数不足时,系统 并不会采用空格来填充。相反,如果在保存CHAR值的时候,如果其后面有空值,系统还会自动过滤其空格。而在进行数据比较时,系统又会将空格填充到字符串 的末尾。
显然,VARCHAR与CHAR两种字符型数据类型相比,最大的差异就是前者是可变长度,而后者则是固定长度。在存储时,前者会根据实际存储的数据 来分配最终的存储空间。而后者则不管实际存储数据的长度,都是根据CHAR规定的长度来分配存储空间。这是否意味着CHAR的数据类型劣于VARCHAR 呢?其实不然。否则的话,就没有必要存在CHAR字符类型了。虽然VARCHAR数据类型可以节省存储空间,提高数据处理的效率。但是其可变长度带来的一 些负面效应,有时候会抵消其带来的优势。为此在某些情况下,还是需要使用Char数据类型。
二、使用建议
1、根据字符的长度来判断,是考虑其长度的是否相近来确定选择char还是varchar,如何字段的长度基本都是一样或者其长度总是近似的可以选用char
2、是从碎片角度进行考虑
用可变长度的字符型数据时,数据库管理员要时不时的对碎片进行整理。如执行数据库导出导入作业,来消除碎片。
3、即使使用Varchar数据类型,也不能够太过于慷慨!
比如你只使用到90个字符,VARCHAR(100)与VARCHAR(200)真的相同吗?结果是否定的。虽然他们用来存储90个字符的数据,其存储空间相同。但是对于内存的消耗是不同的。
subprocess模块被推荐用来替换一些老的模块和函数,如:os.system、os.spawn*、os.popen*等
paas
saas
MQ
思想:
面对对象 抽象
基础:
程序基础算法(排序。。。)
数据结构(string\集合。。。。)
数据库架构、sql进阶高性能(mysql, sql…)
IP/TCP
HTTP(web request\response)
常见的开发框架及原理(flask\django)
项目实践
devops 流水线开发,集持集成(CI/CD)
github 代码管理,冲突处理。。。
jenkins
docker、k8s
jira需求、缺陷管理