PHPの古典的な顔の質問01

第五に、基礎と番組タイトル(言語であなたが良い推奨:C / C ++、PHP、Javaの)

5.ソートアルゴリズムを書くには、オブジェクトをソート次元配列することであると仮定すると、バブルソートやクイックソートすることができます。(ヒント:あなたは、既存システムの機能を使用することはできません、慎重にリコールに加えて、以前に基礎を学んだ)



//バブルソート(配列をソート)
機能bubble_sort($配列)
{
$ COUNTが= COUNT($配列);
IF($のCOUNT偽の<= 0)に戻り

($ I = 0; $ I <$ COUNT; $ I ++){
       ($ J = $ COUNT-1; $ J> $ I; $ J - ){
         ($配列IF [$ J <$配列[$ J-1]){
            $ TMP = $配列[$ J];
            $配列[$ J = $配列[$ J-1];
            $配列[$ J-1] = TMP $;
         }
       }
}
戻り$配列;
}

//クイックソート(並べ替え配列)
関数クイック($配列){
IF(COUNT($配列)<= 1)リターン$配列;

$キー$ =配列[0]。
$ left_arr =配列();
$ right_arr =配列();

($ I = 1; $ Iは、COUNT($配列)<; $ I ++)用{
       IF($配列[$ I <= $キー)
         $ left_arr [] = $配列[$ I ];
       他
         $ right_arr [] = $配列[$ I];
}

$ left_arr =クイック($ left_arr);
$ right_arr =クイック($のright_arr);

戻りarray_merge($ left_arr、アレイ($キー)は、$ right_arr)。
}





6.列傍受機能を、同様のSUBSTRを実装し、これは中国のマルチバイトコードを傍受することができなければなりません。各漢字は、通常の数字、記号、文字であると仮定すると、文字です。(ヒントGBは漢字をコードは、高域0x81-0xFEある)


関数GBSubstr(STRの$、$ LEN){
$カウント= 0;
のために($ I = 0; $ Iはstrlenを<(STR $); $ I ++){
IF(COUNT == $する$ LEN)BREAK;
IF(するpreg_match( "/ [\ x80- \ XFF] /"、SUBSTR(STRの$、I $ ,. 1)))++ $ I;
++ $カウント;       
}
リターンSUBSTR($ strの、0、 $ i)は、
}




関数GBSubstr2($のSRC、$ START = 0、$長= 0){
$サフィックス= "";
$ lenは=のSTRLEN($のSRC);
もし($ LEN <= $長)の戻りの$ SRC; 

$ cut_length = 0;
用($ IDX = 0; $ IDX <$長; $のIDX ++){ 
$ CHAR_VALUE = ORD($のSRC [$のIDX])。 
もし($ CHAR_VALUE <0x80で||($ CHAR_VALUE&0x40の))
$のcut_length ++;
他の
$ cut_length = $ cut_length + 3; 

$ curstr = SUBSTR($のSRC、0、$のcut_length)。
するpreg_match( '/ ^([\ x00- \ x7f] | {3})* /。'、$のcurstr、$結果);
$結果を返す[0];
}



関数CSubstr($ STR、$ 0、$長を開始、$文字セット= "GBK"、偽$サフィックス=){
(function_exists( "mb_substr"))なら、{
、$開始、$ STR($長mb_substrを返します$文字セット)。

$再度[ 'UTF-8' ] =「/ [\ x01- \ x7f] | [\ xc2- \ XDF] [\ x80- \ XBF] | [\ xe0- \のXeF] [\ x80- \ XBF] { } 2 | [\ xf0- \ XFF] [\ x80- \ XBF] {} 3 /。 ";
$のRe [ '2312'] =" / [\ x01- \ x7F] | [\ xb0- \ XF7] [\ xa0- \ XFE] / ";
$再[ 'GBK'] =" / [\ x01- \ x7F] | [\ x81- \ XFE] [\ x40- \ XFE] /「;
$再[ 'のBig5'] = "/ [\ x01- \ x7F] | [\ x81- \ XFE]([\ x40- \ x7e] | \ xa1- \ XFE])/";

preg_match_all($のRe [$文字セット]、$ strの、$一致)
=スライス$( ""、array_slice($ [0]、スタート$、$の長さに一致する));参加

IF($サフィックス){
リターン$スライス"...";
}
戻り$スライス;
}


7.書き込みサブディレクトリ内のすべてのサブディレクトリとファイルをトラバースする指定された機能(注:メソッドを再帰的に使用することができます)

関数dir_all($パス){ 
$ハンドラはのopendir($パス)=; 
しばらく(==偽(= TMPのreaddir $($へ!ハンドラ))){  
"(is_dir(IF $パス/ $のTMP ")){
するif($ TMP ==" "| $のTMP ==" .. ")続けます。 
。TMPエコー"<BR> \ N-" $; 
dir_all( "$パス/ $のTMP"); 
} {他
エコーの$ TMP "<BR> \ N-" ;. 


}


8.電子メールアドレスとURLマッチング書き込み2つの正規表現。:次のような
E-mailアドレス:[email protected]
アドレスのURL:http://www.example.com.cn/user_profile.php?uid=100 
(ヒント:標準の陽性発現を使用してPHPでpreg_で*クラスの正規ハンドラが定期的に解析することができます)

メール:. [ - ] / \ + W([ - 。 - +] [。] + W \)* @ \ワット+(\ + W)* \ \ + W(\ + W)* /
のURL:/ ^ HTTP :. \ / \ / [\ W] + \ [\ W] + [\ S] * /



VIは、データベース技術の質問が

三基の以上のMySQLデータベースのストレージエンジンの名前を書く6. (ヒント:大文字と小文字を区別しない)
のMyISAM、InnoDBは、BDB(バークレーDB)、マージ、メモリ(ヒープ)、例、連携、アーカイブ、CSV、ブラックホール、MaxDBのので、ダース以上のエンジンで

7.あなたが知っていると言います三つ以上のオープンソースのデータベース名(ヒント:人気の外国オープンソースのデータベースを考える)
のMySQL、SQLiteの、BDB(バークレーDB)、PostgreSQLの、火の鳥

主な違い8.MySQLデータベースのフィールドタイプはvarchar型、charはどのようなものですか?なぜ?、高効率のフィールド検索
varchar型の方が長い、ストレージスペースを節約し、チャーは固定長です。非固定長のvarchar型の長さを検索しなければならないので、クイック検索効率を入力charに、データは、その後、固定長のマルチステップ型より文字なので、非効率的な数、抽出された

9は、MySQL 4.0とMySQL 4.1のほとんどのバージョンを言います2間の主な違い。あなたは、MySQL 5を使用している場合、MySQLの5 MySQLの4との主な違いについて話してください。(タイトルが半分として選択された後)

のMySQL 4.1は、主にMySQLの4.0よりもサブクエリや複数文字エンコーディングのサポートの二つの特徴です。
MySQL5は、ストアドプロシージャ、ビュー、取引などを含め、MySQL4以上に機能性を高め

、ハードウェアと帯域幅を増加させることに加えて、あるものをデータベース10.MySQLに最適化された3つの基本的なルール?:(ヒントは、サービス構成、アプリケーション開発の角度から考える)
(1)システムサービスの最適化、MySQLのkey_buffer、cache_buffer、query_cacheは、容量の増加など
(2)すべてのフィールドに頻繁に適切なインデックスを増やす照会
(3)SQL文を最適化します、Ditinct、グループを削減するように操作文を参加



7つの総合的な技術問題

のJavaScript writeメソッド(注:メソッド、オブジェクト、HTML角度を考慮して)14.使用ラベルを生成する3枚の画像

(1)VAR IMG =画像新しい新しい();
(2)= VAR IMG document.createElement_xById( "イメージ")
(3)img.innerHTML = "<IMG SRC =" XXX.jpg "/>"

15.使用CSSスタイル、二つの方法の説明は、現在列のdiv内のオブジェクト表示
(1)<divのスタイル= "幅:19999px;"> </ div>
(2)<divのスタイル=「クリア:両方。 「> </ div>

16. HTMLとXHTML最も大きな違いのうち、二つ以上のポイントを説明する
(1)HTMLをする必要はありません、DOCTYPEに文書型XHTMLを施行しなければならない
(2)すべてのタグが閉じたXHTML、HTMLカジュアルでなければならない

17アウト名前はあなたがPHP(ヒント:一般的なPHPの拡張機能)を使用以上の5を拡大し
MB_Sring、Iconvに、カール、GD、SHM、のlibxmlなどのソケットは、MySQL、PDO、

18 MVCモデルを理解できますか?三つ以上の現在の人気PHPのMVCフレームワーク名(大文字と小文字を区別しない)書いてください
FleaPHP、Zend Frameworkの、CakePHPは、symfonyの、Plite、php.MVC、PHP ONトラックス、わいせつななど

19をより多くのあなたが10を書きます一般的なLinuxコマンドを知っていて、その機能
LSカラムディレクトリ
のCpコピー
Rmを削除し
ます。mkdirはディレクトリの作成
のCdスイッチのディレクトリを
Psは、プロセス参照
トップビュー機の使用


はVimエディタを使用し20?使用した場合、どのように水平方向と垂直方向の行を含めて、vimの中で可視化複数の窓をカットします。(この問題は、以下のように選択される)
スプリット(SP):クロス
縦:vsplit(VSP)

Linuxと見つけるコマンドgrepコマンド(として選択したタイトル)の違いについて21.話し
たファイル名で検索:検索
のGrep:ファイルの内容に応じて、検索

下から上に、22記述OSIネットワークモデルに名前を付けてください(することができます中国語)で説明した
物理層、データリンク層、ネットワーク層、トランスポート層、セッション層、プレゼンテーション層、アプリケーション層

23フルネームと中国語を話し、次は、これらのプロトコル(注意説明:アプリケーション層でのすべての作業を)
SMTP 、POP3、HTTP、FTP、DNS

SMTP(Simple Mail Transfer Protocol)を簡易メール転送プロトコル
POP3(ポストオフィスプロトコル3)郵便局プロトコルバージョン3
HTTP(ハイパーテキスト転送プロトコル)ハイパーテキスト転送プロトコル
FTP(ファイル転送プロトコル)ファイル転送プロトコル
DNS(ドメインネームシステムおよびドメインネームサービスプロトコル) ドメインネームシステム(サービス)プロトコル


24は、Memcacheのキャッシュを使用し、使用している場合、単にそれが正しい動作します記述することができますか?(のために選択したタイトル)

Memcahceは、すべての方向ハッシュテーブルにより、それらのメモリに格納されたデータ、および各キーと値のデータを置くことであるあなたがの値に応じて発見される特定の値にアクセスするときに、各キーは、ユニークですその結果を返します。Memcahceは徐々に古くなったデータを消去するにはLRUアルゴリズムを使用します。



25.セッションの一般的な原則について話してください。(ヒント:クッキーとの対応関係がある)

、ここで参照:http://www.yuanma.org/data/2006/1128/article_1872.htm



26.あなたは、これらの技術を含む検索エンジンについて知っていることを教えてください?(のために選択したタイトル)

爬虫類ワード(単語)、インデックス(ストレージ)、クエリやその他の関連技術の切断、(収集)


VIIIプロジェクトや設計問題を

一般的に、あなたが知っているすべてのメンバーの話を、Web開発チーム4.労働状況の部門


PS:自己決意


5.あなたは、個々のプロジェクトや作品の発展の最も誇りに思って何をやったかを教えてください(個々の作品があってよく、それは協力プロジェクトすることができます)

PS:自己決意



6.あなたの5台のサーバーを与えることとし、してくださいあなたは、オープンソースソフトウェアに精通している使用方法に関する一般的な説明、中規模のウェブサイトの日のPV3億設定

PS:自己決意の

参照構造を:
同期方式のマスター/スレーブを使用した3台のWebサーバー、2台のMySQLデータベースサーバは、軽減同じ3台のWebサーバの内容は、DNSの回転トレーニング方法は、負荷分散のために使用することができる一方、負荷データベースは、Webサーバーは、負荷を軽減するためにMemcaheキャッシュを組み合わせることができます

おすすめ

転載: www.cnblogs.com/Json159/p/11291714.html