1. 面向对象中接口和抽象类的区别及应用场景:
他们的不同点 :
1.抽象类中可以有非抽象的方法而接口中只能够有抽象的方法 !
2.一个类可以继承多个接口 ,而一个类只能继承一个抽象类 !
3.接口的使用方式通过 implements 关键字进行 ,抽象类则是通过继承 extends 关键字进行!
2. MySQL存储引擎中MyISAM和InnoDB,在同样的应用场景中各有什么优缺点,索引结构如何实现
1.在增、删、改和查方面,myisam要优于innodb表引擎,当数据量特别大时,他们的速度
相差不大
2.innodb 支持myisam所不具备的事务支持、存储过程、行级锁定等等
3. SESSION 和COOKIE的作用和区别,SESSION信息的存储方式,如何进行遍历?
- SESSION:存储在服务器端, cookie:存储在客户端
- 两者都可通过时间来设置时间长短
- cookie不安全,考虑安全性还是用session
- session保存到服务器端,如果访问量过大,对服务器性能很影响,应使用memcache缓存
session - 单个COOKIE在客户端限制是3K,即存放的cookie不能超过3K,SESSION没有限制
- 禁止了 COOKIE 后 SESSION 是不能使用的,session 因为存储在服务器端,具体路径在
php.ini 中 session_dir目录中,是私有的每个用户产生session都不同
因为$_SESSION 是数组所以遍历就用数组的方式遍历!
4.通过JS 实现页面的前进和后退操作?
<a href="javascript:window.history.go(1)">前进</a>
<a href="javascript:window.history.go(-1)">后退</a>
5. 服务器在运行的过程中,随着用户访问数量的增长,如何通过优化,保证性能?如果数据库已经达到最优化,请设计出继续升级的解决方案
squid->lvs|集群->shpinx|memcache->php 静态化(缓存)->分区|主从|一主多从(读写
分离)
首先可以通过
分库分表缓解一些负担,
应用缓存服务器,如MemCache服务器,
增加主从服务器和负载均衡服务器提高网站读取速度,
添加静态资源服务器,存放一些静态资源,如 CSS,Js,图片等,
提高检索速度可以架设内容检索服务器如Shpinx,Xapian,
消息队列服务器,架设数据库集群,