php算法数据结构面试 php算法面试题及答案( 二 )


case when first_namelast_name then first_name
else last_name end
else
case when middle_namelast_name then middle_name else last_name
end
end as name
from member
[/php]
8请简述项目中优化sql语句执行效率的方法,从哪些方面,sql语句性能如何分析?
ANSWER: sql优化有鸟用,不如直接加索引 。
9 如果模板是用smarty模板 。怎样用section语句来显示一个名为$data的数组 。比如:
[php]$data = https://www.04ip.com/post/array(
[0] = array( [id]=8 [name]=’name1′)
[1] = array( [id]=10 [name]=’name2′)
[2] = array( [id]=15 [name]=’name3′)
……
)[/php]
写出在模板页的代码? 若用foreach语句又要怎样显示呢?
占无答案.
10 写一个函数,能够遍历一个文件夹下的所有文件和子文件夹 。(目录操作)
[php] ?php
$d = dir(dirname(__file__));
//echo "Handle: " . $d-handle . "\n";
//echo "Path: " . $d-path . "\n";
while ( false !== ($entry = $d-read ()) ) {
echo $entry . "br /";
}
$d-close ();
[/php]
11 两张表 city表和province表 。分别为城市与省份的关系表 。
city:
id City Provinceid
1 广州 1
2 深圳 1
3 惠州 1
4 长沙 2
5 武汉 3
………. 广州
province:
id Province
1 广东
2 湖南
3 湖北
……….
(1) 写一条sql语句关系两个表 , 实现:显示城市的基本信息 。?
(2) 显示字段:城市id ,城市名,所属省份。
如:
Id(城市id) Cityname(城市名) Privence(所属省份)
。。。。。。。。。
。。。。。。。。。
(2)如果要统计每个省份有多少个城市,请用group by 查询出来 。?
显示字段:省份id,省份名,包含多少个城市 。
ANSWER:
1.select A.id,A.Cityname,B.Province from city A,province B where A.provinceid=B.id
2.select B.id,B.Province,count(*) as num from city A,province B where A.provinceid=B.id group by B.id
12. 按照你的经验请简述软件工程进行软件开发的步骤 。以下工具Rational Rose、PowerDesigner、Project、VSS或CVS、TestDirector使用过那种,有缺点是什么?
公司用dbdesigner及cvs,测试管理工具用的是Mantis
13. 请简述操作系统的线程与进程的区别 。列举LINUX下面你使用过的软件?
14. 请使用伪语言结合数据结构冒泡排序法对以下一组数据进行排序 10 2 36 14 10 25 23 85 99 45 。
[php]function bubble_sort( $arr){
$number=count($arr);
for($i=0;$i$number-1;$i++){
for($j=0;$j$number-1-$i;$j++){
if($arr[$j]$arr[$j+1]){
$tmp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$tmp;
}
}
}
}
$str="10 2 36 14 10 25 23 85 99 45";
$arr=explode(" ",$str);
bubble_sort($arr);
echo "pre";
var_dump($arr);
[/php]
php面试项目遇到的难点php面试项目遇到的难点 , 
准备可能遇到的问题,
1.消息队列
答:消息队列:是在消息的传输过程中保存消息的容器 。消息队列管理器在将消息从它的源中继到它的目标时充当中间人 。队列的主要目的是提供路由并保证消息的传递;如果发送消息时接收者不可用,消息队列会保留消息,直到可以成功地传递它 。
应用场景:异步处理 , 应用解耦,流量削锋和消息通讯四个场景;
2.全文索引
全文检索大体分两个过程,索引创建 (Indexing) 和搜索索引 (Search)。
索引创建:将现实世界中所有的结构化和非结构化数据提取信息 , 创建索引的过程 。
搜索索引:就是得到用户的查询请求,搜索创建的索引,然后返回结果的过程 。

推荐阅读