高级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);
2.两个都是array('a','b','c');
1.
function foo($i){ if($i == 0) return 0; if($i == 1) return 1; return foo($i-2)+foo($i-1);}echo foo(30);
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);
2.
a,b,c
a,b,c
7.ip通??卡??,依??卡*/
第一题如果写普通递归只能给一半的分吧。写尾递归可以给80%的分,直接写通项公式的给满分。
$j=1;
$i=0;
$m=30;
for($n=0;$n<$m;$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);
对不起,我还是想吐槽。
现在的程序员,动不动就递归,如果参数i比较大,直接内存就没了。
现在写项目,很多人都是不经过太深入思考的
14题有错!M()函数而不是$M()函数

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

JWT是一種基於JSON的開放標準,用於在各方之間安全地傳輸信息,主要用於身份驗證和信息交換。 1.JWT由Header、Payload和Signature三部分組成。 2.JWT的工作原理包括生成JWT、驗證JWT和解析Payload三個步驟。 3.在PHP中使用JWT進行身份驗證時,可以生成和驗證JWT,並在高級用法中包含用戶角色和權限信息。 4.常見錯誤包括簽名驗證失敗、令牌過期和Payload過大,調試技巧包括使用調試工具和日誌記錄。 5.性能優化和最佳實踐包括使用合適的簽名算法、合理設置有效期、

會話劫持可以通過以下步驟實現:1.獲取會話ID,2.使用會話ID,3.保持會話活躍。在PHP中防範會話劫持的方法包括:1.使用session_regenerate_id()函數重新生成會話ID,2.通過數據庫存儲會話數據,3.確保所有會話數據通過HTTPS傳輸。

PHP8.1中的枚舉功能通過定義命名常量增強了代碼的清晰度和類型安全性。 1)枚舉可以是整數、字符串或對象,提高了代碼可讀性和類型安全性。 2)枚舉基於類,支持面向對象特性,如遍歷和反射。 3)枚舉可用於比較和賦值,確保類型安全。 4)枚舉支持添加方法,實現複雜邏輯。 5)嚴格類型檢查和錯誤處理可避免常見錯誤。 6)枚舉減少魔法值,提升可維護性,但需注意性能優化。

SOLID原則在PHP開發中的應用包括:1.單一職責原則(SRP):每個類只負責一個功能。 2.開閉原則(OCP):通過擴展而非修改實現變化。 3.里氏替換原則(LSP):子類可替換基類而不影響程序正確性。 4.接口隔離原則(ISP):使用細粒度接口避免依賴不使用的方法。 5.依賴倒置原則(DIP):高低層次模塊都依賴於抽象,通過依賴注入實現。

在PHPStorm中如何進行CLI模式的調試?在使用PHPStorm進行開發時,有時我們需要在命令行界面(CLI)模式下調試PHP�...

使用PHP的cURL庫發送JSON數據在PHP開發中,經常需要與外部API進行交互,其中一種常見的方式是使用cURL庫發送POST�...

靜態綁定(static::)在PHP中實現晚期靜態綁定(LSB),允許在靜態上下文中引用調用類而非定義類。 1)解析過程在運行時進行,2)在繼承關係中向上查找調用類,3)可能帶來性能開銷。
