php中级面试问答2
发布者:admin 发表于:417天前 阅读数:2012 评论:0

1SESSION 保存在服务器的哪里? 

答:通过php.ini指定,可存在指定目录的文件中或内存中,或数据库中! 

(存储在服务器上的php指定的目录中的(session.save_path)的位置进行的存放) 

 

2、服务端是如何获取客户端的cookie? 

答:服务器每次处理请求的进候都可以抓取头信息的cookie并设置返回, 

 

3、如何实现SESSION共享,共享的原理是什么? 

答:配置主从数据库,将SESSION存入主数据库中,常见的做法还有在各服务器端安装MEMCAHCE,SESSION存入各MEMCACHE中,

 

4、请大致说出LVS搭建的过程,文件共享原理是什么?

 

5、网络共享服务器上传数据是向一台服务器上传?还是多台?如何实现同步?

 

6、说出你所知道的数据库设计范式?常用的建模工具是什么?(mysql建模工具)

 

答:1NF:每一条满足原子性,不可以分割;2NF:每一条记录要满足唯一性,3NF:字段不冗余,有时我们还需要反三范式,常用的建模工具:phpMyAdmin,navicat for mysql,DOS命令行;

 

7、如果你是项目经理,你如何管理你的项目团队的日常事宜?

 

8、主从数据库的配置,都需要哪些基本的条件,需要配置什么内容?

 

答:基本条件:二台以上数据库服务器, 

    配置流程:1.分别打开主从服务器的bin-log;从服务器+relaylog

 

            2.在主服务器根据需求建立相应的帐号并授权;

 

            3.从服务器使用己创建好的帐号连接主服务器读取二进制文件并分析后同步

 配置项:主:log-bin=mysql-bin;server-id=num(int);binlog-format=mixd/statement/row/

 

             从:log_bin=mysql-bin;server-id=num(int)//唯一;relay_log=mysql-relay-bin;log_slave_updates=1;relay_only=1;

  

9、说出你常用的版本控制器,SVN中需要配置哪几个配置文件 

答:SVN,GIT,CVS;配置文件:mod_authz_svn.so mod_dav_svn.so移至服务器模块中并加载,配置权限,分配用户;

 

10LVS 在项目运行之前需要注意哪些事项,或者说会出现什么问题?

 

 

11ecshop为何出现字段冗余违犯设计模式,请说出为何这么做? 

答:在某些环境下反三范式反而增加了效率,因此这么做!

 

12、常用mysql优化方式,尽可能多的说? 

答:SQL语句优化;存储优化;数据库配置;服务器配置

  

13memcache原理是什么?是否能存入2Mvalue? 

答:采用C/S模式,协义是普通文本,基于libevent机制处理数据放在内存中;memcache最大只能存入1MB数据,memcache并非为存储大数据而生,但可以考虑在存储前将值先压缩或拆分成多值分配到多个key中!

  

14、什么是队列?排它锁,Myisam 死锁如何解决? 

答:在默认情况下MYisam是表级锁,所以同时操作单张表的多个动作只能以队列的方式进行; 

    排它锁又名写锁,在SQL执行过程中为排除其它请求而写锁,在执行完毕后会自动释放; 

    死锁解决:先找到死锁的线程号,然后杀掉线程ID

 

15、请说出mysql常用存储引擎?memory存储引擎的特点? 

答:MyisamInnoDBmemory,memory的特点是将表存到内存中,数度快,重启后数据丢失!

 

16、如何最快速的插入5000条以上的数据?

 

 

17、你用过多少开源框架? 

答:TP/CI/ZF/YII

 

18ecshop 购物车信息存放在哪里? 

答:order_info;order_goods;order_action;

  

19PHP生成页面缓存的原理 

答:将缓存内容放入OB缓存中,在OB缓存结束或脚本执行完毕后放入到程序缓存未尾并返回!

 

20、你所知道的缓存技术有哪些,分别做下简单介绍

 

答:ob缓存,通过模板技术写入文件类缓存;memcache;redisredismemcache最显著的区别在于数据不仅并于内存中,同时还会在磁盘中生成文件,即使重启,数据亦可被加载;

 

 

21HTTP 协议的原理,什么是全双工,什么是半双工? 

答:HTTP协议是一种无状态的协义,直白的讲就是请求和响应,全双工是指请求和响应同时进行,半双工指单个执行;

  

22、如何减少IO开销,ucenter通信原理?

 

23DZ是如何实现大数据量插入的,DZ 有哪些技术特点?

 

24、你用过多少种JS框架?举例说明优缺点

 

答:jQueryprototypedojoextYUI; 

     jQuery:强大的DOM节点查询无人能出其左右,动画操方便; DOM封装的很好!高低版本兼容非常好 

     prototype:较早的jS库,对ajax支持较好,基于原型链面向对象很强大 

     dojo:更容易俣WEB页面具有动态能力; 

     ext:强大的UI操作高居榜首; 

     YUI:强大的类库,提供很多方法; 

 

25、如何衡量AJAX的使用(何时使用AJAX 

答:AJAX既称无刷新技术,常用见的使用场景:表单验证,用户评分、点击;只要需要实时的与服务器交互时即可使用;

 

26、什么是推技术,实现原理是什么? 

答:推技术又称COMET,即在客户请求时在服务器挂起长连接,一旦服务器有了新数据,它降立即反回给客户端,实时性好;

   

27、什么是垂直搜索,斯芬克斯中分词原理? 

答:垂直搜索是指在特定的范围内搜索的上下文,搜索面只会越来越精细,而非越来越广泛;sphinx分词的原理:将文本拆分为多个单词从数据源的各个文档对像创建索引并将索引表存储于内存中!

  

28sphinx中无法ha_sphinx.so是用来做什么的? 

答:一个sphinx的存储模块;

 

29PHP常用的合并数组的方式? 

答:array_mergn;array_mergn_recursive;

 

30、回答PHP读取文件速度快,还是读取mysql的数据快?为何? 

答:一般情况下读文件》读数据库;不同情况速度也会反向,如:数据库数据量很小,而同目录文件又非常多的情况下,读数据库大于读文件