总结一些Python面试被问到一些面试题和网上优秀的面试题方便自己查阅
推荐延伸阅读:关于Python的面试题
1. 为什么会出现跨域问题?
跨域问题来源于浏览器的同源策略,即只有 协议+主机名+端口号 相同(如果存在的情况)则允许相互访问。
也就是说JavaScript
只能访问和操作自己域下的资源,不能访问和操作其他域下的资源。跨域问题是针对JavaScript
和Ajax
的,html
本身没有跨域问题,比如a标签
, script标签
等。
1 | http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域) |
请注意:localhost和127.0.0.1虽然都指向本机,但也属于跨域。
浏览器在执行JavaScript
脚本的时候,回检查这个脚本属于哪个页面,如果不是同源页面就不会执行。
参考阅读:为什么浏览器要限制跨域访问?
2. 数据库索引的作用和优点缺点
为什么要创建索引呢?这是因为索引能够大大提高系统的性能。
第一,通过创建唯一索引,可以保证数据库表中每一行数据的唯一性。
第二,可以大大加快 数据的检索速度,这也是创建索引的最主要的原因。
第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。
第四,在使用分组和排序 子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。
第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
既然索引这么好,为什么不给每个列都创建一个索引呢?这是因为增加索引也有许多不利的一面。
第一,创建索引和维护索引要耗费时间,这种时间随着数据 量的增加而增加。
第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。
第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
推荐扩展阅读: 数据库索引的作用和优点缺点