微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

程序员面试必备PHP基础面试题 – 第十二天

一、设$day1,$day2 为yyyy-mm-dd格式的日期

使用mktime()制造出时间戳,再使用date()显示为yyyy-mm-dd格式的日期

二、请写出PHP -l、PHP -m、PHP -r的作用。

PHP –l:检测PHP的语法

PHP –r:直接运行PHP代码

PHP –m:将打印出内置以及已加载的PHP及zend模块

三、写出你熟知的能够使HTML和PHP分离开使用的模板, 并简述其工作原理

Smarty

tpl模板文件PHP官方开发的smarty模板语言编写。 tpl文件第一次被hbCMS系统调用后,将自动编译,并生成PHP文件,存储在template/system/compile目录里。 以后再次调用tpl文件,smarty系统会自动判断tpl文件是否被修改过,如果没有被修改,就不再重复编译,而是直接读取上一次编译好的PHP文件

四、如何取得某个程序中, 第n行到第m行之间的程序片段 的执行时间

$start=microtime(true);

程序片段

$end=microtime(true);

echo ($end-$start);

五、如何 实现字符串翻转 ?

1、自带函数strrev()

2、

$str = "abcdefg";

function strrevv($str){

$len=strlen($str);

$newstr = '';

for($i=$len;$i>=0;$i--){

$newstr .= $str[$i];

}

return $newstr;

}

$showstr = strrevv($str);

echo $showstr."<br>";

六. 说明以下代表的含义: __LINE__ __FILE__ $SERVER[“REMOTE_ADDR”] $SERVER[“PHP_SELF”]

__LINE__:当前文件的行数

__FILE__:返回文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件

$SERVER[“REMOTE_ADDR”]:正在浏览当前页面用户的 IP 地址。

$SERVER[“PHP_SELF”]:当前正在执行脚本的文件

七、如何提高数据库访问速度?依据是什么?

1.表设计一定要优化,冗余数据最少,少用连接查询。如果在实际应用中,使用了极其复杂的连接,子查询,则数据表的设计得要重新考虑了。

2.尽量用char而不是varchar,因为固定长度的string用起来更快.在当今硬盘容量越来越大的情况下,牺牲点存储空间而换得查询速度得提升是值得的。

3.通过简化权限来提高查询速度。如果一个查询之前要执行很多权限验证,则查询速度会慢下来,不妨试着在MysqL中用root登录与用你新建的有权限控制的用户登录的速度,就可以看出来了,root登录,一下子就进入了,而普通用户登录,总会延迟一下。

4.表的优化。如果一个表已经用了一段时间,随着更新和删除操作的发生,数据将会变得支离破碎,这样同样会增加在该表中进行物理搜索所花费的时间。你要知道的是,在MysqL底层设计中,数据库将被映射到具有某种文件结构的目录中,而表则映射到文件。所以磁盘碎片是很有可能发生的。庆幸的是,在MysqL中,我们可以通过下面的语句进行修复:

八、假设您有数据库dbname=TEST_DB)足够的权限,请为192.168.1.100服务器上的testuser用户开放访问该数据库的所有权限并为其设置访问密码

grant all on TEST_DB.* to [email protected] identified by "123";

九、什么情况下需要备份数据库?如何备份数据库

保存数据的完整性,防止数据丢失,病毒感染

1、直接拷贝数据库文件

2、使用命令MysqLdump

3、使用工具进行备份

十、假设现在MysqL服务器查询较慢,如何查找引起缓慢原因的具体查询语句?如何终止该语句的执行?

用microtime查每句sql语句的执行时间比较长的

用EXPLAIN 语句 来分析一下select 语句的运行效果,例如explain可以获得select语句

使用的索引情况、排序的情况等等。

终止语句执行可以查出正在运行的进程,然后kill掉就可以了。

SHOW PROCESSLIST;

KILL 查出来的Id;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐