ホームページ > バックエンド開発 > PHPチュートリアル > シニア PHP エンジニアの面接の質問、何問答えられますか?

シニア PHP エンジニアの面接の質問、何問答えられますか?

WBOY
リリース: 2016-06-23 13:28:02
オリジナル
975 人が閲覧しました

1. 数字の列の規則は次のとおりです: 1、1、2、3、5、8、13、21、34... 30 番目の桁を見つけて、関連する関数とアルゴリズムの名前を書き留めます

2. 次のコードは次のようになりますか?
$a=array('1','2','3');
$b=&$a;
print_r($) a);
print_r($b);
3. ツリー構造 (組織など) が必要な場合、データ構造と操作方法をどのように設計するか?
4. Ajax または PHP の非同期と同期の概念を理解するにはどうすればよいですか?
5. ajax とは何ですか?
6. Cookie とセッションとは何か、その用途、範囲、ライフサイクルについて詳しく説明します。
7. IP アドレスが 192.168.1.10 の Linux サーバーでは、ローカル マシン上の mysql の Web 接続アドレスは 192.168.1.10 です。この時点でデータはネットワーク カードに流れますか?はいまたはいいえ、その理由を説明してください。
8. 疑似コードを使用してページング関数の原理を記述します
9. CSS と HTML を使用して 2 列レイアウトの Web ページを作成します。右側の幅は 200px で、左側は自動的に拡張される必要があります

10. ディレクトリ操作の疑似コードを作成します

11. データベースは次のようなレコードを読み取ります:
Id: 132
Name: Rich Island-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 および Windows プラットフォームでプログラムを開発する場合、特に注意すべき点は何ですか?





13. 要件に従って SQL を記述します
テーブル A:

テーブル B




テーブル B の sCode を例として結合クエリを作成し、テーブル A 内の Company のレコードを検索します。 sCode を含む

14.ThinkPHP フレームワークでは、次の定義の違いは何ですか?
$staffModel=$M(“staff”);
$staffModel=$D(“staff”);

15.Ext.get() 関数はどのようなデータ型を返しますか?
A 単一の DOM ノード オブジェクト
B 拡張コンポーネント
C 単一の拡張要素
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


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);
ログイン後にコピー
ログイン後にコピー
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);
ログイン後にコピー


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);
ログイン後にコピー
ログイン後にコピー
832040

ごめんなさい、まだ文句を言いたいです。

今日のプログラマは、パラメータ i が比較的大きい場合、直接メモリが失われることがよくあります。

最近、あまり深く考えずにプロジェクトを書く人が多いです

質問 14 は間違っています! $M() 関数の代わりに M() 関数

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート