php面试问题
php程序员经典面试问题
1、php的意思,它能干些什么?
php是一个基于服务端来创建动态网站的脚本语言,您可以用php和html生成网站主页,英文的全称(professional home pages) 1、web开发、实现订单、网络通信、在线支付、一切互联网可以实现的工作。
2、脚本的开发,shell 脚本、 windows的计划任务等
3、软件的开发,php-gtk等第三方的软件,使用php语法配合其他的语言开发软件
2、谈谈对mvc的认识?
由模型(model),视图(view),控制器(controller)完成的应用程序
由模型发出要实现的功能到控制器,控制器接收组织功能传递给视图;参考《php100视频教程》43、44、75、76、77讲
3、gd库是做什么用的?
gd库提供了一系列用来处理图片的功能,使用gd库可以处理图片,或者生成图
片。 在网站上gd库通常用来生成缩略图或者用来对图片加水印或者对网站数据
生成报表。现在常用的gd2功能更强大,可以实现对gif、png图片的处理
4、数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么别?
int是数字类型,char固定长度字符串,varchar实际长度字符串,datetime日期时间型,text文本字符串,char的场地固定为创建表设置的长度,varchar为可变长度的字符
5、表单中 get与post提交方法的区别?
get是发送请求http协议通过url参数传递进行接收
而post是实体数据,可以通过表单提交大量信息.
6、session与cookie的区别?
session:储存用户访问的全局唯一变量,存储在服务器上的php指定的目录中的一般
用于后台和安全性比较高的地方。cookie:是存储在客户端,对于cookie来说是存储在用户浏览器下面的,一般用户
登陆,负载压力比较大的地方。可以减轻服务器的负载。
7、echo(),print(),print_r()的区别?
echo是php语句, print和print_r是函数,语句没有返回值,函数可以有返回值print()只能打印出简单类型变量的值(如int,string)
print_r() 可以打印出复杂类型变量的值(如数组,对象)
echo 输出一个或者多个字符串
8、什么是模板技术、能够使html和php分离开使用的模板?
模板技术就是使php和html、css、js 分离,实现更加合理和代码的部署smarty ,xtemplate, template lite, easy template…
9、使用哪些工具进行版本控制?
cvs 、 svn 、vss
参考《php100视频教程》94、95讲
10、对于大流量的网站,您采用什么样的方法来解决访问量问题?
确认服务器硬件是否足够支持当前的流量,数据库读写分离,优化数据表,
程序功能规则,禁止外部的盗链,控制大文件的下载,使用不同主机分流主要流量
1、php程序上可以使用生成静态文件实现服务数据库压力
2、使用php缓存技术、或第三方的mamcached 等缓存技术实现服务器压力参考《php100视频教程》samrty缓存技术、mamcached缓存用法
11、include和require的区别是什么?为避免多次包含同一文件可用什么代替它们?
包含文件不存在或者语法错误的时候require是致命的,include不是 require需要放在头部预先载入,而include放在文件的任何位置随时载入
还有一对扩展函数:require_once() include_once()
12、mysql_fetch_row() 和mysql_fetch_array之间有什么区别?
mysql_fetch_row 是从结果集取出1行数组,作为枚举
mysql_fetch_array 是从结果集取出一行数组作为关联数组,或数字数组,两者兼得
php程序员基础面试问题
1、用php打印出前一天的时间,格式是-5-10 22:21:21
echo date(‘y-m-d h:i:s’,date(‘u’)-86400);
或者 echo date('y-m-d h:i:s', strtotime('-1 day'));
2、echo(),print(),print_r()的区别
echo 是php语句,语句是没有返回值的,而print和print_r是函数,函数可以有返回值。
print只能打印出简单类型变量的值(如int,string)
print_r可以打印出复杂类型变量的值(如数组,对象)
echo -- 输出一个或者多个字符串
3、能够使html和php分离开使用的模板
smarty模板
4、使用哪些工具进行版本控制?
cvs和svn [ subversion ]
5、如何实现字符串翻转?
使用php函数strrev( ‘abc’)
6、优化mysql数据库的方法
(1).选取最适用的字段属性,应该尽量把字段设置为not null,这样在将来执行查询的时候,数据库不用去比较null值。
(2).使用连接(join)来代替子查询(sub-queries)
(3).使用联合(union)来代替手动创建的临时表
(4).尽量少使用 like 关键字和通配符
(5).使用事务和外键
7、php的意思
php 是一种服务器端的,嵌入html的脚本语言。
英文“超级文本预处理语言”(hypertext preprocessor)的缩写
8、mysql取得当前时间的函数是?,格式化日期的函数是
now( ) date_format( date, format )