php语言 百分网手机站

常见的PHP中级程序员面试题

时间:2020-08-07 13:58:52 php语言 我要投稿

常见的PHP中级程序员面试题

  科学上的许多重大突破,都是一点点细微的成绩积累起来的。以下是小编为大家搜索整理的常见的PHP中级程序员面试题,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

常见的PHP中级程序员面试题

  1.写一个函数,尽可能高效的,从一个标准url里取出文件的扩展名例如: http://www.test.com.cn/abc/de/fg.php?id=1需要取出php或.php

  答: 1、$a="http://www.test.com.cn/abc/de/fg.php?id=1"; 2、$b=parse_url($a); 3、Echosubstr($b['path'],strpos($b['path'],'.')); 或者: 4、Echoend(explode('.',$b['path']));2

  2.描述一下大流量高并发量网站的解决方案

  答: 1、确认服务器硬件是否足够支持当前的流量。

  2、使用memcache缓存技术,将动态数据缓存到内存中,动态网页直接调用这些文件,而不必在访问数据库。

  3、禁止外部的盗链。

  4、外部网站的图片或者文件盗链往往会带来大量的负载压力,因此应该严格限制外部对自身图片或者文件盗链,目前可以简单的通过refer来控制盗 链,apache自己就可以通过配置来禁止盗链。

  5、控制大文件的下载。 大文件的下载会占用很大的.流量,对于非SCSI硬盘来说会消耗,使得网站响应能力下降。

  6、使用不同的主机分流主要流量

  7、使用流量统计软件。 在网站上安装一个流量统计软件,可以即时知道哪些地方耗费了大量流量,哪些页面需要再进行优化。

  8、分库分表。

  9、Sphinx全文索引引擎。

  如何设计或配置Mysql,才能达到高效使用的目的。

  答:

  1、数据库设计方面,设计结构良好的数据库,允许部分数据冗余。 选取最适用的字段属性,尽可能把字段设置为NOTNULL,这样在查询的时候,数据库不用去比较NULL值。

  2、系统架构设计方面,表散列,把海量数据散列到几个不同的表里面,集群,数据库查询和写入分开。 写高效sql语句,以提高效率。使用连接(join)来代替子查询使用联合(union)来代替手动创建的临时表所得皆必须,只从数据库取必须的数据。必 要的时候用不同的存储引擎,比如Innodb可以减少死锁,HEAP可以提高一个数量级的查询速度。

  使用事务使用外键使用索引24.如何进行防SQL注 入?

  答:

  1、过滤掉一些常见的数据库操作关键字:select,insert,update,delete,and,*等或者通过系统函 数:addslashes(需要被过滤的内容)来进行过滤。

  2、在PHP配置文件中Register_globals=off;设置为关闭状态 //作用将注册全局变量关闭。比如:接收POST表单的值使用$_POST['user'],如果将register_globals=on;直接使 用$user可以接收表单的值。

  3、SQL语句书写的时候尽量不要省略小引号(tab键上面那个)和单引号

  4、提高数据库命名技巧,对于一些重要的字段根据程序的特点命名,取不易被猜到的

  5、对于常用的方法加以封装,避免直接暴漏SQL语句

  6、开启PHP安全模式Safe_mode=on;

  7、打开magic_quotes_gpc来防止SQL注入 Magic_quotes_gpc=off;默认是关闭的,它打开后将自动把用户提交的sql语句的查询进行转换,把'转为\',这对防止sql注入有重 大作用。因此开启:magic_quotes_gpc=on;

  8、控制错误信息关闭错误提示信息,将错误信息写到系统日志。

  9、使用mysqli或pdo预处理。

  用PHP写出一个安全的用户登录系统需要注意哪些方面。

  答:

  1、密码要使用MD5(密码+字符串)进行加 密。

  2、登录表单的名称不要跟数据库字段一样,以免暴漏表字段。

  3、用户表的表名、字段名、密码尽量用不容易被猜到的。

  4、要使用验证码验证登陆,以防止 暴力破解。

  5、验证提交的数据是不是来自本网站。

  6、登录后台处理代码数据库部分使用预处理,做好过滤,防止sql注入。

  使用过哪些PHP框架。试 描述其优劣点。

  答:

  1、BroPHP框架:优点:轻量级学习型框架,配置简单,操作简单,容易上手,提供了比较全面的文档。缺点:

  2、ThinkPHP框 架:优点:功能比较全面,配置相对比较简单,操作相对比较简单,有很多使用示例程序。缺点:提供的操作方法太多,新手不知如何选择,文档不够全面。

  用过哪些版本控制工具?

  答:使用过SVN版本控制器。

  输出为Mozilla/4.0(compatible;MSIE5.01;Window NT 5.0)时,可能的输出语句是:B

  A.$_SERVER['HTTP_USER_AGENT_TYPE'];

  B. $_SERVER['HTTP_USER_AGENT'];

  C. $_SERVER['USER_AGENT'];

  D. $_SERVER['AGENT'];

  下面功能PHP无法实现的是:D

  A. 服务器端脚本运行

  B. 命令行脚本运行

  C. 客户端图形界面(GUI)程序

  D. 浏览器端执行DOM操作

  下面说法不正确的是:C

  A. PHP有四种标量类型:布尔型(boolean),整型(integer),浮点型(float),字符串(string)

  B. 浮点型(float)与双精度型(double)是同一种类型

  C. 符合类型包括:数组(array),对象(object),资源(resource)

  D. 伪类型:混合型(mixed),数字型(number),回调(callback)

  下面不是PHP语法的组成部分的函数是:AD

  A. array B. eval C. each D. list

  执行下面的代码的结果是什么?A

  A. boolean

  B. boolean0

  C. booleanFALSE

  D. booleanfalse

  SESSION与 COOKIE的区别是什么,请从协议,产生的原因与作用说明?

  答:

  1、http无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的 页面不能看做是同一个用户。

  2、SESSION保存在服务器端,COOKIE保存在客户端,SESSION依赖COOKIE进行传输,如果COOKIE被 禁用了,SESSION将不能继续使用。

  HTTP状态中302、403、 500代码含义?

  答:

  300重定向、403服务器拒绝访问、500服务器内部错误。

  Linux 下建立压缩包,解压缩包的命令。

  答:

  1、压缩:gzip 、tar -cvfz、zip、bzip22、解压:gunzip、tar -zxvf、unzip、bunzip2

  $a=3;$b=4; if($a||$b=5){ ||或和|的区别 echo 'todo'; } $b的值是(a):

  A a. 4; b. 5; c. 3; d. false

  什么是面向对象?主要特征是什么?

  答:

  1、面向对象是程序的一种设计方式,它利于提高程序的重用性,是程序结构更加清晰。

  2、主要特征:封装、继承、多态。


更多相关文章推荐:

1.2017年PHP工程师面试题集

2.2017年PHP面试题与答案

3.2017年基础php面试题

4.高级php程序员面试题

5.2017年最新PHP工程面试题

6.精选php面试题及答案

7.关于变量和日期处理的php面试题

8.PHP工程师面试题及答案

9.php程序员面试题

10.2017年PHP面试题之HTTP状态码出现问题

【常见的PHP中级程序员面试题】相关文章:

PHP程序员面试题目整理08-23

PHP常见面试题及答案09-26

php常见面试题及答案(33道)08-27

33道PHP常见面试题及解析08-21

PHP的面试题集08-22

php应聘面试题10-01

PHP面试题集10-01

PHP经典面试题08-21

值得深思的PHP面试题10-01

PHP语言常用的面试题09-27