常见PHP的面试笔试题参考指南
- 3391
- PHP
- 8
- super_dodo
- 2016/07/03
抓取远程图片到本地,使用什么函数:fsockopen
用最少的代码写一个求3值最大值的函数:
function bigValue($a,$b,$c){ return $a > $b ? ($a > $c ? $a : $c) :($b > $c ? $b : $c); }
输出正在浏览当前页面用户的IP地址: 127.0.0.1 echo $_SERVER['REMOTE_ADDR']; 输出查询字符串URL中第一个问号之后的内容 id=22&name=223 echo $_SERVER['QUERY_STRING']; 输出当前运行脚本所在文档根目录:d:/www/root echo $_SERVER['DOCUMENT_ROOT']; 打印服务器IP: echo gethostbyname("www.baidu.com"); 链接到当前页面的URL记录 echo $_SERVER['HTTP_REFERER']; error_reporting(2047)的作用是 report ALL errors AND warning
在HTTP中各种状态码的含义是:
200 正常OK
302 找到
400 请求失败
401 未授权
403 禁止访问
404 未找到 header("HTTP/1.0 404 Not Found");
500 服务器内部错误
写一个函数能够遍历一个文件夹下的所有文件和子文件夹。
function mySacnDir($dir){ $files = array(); if(is_dir($dir)){ if($handle=opendir($dir)){ while(($file=readdir($handle)) !== false){ if($file != '.' && $file != '..'){ if(is_dir($dir.'/'.$file)){ $files[$file] = mySacnDir($dir.'/'.$file); }else{ $files[] = $dir.'/'.$file; } } } closedir($handle); return $files; } } } print_r(mySacnDir("D:\wamp\www\weboot"));
写一个9*9的乘法表:
for($i=1;$i<10;$i++){ for($j=1;$j<=$i;$j++){ echo $j.'X'.$i.'='.$i*$j; } echo '<br>'; }
举例说明再开发过程中用什么方法来加快页面的加载速度:
1.用到服务器资源的时候才打开,及时关闭服务器资源。 2.数据库相应的字段添加索引。数据表优化。 3.页面静态化,memcache技术,缓存技术。 4.图片等大文件单独服务器。 5.代码优化,逻辑优化,图片资源优化。 6.提高服务器的性能,cdn加速等。
优化MySQL数据库的方法
1.选取最适合的字段属性,尽量把字段设置成NOT NULL,这样执行查询时不用比较NULL的值。 2.使用连接(JOIN)代替子查询. 3.使用UNION来代替手动穿件的临时表. 4.尽量少用LIKE关键字和通配符。 5.多表操作的使用使用事务,使用外键。 6.保证单表的数据不超过200万,适时的分隔切割表(水平分隔,垂直切割)分摊查询压力。 7.硬件扩展,内存CPU提升,增加服务器性能。 8.select 子句中避免使用 '*', 9.避免在索引上使用计算。 10.提高Group BY的语句效率,可以通过将不需要的记录在GROUP BY之前过滤掉。
提高Apache的性能的方法。
1.设置最多链接数量 2.允许每次链接可有无限制请求。 3.合理配置超时时间。 4.慎用允许持久性链接。 5.Linux效果优于windows条件允许的话mysql和apache分离开在不同的机器上。
mysql中字段的类型varchar和char的主要区别是:varchar是变长节省固定长度,char是固定长度。查找效率char型快,因为varchar是非定长,必须先查找长度,然后进行数据的提取,比char定长类型多了一个步奏,所以效率低了一些。
写出三种以上MySQL数据库的存储引擎InnoDB,MyISAM,BDB,Merge,Memory,Example,CSV.
$url= 'http://www.baidu.com/abc/de/fg.php?id=1'; $pUrl = parse_url($url); print_r($pUrl); Array( ['scheme']=>'http', ['host']=>'www.baidu.com', ['path']=>'abc/de/fg.php', ['query']=>'id=1', ); basename(path); pathinfo(path); ucwords() //首字母大写 echo count('abc'); // 1 前进:history.forward(); history.go(1); 后退:history.back(); history.go(-1);
请说明在PHP中"" 和 ''的区别。
双引号里面的字段会经过编辑器解释,然后在当做HTML代码输出。单引号里面的不进行解释,直接输出。单引号解析的时间比双引号快。
PHP的垃圾回收机制(Garbage Collector 简称 GC)
在PHP中没有任何变量指向这个对象时,这个对象就成为了垃圾,PHP会将其在内存中销毁,这就是PHP的垃圾处理机制,防止内存溢出。GC进程一般都跟着每一个SESSION开始运行的。GC目的是为了session文件过期后子松删除销毁这些文件。
相关阅读
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
热门文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例
最新文章
- 通过Google API客户端访问Google Play帐户报告PHP库
- PHP执行文件的压缩和解压缩方法
- 消息中间件MQ与RabbitMQ面试题
- 如何搭建一个拖垮公司的技术架构?
- Yii2中ElasticSearch的使用示例