常见PHP的面试笔试题参考指南
- 3982
- PHP
- 8
- super_dodo
- 2016/07/03
抓取远程图片到本地,使用什么函数:fsockopen
用最少的代码写一个求3值最大值的函数:
1 2 3 | function bigValue( $a , $b , $c ){ return $a > $b ? ( $a > $c ? $a : $c ) :( $b > $c ? $b : $c ); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | 输出正在浏览当前页面用户的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 服务器内部错误
写一个函数能够遍历一个文件夹下的所有文件和子文件夹。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | 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的乘法表:
1 2 3 4 5 6 | for ( $i =1; $i <10; $i ++){ for ( $j =1; $j <= $i ; $j ++){ echo $j . 'X' . $i . '=' . $i * $j ; } echo '<br>' ; } |
举例说明再开发过程中用什么方法来加快页面的加载速度:
1 2 3 4 5 6 | 1.用到服务器资源的时候才打开,及时关闭服务器资源。 2.数据库相应的字段添加索引。数据表优化。 3.页面静态化,memcache技术,缓存技术。 4.图片等大文件单独服务器。 5.代码优化,逻辑优化,图片资源优化。 6.提高服务器的性能,cdn加速等。 |
优化MySQL数据库的方法
1 2 3 4 5 6 7 8 9 10 | 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 | 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | $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的使用示例