2023年php面试总结模板
总结是对过去一定时期的工作、学习或思想情况进行回顾、分析,并做出客观评价的书面材料,它可使零星的、肤浅的、表面的感性认知上升到全面的、系统的、本质的理性认识上来,让我们一起认真地写一份总结吧。大家想知道怎么样才能写一篇比较优质的总结吗?以下是小编为大家收集的总结范文,仅供参考,大家一起来看看吧。
php面试总结篇一
相关推荐
php 独特的语法混合了c、java、perl以及php自创的语法。为帮助有需要的朋友了解更多相关知识,以下是百分网小编搜索整理的关于php面试备考知识点,供参考借鉴,希望对大家有所帮助!想了解更多相关信息请持续关注我们应届毕业生考试网!
1.1 http协议中几个状态码的含义:503 500 401 403 404 200 301 302。。。
200 : 请求成功,请求的数据随之返回。
301 : 永久性重定向。
302 : 暂时行重定向。
401 : 当前请求需要用户验证。
403 : 服务器拒绝执行请求,即没有权限。
404 : 请求失败,请求的数据在服务器上未发现。
500 : 服务器错误。一般服务器端程序执行错误。
503 : 服务器临时维护或过载。这个状态时临时性的。
1.2 include require include_once require_once 的区别.
处理失败方式不同:
require 失败时会产生一个致命级别错误,并停止程序运行。
include 失败时只产生一个警告级别错误,程序继续运行。
include_once/require_once和include/require 处理错误方式一样,
唯一区别在于当所包含的文件代码已经存在时候,不在包含。
1.3 (mysql)请写出数据类型(int char varchar datetime text)的意思; 请问varchar和char有什么区别;
int : 数值类型
char : 固定长度字符串类型
varchar : 可变长度字符串类型
datetime : 时期时间类型
text : 文本类型
varchar和char有什么区别:
a. char 长度是固定的,不管你存储的数据是多少他都会都固定的长度。
而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置。
b. char 固定长度,所以在处理速度上要比varchar快速很多,但是浪费存储空间,
所以对存储不大,但在速度上有要求的可以使用char类型,反之可以用varchar类型来实例。
1.4 error_reporting 等调试函数使用
error_reporting() 中 error_reporting 指令。
所以可以再程序中随时调节显示的错误级别。
使用此函数时 display_errors必须是打开状态。
1.5 写代码来解决多进程/线程同时读写一个文件的问题。
php是不支持多线程的,可以使用php的flock加锁函数实现。
$fp = fopen("/tmp/", "w+");
if (flock($fp, lock_ex)) { // 进行排它型锁定
fwrite($fp, "write something here ");
flock($fp, lock_un); // 释放锁定
} else {
echo "couldn't lock the file !";
}
fclose($fp);
1.6 写一段上传文件的代码。
<form enctype="multipart/form-data" method="post" action="">
send this file: <input name="name" type="file" />
<input type="submit" value="send file" />
</form>
$uploads_dir = '/uploads';
foreach ($_files["error"] as $key => $error) {
if ($error == upload_err_ok) {
$tmp_name = $_files["tmp_name"][$key];
$name = $_files["name"][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
}
}
1.7 mysql 的存储引擎,myisam和innodb的区别。
a. myisam类型不支持事务处理等高级处理,而innodb类型支持.
b. myisam类型的表强调的是性能,其执行数度比innodb类型更快.
c. innodb不支持fulltext类型的索引.
d. innodb 中不保存表的具体行数,也就是说,
执行select count(*) from table时,innodb要扫描一遍整个表来计算有多少行,
但是myisam只要简单的读出保存好的行数即可.
e. 对于auto_increment类型的字段,innodb中必须包含只有该字段的索引,但是在myisam表中,可以和其他字段一起建立联合索引。
f. delete from table时,innodb不会重新建立表,而是一行一行的删除。
g. load table from master操作对innodb是不起作用的,解决方法是首先把innodb表改成myisam表,导入数据后再改成innodb表,
但是对于使用的额外的innodb特性(例如外键)的表不适用.
h. myisam支持表锁,innodb支持行锁。
2.1 mysql数据库作发布系统的存储,一天五万条以上的增量,预计运维三年,怎么优化?
a. 设计良好的数据库结构,允许部分数据冗余,尽量避免join查询,提高效率。
b. 选择合适的'表字段数据类型和存储引擎,适当的添加索引。
c. mysql库主从读写分离。
d. 找规律分表,减少单表中的数据量提高查询速度。
e。添加缓存机制,比如memcached,apc等。
f. 不经常改动的页面,生成静态页面。
g. 书写高效率的sql。比如 select * from tabel 改为 select field_1, field_2, field_3 from table.
2.2 对于大流量的网站,您采用什么样的方法来解决各页面访问量统计问题
a. 确认服务器是否能支撑当前访问量。
b. 优化数据库访问。参考2.3
c. 禁止外部访问链接(盗链), 比如图片盗链。
d. 控制文件下载。
e. 使用不同主机分流。
f. 使用浏览统计软件,了解访问量,有针对性的进行优化。
2.3 写出一个正则表达式,过虑网页上的所有js/vbs脚本(即把标记及其内容都去掉):(9)。
答:/<[^>].*?>.*?</>/si
2.4 用php打印出前一天的时间格式是2006-5-10 22:21:21
答:echo date('y-m-d h:i:s', strtotime('-1 day'));
2.5 echo(),print(),print_r()的区别
答:echo是语言结构,无返回值;print功能和echo基本相同,不同的是print是函数,有返回值;print_r是递归打印,用于输出数组对象
2.6 如何实现字符串翻转?
答:.用strrev函数呗,不准用php内置的就自己写:
[php] view plain copy
strrev($str)
{
$len=strlen($str);
$newstr = '';
for($i=$len;$i>=0;$i--)
{
$newstr .= $str{$i};
}
return $newstr;
}
2.7 实现中文字串截取无乱码的方法。
答:mb_substr()
2.8 如何用php的环境变量得到一个网页地址的内容?ip地址又要怎样得到?
答:$_servsr[‘request_uri’] , $_server[‘remote_addr’]
2.9 求两个日期的差数,例如2007-2-5 ~ 2007-3-6 的日期差数
答:(strtotime(‘2007-3-6’)-strtotime(‘2007-2-5’))/3600*24
2.10 如何通过javascript判断一个窗口是否已经被屏蔽
答:获取open()的返回值,如果是null,就是屏蔽了
s("content_relate");