第26セット(三)


データベースセクション
1.mysqlにおけるMyISAMとInnodbの2つの異なるタイプのデータ型の長所と短所を簡単に述べる.
              MyISAM          InnoDB 
                               
            ,           
                             
                            ,   2  
                              
GIS                             
COUNT                         COUNT(*)   ,   

2.既知の表:member、100万件のデータを含んで、
フィールド:id、username(ユーザー名)、city(所在都市)、gender(性別)、birthday(誕生日)a.sql文を書いて、member表から唯一の重複しない記録select distinct username from memberを取得してください.b.テーブルにインデックスが確立されていないことがわかりました.sql文のクエリが多いのはusername、genderフィールドです.インデックスをどのように構築し、最適なパフォーマンスを得ることができますか.create index index_username on member(username); create index index_gender on member(gender); またはcreate index index_u on member(username,gender); c.既存のsql文Select*from member where city=‘guangzhou’and birthdy=’2010-10-10’mysqlでこのsql文がどのくらい実行されたかをどのように知るか、このsqlが本当にどのインデックスフィールドにアクセスしたかを見る方法1:一番下のプロンプトボックスを直接見る.時間の表示方法2:declare@begin_date datetime declare @end_date datetime select @begin_date = getdate() select @end_date=getdate()select datediff(ms,@begin_date,@end_date)as‘タイム/ミリ秒’インストールplsql sql入力sql文を入力してF 5 SQL文にexplainを追加
3.データベースSQLの効率(通常はデータベースquery時間)をチェックし、スクリプトの実行とデータベースクエリーのボトルネックを特定し、分析するには、どのような方法を使用しますか?
1.スクリプト実行時間、xdebugを有効にし、WinCacheGrind分析を使用します.2.データベースクエリー、mysql EXPLAINを使用してクエリーを分析し、slow query logを有効にして遅いクエリーを記録する.3,xdebug統計関数の実行回数と具体的な時間を分析する.4,オンラインシステムはstraceで関連プロセスの具体的なシステム呼び出しを追跡する.
Web開発部
4.抽象クラスとインタフェースクラスの違いは何ですか?
抽象クラス:定義:クラスに少なくとも1つの方法があり、方法体がなく、直接セミコロンで終わると、この方法は抽象メソッドと呼ばれ、abstract修飾を加える.1.抽象メソッドを含むクラスは抽象クラスに違いないが、すべての抽象クラスが抽象メソッドを含まなければならないかどうか.抽象クラスにもabstract修飾を加える.2.インスタンス化できない、すなわちnewを対象にできない.3.抽象クラスを使用するには、この抽象クラスを継承するクラスを定義し、抽象メソッド(親クラスを上書きする抽象メソッド)を実現する必要があります.抽象クラスはサブクラス(実装クラス)に対して一定の制約作用がある.
インタフェース:定義:抽象クラスに含まれる抽象メソッドのみをinterface(インタフェース)として定義し、implementsキーワードで使用することができる:オブジェクト向けプログラミング言語が多重継承をサポートしないという問題を解決するために.1.クラスがインタフェースを継承する後、そのインタフェースを上書きするすべての方法を実装しなければならない.そうでなければ抽象クラスである.
違い:1.定義上:抽象クラスは、そのクラスにすでにいくつかの方法の具体的な定義がある可能性があることを示し、インタフェースは各方法のインタフェースのみを定義することができ、メンバーメソッドに具体的な実装コードを持つことができない.用法上:抽象クラスは子クラスが継承するために用いられ、親クラスに実際の機能を持つ方法がある場合、この方法は子クラスで実現する必要がない.インタフェースを実装するには、インタフェース内のすべての定義方法を実装する必要があります.いずれかを漏らすことはできません.
5.フォームのgetとpostのコミット方法の違い?
1.GETコミットデータはURLに添付されるので、明文転送であるが、POSTはHTTPパケットに入れる、アドレスバーは表示されない.GETパラメータにはブラウザやオペレーティングシステムによってサイズの制限があります.POSTパラメータは理論的には制限されないが,設定と考えられる.3.POST安全性はGETより高い
6.HTTPプロトコルにおけるいくつかのステータスコードの意味:503 500 401 200 301 302
200クライアント要求成功301要求のウェブページは永久的に新しい位置302サーバに移動し、現在異なる位置のウェブページ応答要求401要求から許可されていない.このステータスコードは、WWW-Authenticateヘッダドメインとともに500サーバを使用して予期せぬエラー503サーバが発生しなければならない.現在、クライアントの要求を処理できず、一定時間後に正常に戻る可能性がある.
7.HTTPヘッダを作成し、以下の要件を満たしてください.
①    post  
②  : http://www.example.com:8080/test
③POST   :
                Username: test
                Pwd:  test2
                Intro: hello  world!

④    COOKIE  :
                Cur_query:you&me

説明:1もし、あるHTTPプロトコルの命令字を覚えていないならば、それでは、“漢字”で2に取って代わって、あなたはもっと多くのHTTPプロトコルの命令字を覚えることができて、そんなに多くいくつかの文を書いて、いつも悪いところがなくて、いいでしょう?3肝心なのは、正確な「輪郭」(http watchなどのツールで印刷された頭部を覚えていますか?それが「輪郭」の意味)を描くだけで、点数もありますが、チェーン「」が間違っていると残念です.
host:http://www.example.com:8080/test
cookie:Cur_query:you&me
post:Usernaem :test ;Pwd :test2 ;Intro :hello world !

8.大トラフィックのウェブサイトに対して、ソフトウェア構造からどのような方法でアクセス量の問題を解決または緩和することができますか?
まず、サーバのハードウェアが現在のトラフィックをサポートするのに十分であるかどうかを確認します.次に、データベースへのアクセスを最適化します.第三に、外部のチェーンを盗むことを禁止する.第四:大きなファイルのダウンロードを制御する;第五:異なるホストを使用して主要流量を分流する.第六:流量分析ソフトを使用して分析と微調整を行う
Linux/unixセクション
9.現在ログインしているユーザーの環境変数の設定を表示する方法は、アクションコマンドを書き出してください.
コマンド:cat/etc/profile 1.Linuxの変数の種類は変数の生存周期によって区分され、Linux変数は2種類に分けることができる:1.1永久的:プロファイルを修正する必要があり、変数は永久的に有効である.1.2一時的:exportコマンド宣言を使用すると、shellを閉じると変数が無効になります.2.変数を設定する3つの方法2.1/etc/profileファイルに変数を追加【すべてのユーザに対して有効(永続的)】VIでファイル/etc/profileファイルに変数を追加すると、Linuxの下のすべてのユーザに対して有効になり、「永続的」になります.たとえば、/etc/profileファイルを編集し、CLASSSPATH変数を追加します.
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib

注意:ファイルを変更してすぐに有効にするには、#source/etc/profileを実行します.そうしないと、次回このユーザーに再入力するときにのみ有効になります.2.2ユーザディレクトリの下にある.bash_profileファイルに変数を追加する(単一のユーザに対して有効(永久的)VIをユーザディレクトリの下に使用する.bash_Profileファイルに変数を追加すると、変更量は現在のユーザーにのみ有効であり、「永続的」になります.
  :  guok    (/home/guok)  .bash_profile
$ vi /home/guok/.bash.profile
      :
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
 :               $ source /home/guok/.bash_profile               。

2.3直接実行exportコマンド定義変数【現在のshell(BASH)に対してのみ有効(一時的)】shellのコマンドラインの下で直接[export変数名=変数値]を使用して変数を定義し、この変数は現在のshell(BASH)またはそのサブshell(BASH)の下でのみ有効であり、shellが閉じ、変数も失効し、新しいshellを開くとこの変数はありません.使用する必要がある場合は再定義する必要があります.
3.環境変数の表示3.1 echoコマンドを使用して、単一の環境変数を表示します.たとえば、echo$PATH 3.2はenvを使用してすべての環境変数を表示します.たとえば、env 3.3はsetを使用してすべてのローカル定義環境変数を表示します.unsetは、指定した環境変数を削除できます.4.一般的な環境変数PATHは、shellがどのディレクトリにコマンドまたはプログラムHOME現在のユーザホームHISTSIZE履歴数LOGNAME現在のユーザのログイン名HOSTNAMEがホストの名前SHELL現在のユーザShellタイプLANGUGE言語に関する環境変数を指すかを決定する.多言語は、この環境変数MAILの現在のユーザのメール格納ディレクトリPS 1の基本プロンプトを変更することができ、rootユーザに対しては#、一般ユーザに対しては$
10.ログ・ファイルを監視し、「error」または「debug」文字列を持つ最後の行をリアルタイムで表示する方法
tail –f /var/log/messages | grep -E error|debug

11.linuxシステムの下で、あなたが書いたSHELLプログラムaaa.shは直ちに実行できますか?できない場合は、どのような処理が必要ですか?
chmod u+x date

12.linuxシステムに「」文字列を含む実行中のすべてのプロセスをスーパーユーザーの下に表示します.使用するコマンドおよびパラメータは次のとおりです.
ps –aux | grep \”\”

13.linuxシステムの下で、ホスト名とIPアドレスのマッピング関係を含むファイルは
/etc/hosts