您现在的位置是:首页 > 个人日记个人日记

关于PHP面试的小问题02

kerry2019-03-08【个人日记】人已围观

简介关于PHP面试的小问题

一,对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题?
1, 确认服务器是否能支撑当前访问量。
2, 优化数据库访问。
3,禁止外部访问链接(盗链), 比如图片盗链。
4,控制文件下载。
5, 使用不同主机分流。
6, 使用浏览统计软件,了解访问量,有针对性的进行优化。
二,MySQL怎么优化?
1,设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。
2,选择合适的表字段数据类型和存储引擎,适当的添加索引。
3,mysql库主从读写分离。
4,找规律分表,减少单表中的数据量提高查询速度。
5,添加缓存机制,比如memcached,apc等。
6, 不经常改动的页面,生成静态页面。
7, 书写高效率的SQL。比如 SELECT * FROM TABEL 改为 SELECT field_1, field_2, field_3 FROM TABLE.
三,什么是面向对象?
1,通俗的解释就是“万物皆对象”,把所有的事物都看作一个个可以独立的对象(单元)
四,简述 private、 protected、 public修饰符的访问权限。
1,private : 私有成员, 在类的内部才可以访问。 
2,protected : 保护成员,该类内部和继承类中可以访问。
3,public : 公共成员,完全公开,没有访问限制。
五,什么是SQL注入?SQL注入攻击数据库常用手段之一。一部分程序员在编写代码的时候,没有对用户输入数据的合法性进行判断,注入者可以在表单中输入一段数据库查询代码并提交,程序将提交的信息拼凑生成一个完整sql语句,服务器被欺骗而执行该条恶意的SQL命令。注入者根据程序返回的结果,成功获取一些敏感数据,甚至控制整个服务器,
六,Redis和Memcache区别
1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等;
2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储;
3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘;
4、过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10;
5、分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从;
6、存储数据安全--memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化);
7、灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复;
8、Redis支持数据的备份,即master-slave模式的数据备份;
七,索引的类型和优点
首先由四个优点
1.大大加快数据的检索速度;
2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
3.加速表和表之间的连接;
4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
索引类型:

1、主键索引:主键索引是一种特殊的唯一索引,不允许有空值
2、普通索引或者单列索引
3、多列索引(复合索引):复合索引指多个字段上创建的索引,只有在查询条件中使用了创建索引时的第一个字段,索引才会被使用。使用复合索引时遵循最左前缀集合
4、唯一索引或者非唯一索引
5、空间索引:空间索引是对空间数据类型的字段建立的索引,MYSQL中的空间数据类型有4种,分别是GEOMETRY、POINT、LINESTRING、POLYGON。MYSQL使用SPATIAL关键字进行扩展,使得能够用于创建正规索引类型的语法创建空间索引。创建空间索引的列,必须将其声明为NOT NULL,空间索引只能在存储引擎为MYISAM的表中创建

 

Tags:PHP   PHP函数   面试   PHP面试   巴斯手制加盟   巴斯手制

很赞哦! ()

文章评论

    共有条评论来说两句吧...

    用户名:

    验证码:

站点信息

  • 建站时间:2018-7-7
  • 网站程序:帝国CMS7.5
  • 文章统计38篇文章
  • 标签管理标签云
  • 统计数据百度统计
  • 微信公众号:扫描二维码,关注我们