蜜蜂职场文库 > 面试试题 >

php高级工程师面试题_php高级程序员面试题

时间: 小龙 面试试题

  对于PHP高级工程师而言,学会做好面试准备很有必要,那么你知道面试中有哪些面试题吗?下面小编已经为你们整理了php高级工程师面试题,一起来看看吧。

  php高级工程师面试题一

  1.高并发大访问量的mysql优化,服务器优化?

  字段建索引、主从数据库、读写分离、表分区、负载均衡。

  linux的慢查询日志会记录mysql的超时查询sql语句,定期察看进行优化。

  2.大访问量下秒杀模块程序怎么设计,如果使用mysql会有多卖的情况,就是订单超过库存。

  将订单数据缓存到内存,如果用数据库直接崩掉,毫无悬念的。

  3.缓存的使用

  能用静态的用静态,不能静态的用内存缓存,例如memcache、redis,不能缓存的用数据库。

  4.session可不可以跨域?怎么跨域?

  将PHP session机制重写(PHP提供),将session存储在memcache或者数据库就可以跨域了。

  另外session能以三种方式存储,文件、数据库、缓存。

  5.了不了解非关系型数据库?

  mongodb

  6.会不会写shell脚本以及linux的操作

  还会问一下时下流行的东西,比如做没做过微信开发,例如微信支付开发、APP移动开发,等等问题。

  问的核心东西都是围绕这些转的,如果有笔试会让你写sql,php功能(例如冒泡排序等排序),还有逻辑题。

  php高级工程师面试题二

  1.数据库中的事务是什么?

  答:事务就是一系列的操作,这些操作完成一项任务。只要这些操作里有一个操作没有成功,事务就操作失败,发生回滚事件。即撤消前面的操作,这样可以保证数据的一致性。而且可以把操作暂时放在缓存里,等所有操作都成功有提交数据库,这样保证费时的操作都是有效操作。

  2. 用PHP写出显示客户端IP与服务器IP的代码

  答:$_SERVER['SERVER_ADDR']服务器

  $_SERVER['REMOTE_ADDR']客户端

  3. error_reporting(247)什么作用?

  答:PHP 显示所有错误 E_ALL

  4. 打开php.ini中的Safe_mode,会影响哪些函数?至少说出6个。

  答:1:用户输入输出函数(fopen() file()require(),只能用于调用这些函数有相同脚本的拥有者)

  2:创建新文件(限制用户只在该用户拥有目录下创建文件)

  3:用户调用popen() systen()exec()等脚本,只有脚本处在sa fe_mode_exec_dir配置指令指定的 录中才可能

  4:加强HTTP认证,认证脚本拥有者的UID的划入认证领域范围内,此外启用安全模式下,不会设置PHP_AUTH

  5:mysql服务器所用的用户名必须与调用mysql_connect()的文件的拥有者用户名相同

  6:受影响的函数变量以及配置命令达到4个

  5. MySQL数据库,怎么优化?

  答:(1)配置优化(服务器配置)

  调节服务器参数(shell->mysqld-help 生成mysql配置选项和可配置变量的表)。

  (2)建表优化(表、字段设置)

  (3)查询优化(sql语句)

  6.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。(目录操作)

  $d = dir(dirname(__file__));

  echo ̶Handle: ” . $d->handle . ̶\n”;

  echo ̶Path: ” . $d->path . ̶\n”;

  while ( false !== ($entry = $d->read ()) ) {

  echo $entry . ̶

  ”;

  }

  $d->close ();

  php高级工程师面试题三

  1.数据库中的事务是什么?

  答:事务就是一系列的操作,这些操作完成一项任务。只要这些操作里有一个操作没有成功,事务就操作失败,发生回滚事件。即撤消前面的操作,这样可以保证数据的一致性。而且可以把操作暂时放在缓存里,等所有操作都成功有提交数据库,这样保证费时的操作都是有效操作。

  2. 用PHP写出显示客户端IP与服务器IP的代码

  答:$_SERVER['SERVER_ADDR']服务器

  $_SERVER['REMOTE_ADDR']客户端

  3. error_reporting(247)什么作用?

  答:PHP 显示所有错误 E_ALL

  4. 打开php.ini中的Safe_mode,会影响哪些函数?至少说出6个。

  答:1:用户输入输出函数(fopen() file()require(),只能用于调用这些函数有相同脚本的拥有者)

  2:创建新文件(限制用户只在该用户拥有目录下创建文件)

  3:用户调用popen() systen()exec()等脚本,只有脚本处在sa fe_mode_exec_dir配置指令指定的 录中才可能

  4:加强HTTP认证,认证脚本拥有者的UID的划入认证领域范围内,此外启用安全模式下,不会设置PHP_AUTH

  5:mysql服务器所用的用户名必须与调用mysql_connect()的文件的拥有者用户名相同

  6:受影响的函数变量以及配置命令达到4个

  5. MySQL数据库,怎么优化?

  答:(1)配置优化(服务器配置)

  调节服务器参数(shell->mysqld-help 生成mysql配置选项和可配置变量的表)。

  (2)建表优化(表、字段设置)

  (3)查询优化(sql语句)

  6.写一个函数,能够遍历一个文件夹下的所有文件和子文件夹。(目录操作)

  $d = dir(dirname(__file__));

  echo ̶Handle: ” . $d->handle . ̶\n”;

  echo ̶Path: ” . $d->path . ̶\n”;

  while ( false !== ($entry = $d->read ()) ) {

  echo $entry . ̶

  ”;

  }

  $d->close ();

  7、能够使HTML和PHP分离开使用的模板

  答:Smarty

  8、使用哪些工具进行版本控制?

  答:cvs

  9、用PHP打印出前一天的时间格式是26-5-1 22:21:21

  答:echo date(‘Y-m-d H:i:s’, strtotime(‘-1 days’));

  1、如何实现字符串翻转?(3分)

  答:echo strrev($a);

  11、MYSQL取得当前时间的函数是?,格式化日期的函数是

  答:now(),date()

  12. 请写一个函数验证电子邮件的格式是否正确

  答:function checkEmail($email)

  {

  $pregEmail = ̶/([a-z-9]*[-_\.]?[a-z-9]+)*@([a-z-9]*[-_]?[a-z-9]+)+[\.][a-z]{2,3}([\.][a-z]{2})?/i”;

  return preg_match($pregEmail,$email);

  }

  13. 简述如何得到当前执行脚本路径,包括所得到参数。

  答:$script_name = basename(__file__); print_r($script_name);

  14、检测一个变量是否有设置的函数是否?是否为空的函数是?

  答:isset($str),empty($str);

  
看了“php高级工程师面试题”

49574