php面试题精髓

来源:互联网 发布:猎流软件怎么样 编辑:程序博客网 时间:2024/05/28 11:48

算法篇:

1) 使用PHP描述冒泡排序和快速排序算法,对象可以是一个数组


1. //对数组冒泡排序

2. function bubble_sort($array){

3. $count = count($array);

4. if ($count <= 0) 

5. return false;

6. for($i=0; $i<$count; $i++){

7. for($j=$count-1; $j>$i; $j–){

8. if ($array[$j] < $array[$j-1]){

9. $tmp = $array[$j];

10. $array[$j] = $array[$j-1];

11. $array[$j-1] = $tmp;

12. }

13. }

14. }

15. return $array;

16. }


1. function quick_sort($array) {

2. if (count($array) <= 1) return $array;

3. $key = $array[0];

4. $left_arr = array();

5. $right_arr = array();

6. for ($i=1; $i<count($array); $i++){

7.  

8. if ($array[$i] <= $key)

9.  

10. $left_arr[] = $array[$i];

11. else

12. $right_arr[] = $array[$i];

13. }

14. $left_arr = quick_sort($left_arr);

15. $right_arr = quick_sort($right_arr);

16. return array_merge($left_arr, array($key), $right_arr);

17. }


2)使用PHP描述顺序查找和二分查找算法,顺序查找必须考虑效率,对象可以是一个有序数组


1. //使用二分查找数组中某个元素

2. function bin_sch($array, $low, $high, $k){

3. if ($low <= $high){

4. $mid = intval(($low+$high)/2);

5. if ($array[$mid] == $k){

6. return $mid;

7. }elseif ($k < $array[$mid]){

8. return bin_sch($array, $low, $mid-1, $k);

9. }else{

10. return bin_sch($array, $mid+1, $high, $k);

11. }

12. }

13. return -1;

14. }


1. //顺序查找数组中某个元素

2. function seq_sch($array, $n, $k){

3. $array[$n] = $k;

4. for($i=0; $i<$n; $i++){

5. if($array[$i]==$k){

6. break;

7. }

8. }

9. if ($i<$n){

10. return $i;

11. }else{

12. return -1;

13. }

14. }


3. 写一个二维数组排序算法函数,可以调用php内置函数,能够具有通用性


1. function array_sort($arr, $keys, $order=0) {

2. if (!is_array($arr)) {

3. return false;

4. }

5. $keysvalue = array();

6. foreach($arr as $key => $val) {

7. $keysvalue[$key] = $val[$keys];

8. }

9. if($order == 0){

10. asort($keysvalue);

11. }else {

12. arsort($keysvalue);

13. }

14. reset($keysvalue);

15. foreach($keysvalue as $key => $vals) {

16. $keysort[$key] = $key;

17. }

18. $new_array = array();

19. foreach($keysort as $key => $val) {

20. $new_array[$key] = $arr[$val];

21. }

22. return $new_array;

23. }


上面这些php面试题都是关于算法的,也是通过本人在网络搜集的,有更好的解决方案可留言给我!

 

 php学习视频下载网站:

PHP学习路线图

一、PHP初级:HTML+CSS+JavaScript

1水晶石技法Photoshop商业网页设计

http://yunpan.cn/QDPqTEGLs77R8

2水晶石技法Flash商业交互设计

http://yunpan.cn/QDPqdJasQx6Cq

3网页色彩与版式

http://pan.baidu.com/share/link?shareid=1182562096&uk=3123925961

 

4HTML+CSS从入门到精通

http://pan.baidu.com/share/link?shareid=2716185819&uk=3677553857

 

5CSS+DIV网页样式与布局从入门到精通

http://yunpan.cn/QDYb5yhkRc9ks

 

6CSS Web开发学习实录

http://pan.baidu.com/share/link?shareid=1738674039&uk=1362288048

 

7CSS设计彻底研究

http://pan.baidu.com/share/link?shareid=2767400713&uk=3677553857

 

8DIV+CSS网站布局与案例精粹

http://pan.baidu.com/share/link?shareid=2782051621&uk=3677553857

9、水晶石技法CSS+DIV商业网站设计

http://yunpan.cn/QDPBFsDJcwabD

10JavaScript从入门到精通

http://yunpan.cn/QDqMBMUz7N4sN

 

11、网页开发手记486JavaScript网页特效

http://pan.baidu.com/share/link?shareid=2836270084&uk=3677553857

12、《JQuery实战视频教程》

http://yunpan.cn/QDYb9NaEaQxds

13jQuery开发从入门到精通

http://yunpan.cn/QDqbUZWmSpYdf

 

14、网站重构与Web标准设计

http://pan.baidu.com/share/link?shareid=1334698204&uk=1446246354

15CSS资料、javascript资料

http://yunpan.cn/QDPBPsfu3iUF7

http://pan.baidu.com/share/link?shareid=2591205510&uk=1362288048

 

二、PHP中级:php核心编程和数据库的交互

1PHP核心编程

1)、LAMP兄弟连视频

http://www.verycd.com/topics/2843130/

http://www.lampbrother.net/

2)、PHP100

http://www.php100.com/

PHP开发实战权威指南

http://pan.baidu.com/share/link?shareid=1016158965&uk=3123925961

3)、PHP标准教程

http://pan.baidu.com/share/link?shareid=829390529&uk=3123925961

4)、PHP从入门到精通(第3版)

http://yunpan.cn/QDRCRYAAKJ7IQ

 

5)、PHP经典实例 张涛

http://yunpan.cn/QDPMj72kfJJBM

 

2MySQL数据库

http://pan.baidu.com/share/link?shareid=2583850771&uk=1362288048

 

3、项目

1)、PHP开发典型模块大全

http://pan.baidu.com/share/link?shareid=834136585&uk=3123925961

 

2)、PHP典型模块与项目实战大全

http://pan.baidu.com/share/link?shareid=819876888&uk=3123925961

 

三、PHP高级:框架的运用和网站的优化

1ThinkPHP

http://www.thinkphp.cn/down/teach_video.html

ThinkPHP视频教程-李文凯

http://yunpan.cn/QDPvpp9YPA5Ae

2Linux

1)、著名讲师赵小明RHCE视频教程

http://down.51cto.com/zt/1797/3

http://pan.baidu.com/share/link?shareid=1530070851&uk=3039995849

http://pan.baidu.com/share/link?shareid=3757200294&uk=4029830851

 

2)、yeslab-linux-rhce-LAB

http://pan.baidu.com/share/link?shareid=1541116315&uk=3039995849

 

3)、誉天邹老师运维系列教程之Nginx网站架构实战视频

http://pan.baidu.com/s/1vdr1t

 

4)、Linux下服务器架设视频教程

http://pan.baidu.com/s/1vdjcC

 

5)、Red Hat Linux 培训视频服务器篇

http://pan.baidu.com/s/1Dumtb

 

6)、Apache服务器配置与管理视频教程

http://pan.baidu.com/s/1BsjNd

 

7)、Apache服务深入解析系列视频教程

http://pan.baidu.com/s/1eiu03

 

8)、Linux视频教程 李明

http://yunpan.cn/QDP8DpGGvjXs9

 

3svn/uml

1)、北京圣思园OOADUML教学视频

http://pan.baidu.com/share/link?shareid=155691011&uk=3526622669

 

2)、西安电子科技大学《UML基础与应用》38

http://pan.baidu.com/share/link?shareid=3352873341&uk=4214465998

 

4PHP特级课视频教程--李强强

http://yunpan.cn/QDPkjSZveV93f

 

5NoSQL数据库之Redis数据库管理(李捷)

http://yunpan.cn/QDP5cq8fHKZdF

 

6、第九部分 BroPHP框架视频教程

http://yunpan.cn/QD6jfLCHBN662

 

7Smarty3视频教程

http://yunpan.cn/QDMLqKiQCgNGA

 

8Smarty2视频教程

http://yunpan.cn/QzsPCGyhYJQzc

 

 

四、面试与简历制作

1)、PHP面试题

http://yunpan.cn/QDPBvpKq2zzIL

    

2)、简历的制作+面试技巧

   http://pan.baidu.com/share/link?shareid=504614&uk=3644217033&third=2

 

 

五、英语

1IT精英职场英语口语

   http://pan.baidu.com/share/link?shareid=427786&uk=439715611&third=15

2、影视情景英语口语

http://pan.baidu.com/share/link?shareid=1513465730&uk=3090319662

 

3、职场英语口语一定要速成(第二版)

http://pan.baidu.com/share/link?shareid=8282848&uk=3090319662

 

六、关注程序员健康问题

   http://pan.baidu.com/share/link?shareid=425774&uk=1211444507&third=15

http://pan.baidu.com/share/link?shareid=3750441638&uk=1077052394

 

七、职业素养与团队合作

1)、程序员自我修养+职业素养+团队合作

      http://pan.baidu.com/share/link?shareid=504611&uk=3644217033&third=2

2)、就业指导+职业规划

      http://pan.baidu.com/share/link?shareid=504613&uk=3644217033&third=2

      http://yunpan.cn/QDRC3tJkmBXgC

 



0 0