Home > Article > Backend Development > 高级PHP工程师面试题,你能做多少题?
1. 有一列数的规则如下 1、1、2、3、5、8、13、21、34... 求第30位数是多少.写出相关函数和算法名称
2. 下面代码结果是?
$a=array('1','2','3');
$b=&$a;
$a=array('a','b','c');
print_r($a);
print_r($b);
3. 需要一个树状结构(如组织机构),如何设计数据结构与操控方式?
4. 如何理解ajax或php里的异步和同步概念?
5. 什么是ajax?
6. 详细解释下cookie与session为何物,其用途、作用范围、生命周期。
7. 一台IP为192.168.1.10的linux服务器上,web连接本机的mysql其连接地址为192.168.1.10,问此时数据流向网卡吗?是与否请阐述为什么?
8. 用伪代码写出分页功能原理
9. 用css、html编写一个两列布局的网页,要求右侧宽度为200px,左侧自动扩展
10. 写出目录操作的伪代码
11. 数据库读取出记录如:
Id:132
Name:富之岛-1829Y
……
……
File_path:model_item/2012/12/fzd_1829Y.zip
说明:项目配置文件:$conf[‘path_info’]+file_path=文件实际路径
假设现有数据变量如下:
$rs //数据库记录
$upldFile //已上传的数据文件
$conf[‘path_info’]//全局配置:总目录路径
$conf[‘bk_path_info’]//全局配置:备份目录路径
1) 当前上传文件替换掉数据库中所指向的文件
2) 当前记录删除,文件转移至备份目录
*要求充分考虑到各种异常情况
12.Linux与Window两个平台上程序开发特别需要注意什么?
13.根据要求写出Sql
表A:
表B
做一个联接查询,以B表sCode为例找出A表中Company包含了sCode的记录
14.ThinkPHP框架中,下列定义有什么不同?
$staffModel=$M(“staff”);
$staffModel=$D(“staff”);
15.Ext.get()函数返回哪种数据类型?
A 单个DOM节点对像
B Ext组件
C 单个Ext元素
D 多个DOM节点对像
求答案
1.
$pxx = array(1,1);for($i=2;$i<=29;$i++){ $con = $pxx[$i-2] + $pxx[$i-1]; array_push($pxx, $con); }var_dump($pxx);832040
1.
function foo($i){ if($i == 0) return 0; if($i == 1) return 1; return foo($i-2)+foo($i-1);}echo foo(30);832040
1.有一列数的规则如下 1、1、2、3、5、8、13、21、34... 求第30位数是多少.写出相关函数和算法名称
传统方法:
genFibonacciNumByInputIndex($numIndex){
if(!is_numberic($numIndex))
return 'pls input a number of index';
if($numIndex == 1 || $numIndex == 2){
return 1;
}else{
return genFibonacciNumByInputIndex($numIndex - 1) + genFibonacciNumByInputIndex($numIndex - 2);
}
}
for循环的效果更好。
2.下面代码结果是?
$a=array('1','2','3');
$b=&$a;
$a=array('a','b','c');
print_r($a);
print_r($b);
答案: $a = array('a','b','c'); $b = array('1','2','3');
3.需要一个树状结构(如组织机构),如何设计数据结构与操控方式?
商品分类会经常用到此结构。层级不多可用数组,层级较多可用二叉树或者散列。
4.如何理解ajax或php里的异步和同步概念?
个人理解:打个比方,
异步:
1.jquery:老P(老J,老.都可,对号入座),1号客人红烧牛肉面一份。
2.jquery:老P(老J,老.都可,对号入座),2号桌子酸菜牛肉面一份。
3.jquery:老P(老J,老.都可,对号入座),3号客人茶树菇炖小鸡面两份。
...
n.PHP: 好嘞,赶紧炒牛肉,上面。。放酸菜,上面。。去菜市场,买茶树菇,买只老鹰来抓小鸡,上面。。
n+1. jquery: 老P、、、
n+2. PHP: 尼玛想累死爹啊。你先把菜上完!
同步:
1.jquery:老P(老J,老.都可,对号入座),1号客人红烧牛肉面一份。
2.PHP: 好嘞,赶紧炒牛肉,上面。。
3.jquery:老P(老J,老.都可,对号入座),2号桌子酸菜牛肉面一份。
4.PHP: 好嘞,赶紧放酸菜,上面。。
5.jquery:老P(老J,老.都可,对号入座),2号桌子茶树菇炖小鸡面两份。
6.PHP: 好嘞,赶紧去菜市场,买茶树菇,买只老鹰来抓小鸡,上面。。
睡觉。。明天再答
话说这不是高级工程师的面试题吧。我才一年多一点经验。。
1、Fibonacci 斐波纳契数列
echo Fibonacci(30)); //832040function Fibonacci($n) { for($i=0; $i<$n; $i++) $r[] = $i < 2 ? 1 : $r[$i-1] + $r[$i-2]; return $r[--$i];}
4楼第二题错了...
两个都是abc 因为用了引用...
第9题
<div style="width:99%; position:relative;"> <div style="margin-right:200px; border:1px solid blue; height:100%;">左侧自动扩展</div> <div style="position:absolute; top:0; right:0; width:200px; border:1px solid #000; height:100%;">右侧固定200px</div></div>
收获了,感觉每个题都能写一写东西
没有难题。真是高级工程师面试题?
12题。不明白考点在哪里。目录?大小写敏感?权限?安全性?GUI?包管理?系统资源限制(最大文件限制、最多打开文件句柄限制)。
如果真的是“不同点”,恐怕能写不少东西。
应该不是高级工程师的吧~~
看一下都不算高级吧
还行,理论知识偏多
实战应用中,还是来个实际点的应用模块来的实际点
1.
function f($m){ if($m==1 || $m==2){ return 1; }else{ return f($m-1) + f($m-2); }}echo f(30);
第一题如果写普通递归只能给一半的分吧。写尾递归可以给80%的分,直接写通项公式的给满分。
$j=1;
$i=0;
$m=30;
for($n=0;$n $j = $j + $i;
$i = $j - $i;
}
翻旧代码翻出来的一个
第13题考的是函数substring的用法,答案如下:
SELECT * FROM `t1`
LEFT JOIN `t2` ON t2.sCode = substring(t1.company, 4, 4);
我就看看 答不出..
这玩意有多大意义,高级工程师是考出来的?
我感觉这题目比较简单,我才刚毕业。
现在证书还有用吗?
1.
function foo($i){ if($i == 0) return 0; if($i == 1) return 1; return foo($i-2)+foo($i-1);}echo foo(30);832040
14题有错!M()函数而不是$M()函数