自己总结的web前端面试题之php

来源:互联网 发布:吉他教学软件 编辑:程序博客网 时间:2024/06/05 02:36

1.表单中 get与post提交方法的区别?
:get是发送请求HTTP协议通过url参数传递进行接收,而post是实体数据,可以通过表单提交大量信息.

2.session与cookie的区别?
:session:储存用户访问的全局唯一变量,存储在服务器上的PHP指定的目录中的(session_dir)的位置进行的存放
   cookie:用来存储连续訪問一个頁面时所使用,是存储在客户端,对于Cookie来说是存储在用户WIN的Temp目录中的。 
   两者都可通过时间来设置时间长短

3.、用PHP打印出前一天的时间格式是2006-5-10 22:21:21
:echo date('Y-m-d H:i:s', strtotime('-1 days')); 

4.echo(),print(),print_r()的区别
:echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用)  
   print()    只能打印出简单类型变量的值(如int,string)  
   print_r() 可以打印出复杂类型变量的值(如数组,对象)  
   echo     输出一个或者多个字符串

5.使用哪些工具进行版本控制?
:cvs,svn,vss;

6.如何实现字符串翻转?
:echo strrev($a);

7.对于大流量的网站,您采用什么样的方法来解决访问量问题?(4分)
:确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表,
   程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量

8.如何修改SESSION的生存时间(1分).
:方法1:将php.ini中的session.gc_maxlifetime设置为9999重启apache
   方法2:$savePath = "./session_save_dir/";
         $lifeTime = 小时 * 秒;
         session_save_path($savePath);
         session_set_cookie_params($lifeTime);
         session_start();
   方法3:setcookie() and session_set_cookie_params($lifeTime);

9.谈谈asp,php,jsp的优缺点
:ASP全名Active Server Pages,是一个WEB服务器端的开发环境, 利用它可以产生和运行动态的、交互的、高性能的WEB服务应用程序。ASP采用脚本语言VB Script(Java script
)作为自己的开发语言。 
PHP是一种跨平台的服务器端的嵌入式脚本语言. 它大量地借用C,Java和Perl语言的语法, 并耦合PHP自己的特性,使WEB开发者能够快速地写出动态生成页面.它支持目前绝大多数数据库。还有一点,PHP是完全免费的,不用花钱,你可以从PHP官方站点(http://www.php.net)自由下载。而且你可以不受限制地获得源码,甚至可以从中加进你自己需要的特色。 
JSP 是Sun公司推出的新一代站点开发语言,他完全解决了目前ASP,PHP的一个通病--脚本级执行(据说PHP4 也已经在Zend 的支持下,实现编译运行).Sun 公司借助自己在Java 上的不凡造诣,将Java 从Java 应用程序 和 Java Applet 之外,又有新的硕果,就是Jsp--Java Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能强大的站点程序。 
  三者都提供在 HTML 代码中混合某种程序代码、由语言引擎解释执行程序代码的能力。
JSP代码被编译成 Servlet 并由 Java 虚拟机解释执行,这种编译操作仅在对 JSP 页面的第一次请求时发生。在 ASP 、PHP、JSP 环境下, HTML 代码主要负责描述信息的显示样式,而程序代码则用来描述处理逻辑。普通的 HTML 页面只依赖于 Web 服务器,而 ASP 、PHP、JSP 页面需要附加的语言引擎分析和执行程序代码。程序代码的执行结果被重新嵌入到 HTML 代码中,然后一起发送给浏览器。 ASP 、PHP、 JSP三者都是面向 Web 服务器的技术,客户端浏览器不需要任何附加的软件支持。

10.谈谈对mvc的认识

:由模型(model),视图(view),控制器(controller)完成的应用程序
   由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;

16. 请说明php中传值与传引用的区别。什么时候传值什么时候传引用?(2分)
:按值传递:函数范围内对值的任何改变在函数外部都会被忽略
   按引用传递:函数范围内对值的任何改变在函数外部也能反映出这些修改
   优缺点:按值传递时,php必须复制值。特别是对于大型的字符串和对象来说,这将会是一个代价很大的操作。
   按引用传递则不需要复制值,对于性能提高很有好处。

29、指出一些在PHP输入一段HTML代码的办法。(1分)
:echo "<a href='index.php'>aaa</a>";

11.字符串”\r”,”\n”,”\t”,”\x20”分别代表什么

答案: “\r”代表的含义是: 
Linuxunix 中表示返回到当行的最开始位置,在Mac OS 中表示换行且返回到下一行的最开始位置,相当于Windows 里的 \n 的效果。 
“\n”代表的含义是: 
Windows 中表示换行且回到下一行的最开始位置。相当于Mac OS 里的 \r 的效果,在Linux、unix 中只表示换行,但不会回到下一行的开始位置。 
“\t”所代表的含义是: 
键盘上的“TAB”键,跳格(移至下一列)。 
“\x20”所代表的含义是:是32在ASCII表中16进制的表示。

12. 禁用COOKIE 后 SEESION 还能用吗?

不能

13.简述json和jsonp的区别以及优缺点,应用场景。
答:说到AJAX就会不可避免的面临两个问题,第一个是AJAX以何种格式来交换数据?第二个是跨域的需求如何解决?这两个问题目前都有不同的解决方案,比如数据可以用自定义字符串或者用xml来描述,跨域可以通过服务器端代理来解决。
但到目前为止最被推崇或者说首选的方案还是用JSON来传数据,靠JSONP来跨域。

14.一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?

1、输入http://www.taobao.com后,浏览器通过DNS解析到www.taobao.com的IP地址,通过这个IP地址找 到client到server的路径。client浏览器发起一个HTTP会话,然后通过TCP进行封装数据包,输入到网络层 。

  2、在client的传输层,把HTTP会话请求分成报文段,添加源和目的端口,如server使用80端口监听client 的请求,客户端由系统随机选择一个端口,与server进行交换,server把相应的请求返回给client的端口 。然后使用IP层的IP地址查找目的端。

  3、client的网络层,通过查找路由表确定如何到达server,期间可能经过多个路由器,通过查找路由表 决定通过那个路径到达server。

  4、client的链路层,通过链路层发送到路由器,通过协议查找给定IP地址的MAC地址,然后发送ARP请 求查找目的地址,如果得到回应就可以传输了,然后发送IP数据包到达server的地址。

  优化:客户端输入网址后,在网址的前面加前缀进行标识,服务器端对含有标识的网址优先访问,降 低从大量传输数据中搜寻网址的时间,提高访问效率。

大家都知道,不同地区不同网络(注:电信、联通、教育网等)之间互访会非常缓慢,可采用CDN(Content Delivery Network),即内容分发网络

15.