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高级工程师面试题”