ホームページ  >  記事  >  バックエンド開発  >  PHP の面接の質問 - 大企業からのものと言われています

PHP の面接の質問 - 大企業からのものと言われています

WBOY
WBOYオリジナル
2016-07-25 08:59:171037ブラウズ
  1. $arr1 = array (
  2. '0' => array ('fid' => 1, 'tid' => 1, 'name' =>'Name1' ),
  3. '1' => 配列 ('fid' => 1, 'tid' => 2 , 'name' =>'名前2' ),
  4. '2' => 配列 ('fid' => 1, ' tid' => 5 , 'name' =>'Name3' ),
  5. '3' => array ('fid' => 1, 'tid' => 7 , 'name' =>' Name4' ),
  6. '4' => array ('fid' => 3, 'tid' => 9, 'name' =>'Name5' )
  7. );
  8. $arr2 = array (
  9. ' 0' => 配列 (
  10. '0' => 配列 ( 'tid' => 1, 'name' => 'Name1'),
  11. '1' => 配列 ( 'tid' => 2, '名前' => '名前2'),
  12. '2' => 配列 ( 'tid' => '名前3'),
  13. '3' 配列 ( 'tid' => 7, 'name' => 'Name4')
  14. ),
  15. '1' => 配列 ( 'tid' => 'name' => 'Name5' )
  16. )
  17. );
コードをコピー
5. データベース設計のパラダイムとアプリケーションについて簡単に説明してください。 一般に、テーブル構造を最適化するには、第 3 正規形で十分です。これにより、アプリケーションが複雑になりすぎることを回避できるだけでなく、SQL ステートメントが大きすぎることによるシステムの非効率性も回避できます。

6. テーブル内に ID のレコードが複数あります。この ID のすべてのレコードを検索し、SQL ステートメント、ビュー、ストアド プロシージャを使用してこれを実装します。

  1. DELIMITER //

  2. CREATE PROCEDURE ProcGet
  3. (
  4. IN ID_a INT(11)
  5. )

  6. BEGIN

  7. SQLEXCEP の EXIT ハンドラーを宣言開始、終了;
  8. SELECT COUNT(*) AS Sum FROM News Where ID = ID_a;
  9. END;//

  10. CALL ProcGet(88)//

コードをコピー
7. テーブルには 3 つの列 A、B、C があります。SQL ステートメントを使用してこれを実装します。列 A が列 B より大きい場合は列 A を選択し、それ以外の場合は列 B を選択します。 C の場合は列 B を選択し、それ以外の場合は列 C を選択します。

    DELIMITER //

  1. CREATE PROCEDURE ProcOut()
  2. BEGIN
  3. DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN END;
  4. DECLARE Sum_a INT(11);
  5. DECLARE Sum_b INT( 11);
  6. Sum_c を宣言INT(11);

  7. --列 A の合計値を取得<--

  8. DECLARE cur_1 CURSOR FOR SELECT SUM(A) FROM table_name;
  9. OPEN cur_1;
  10. FETCH cur_1 INTO Sum_a ;
  11. CLOSE cur_1;

  12. --列 B の合計値を取得<--

  13. DECLARE cur_2 CURSOR FOR SELECT SUM(B) FROM table_name;
  14. OPEN cur_2;
  15. FETCH cur_2 INTO Sum_b ;
  16. CLOSE cur_2;

  17. --列 C の合計値を取得します<--

  18. DECLARE cur_3 CURSOR FOR SELECT SUM(C) FROM table_name;
  19. OPEN cur_3;
  20. FETCH cur_3 INTO Sum_c ;
  21. CLOSE cur_3;

  22. IF Sum_b THEN

  23. SELECT A FROM table_name;

  24. ELSEIF Sum_b >THEN

  25. SELECT B FROM table_name;< ;/p>
  26. ELSE

  27. SELECT C FROM table_name;
  28. END IF;;
  29. END;//

  30. CALL ProcOut()//

  31. コードをコピー
8. プロジェクト内の SQL ステートメントの実行効率を最適化する方法を簡単に説明してください。どのような観点から SQL ステートメントのパフォーマンスを分析しますか? 9. テンプレートがスマート テンプレートの場合。セクションステートメントを使用して $data という名前の配列を表示する方法。例えば:

$data = array(
    [0] => array( [id]=8 [name]='name1')
  1. [1] => array( [id]=10 [name] ='name2')
  2. [2] => array( [id]=15 [name]='name3')
  3. ......
  4. )
  5. コードをコピー

テンプレートページにコードを書きますか? foreach文を使用する場合、どのように表示すればよいでしょうか?

10. フォルダー内のすべてのファイルとサブフォルダーを走査できる関数を作成します。 (ディレクトリ操作)

11、都市テーブルと州テーブルの 2 つのテーブル。それぞれ都市と県の関係表です。

市: idシティ州 1 広州 1 2 深セン 1 3 恵州 1 4 長沙 2 5 武漢 3 ………。 広州 州: アイド州 1 広東省 2 湖南省 3 湖北省 ……。

(1) 2 つのテーブルを関連付ける SQL ステートメントを記述して、都市の基本情報を表示します。 ? (2) 表示フィールド: 都市 ID、都市名、都道府県。 のように: Id (都市ID) Cityname (都市名) Privence (州) 。 。 。 。

(2) 各州にある都市の数を数えたい場合は、group by を使用してクエリしてください。 ? 表示フィールド: 州 ID、州名、含まれる都市の数。

12. あなたの経験に基づいて、ソフトウェアエンジニアリングにおけるソフトウェア開発の手順を簡単に説明してください。 Rational Rose、PowerDesigner、Project、VSS または CVS、TestDirector のどれを使用しましたか? 欠点は何ですか? 13. オペレーティング システムのスレッドとプロセスの違いを簡単に説明してください。 LINUX で使用したソフトウェアをリストしてください。 14. 次のデータセット 10 2 36 14 10 25 23 85 99 45 をソートするには、疑似言語とデータ構造バブル ソート方法を組み合わせて使用​​してください。



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。