python最常见的面试题~~~亲身体验(找不到工作来这看)
数据库的优化? 1.优化索引、SQL 语句、分析慢查询; 2.设计表的时候严格根据数据库的设计范式来设计数据库; 3.使用缓存,把经常访问到的数据而且不需要经常变化的数据放在缓存中,能节约磁盘 IO 4.优化硬件;采用 SSD,使用磁盘队列技术(RAID0,RAID1,RDID5)等 5.采用 MySQL 内部自带的表分区技术,把数据分层不同的文件,能够提高磁盘的读取效率; 6.垂直分表;把一些不经常读的数据放在一张表里,节约磁盘 I/O; 7.主从分离读写;采用主从复制把数据库的读操作和写入操作分离开来; 8.分库分表分机器(数据量特别大),主要的的原理就是数据路由; 9.选择合适的表引擎,参数上的优化 10.进行架构级别的缓存,静态化和分布式; 11.不采用全文索引; 12.采用更快的存储方式,例如 NoSQL 存储经常访问的数据。 谈谈你对多进程,多线程,以及协程的理解,项目是否用? 这个问题被问的概率相当之大,其实多线程,多进程,在实际开发中用到的很少,除非是那些对项目性能要求特别高的,有的开发工作几年了,也确实没用过,你可以这么回答,给他扯扯什么是进程,线程(cpython 中是伪多线程)的概念就行,实在不行你就说你之前写过下载文件时,用过多线程技术,或者业余时间用过多线程写爬虫,提升效率。 进程 :一个运行的程序(代码)就是一个进程,没有运行的代码叫程序