ホームページ  >  記事  >  Java  >  javaweb 面接の質問 (3)

javaweb 面接の質問 (3)

(*-*)浩
(*-*)浩オリジナル
2019-12-13 15:31:372266ブラウズ

javaweb 面接の質問 (3)

AJAX の長所と短所は何ですか?

利点:

1. 最大のポイントは、ページが更新されず、ユーザー エクスペリエンスが非常に優れていることです。 (推奨学習: Javaインタビューの質問

2。より速い応答機能を備えた非同期モードをサーバーと通信します。

3. これまでサーバーに負担がかかっていた作業の一部をクライアントに転送することで、クライアントの空き容量を利用して処理できるため、サーバーと帯域幅の負担が軽減され、スペースとブロードバンドのレンタルが節約されます。費用がかかります。また、サーバーへの負担を軽減するために、ajax の原則は「オンデマンドでデータを取得する」ことで、冗長なリクエストと応答によるサーバーへの負担を最小限に抑えることができます。

4. 標準化され広くサポートされているテクノロジーに基づいているため、プラグインや小さなプログラムをダウンロードする必要はありません。

欠点:

1. Ajax はブラウザーの「戻る」ボタンをサポートしていません。

2. セキュリティの問題 AJAX はサーバーとの対話の詳細を公開します。

3. 検索エンジンのサポートは比較的弱いです。

4. プログラムの例外メカニズムを破壊しました。

5. デバッグは簡単ではありません。

AJAX アプリケーションと従来の Web アプリケーションの違いは何ですか?

従来の Javascript プログラミングでは、サーバー側のデータベースやファイルから情報を取得したり、クライアント情報をサーバーに送信したりする場合、HTML フォームを作成してから GET する必要があります。またはデータをサーバーに POST します。

ユーザーは「送信」ボタンをクリックしてデータ情報を送受信し、サーバーがリクエストに応答してページがリロードされるまで待つ必要があります。

サーバーは毎回新しいページを返すため、従来の Web アプリケーションは遅く、ユーザーフレンドリーではない可能性があります。

AJAX テクノロジを使用すると、JavaScript は XMLHttpRequest オブジェクトを通じてサーバーと直接対話できます。

HTTP リクエストを通じて、Web ページは Web サーバーにリクエストを送信し、(ページをリロードせずに) Web サーバーから返された情報を受け入れることができます。同じページが引き続きユーザーに表示されます。ユーザーは次のように感じます。リクエストを送信してレスポンスを受信するために Javascript バックグラウンドに移動する必要がなく、エクスペリエンスは非常に優れています。

Ajax の実装プロセスとは何ですか?

(1) XMLHttpRequest オブジェクトの作成、つまり非同期呼び出しオブジェクトの作成

(2) 新しい HTTP リクエストの作成、メソッド、URL、検証情報の指定.

(3) HTTP リクエストのステータス変化に応答する関数を設定します。

(4) HTTP リクエストを送信します。

(5) 非同期で返されたデータを取得します。

(6) JavaScript と DOM を使用して部分更新を実装します。

具体的には:

1、XNLHttpRequest オブジェクトを作成します

(不考虑ie)XMLHttpRequest request = new XMLHttprequest();

2. 新しい Http リクエスト

XMLHttprequest.open(method,url,flag,name,password);

3 を作成し、HTTP リクエストの変更に応答する関数を設定します

XMLHttprequest.onreadystatechange=getData;
function getData(){
    if(XMLHttprequest.readyState==4){
        //获取数据
    }
}

4、http リクエスト

XMLHttprequest.send(data);
を送信します

5、非同期呼び出し

function(data){
//异步提交后,交互成功,返回的data便是异步调用返回的对象,该对象是一个string类型的
}

6 で返されたオブジェクトを取得し、js と DOM を使用して部分的なリフレッシュを実現します

myDiv.innerHTML=''これは更新されたデータです' '

データベースについて簡単に話しましょう 3 つのパラダイム?

#第 1 正規形: データベース テーブル内のすべてのフィールドは分割できません

第 2 正規形: データベース テーブル内の主以外の属性は主キーのみに依存します

第 3 正規形: 非主属性とキーワードの間に推移関数の依存関係はありません

Java コレクション フレームワークとは何ですか?コレクション フレームワークの利点をいくつか挙げてください。

すべてのプログラミング言語にはコレクションが存在します。Java の初期バージョンには、Vector、Stack、HashTable、Array などのいくつかのコレクション クラスが含まれていました。

コレクションの普及に伴い、Java1.2 では、すべてのコレクション インターフェイス、実装、アルゴリズムを含むコレクション フレームワークが提案されています。 Java は長い間、スレッドの安全性を確保しながらジェネリックスと同時コレクション クラスを使用するプロセスを経てきました。これには、Java 同時実行パッケージでのブロッキング インターフェイスとその実装も含まれます。

コレクション フレームワークの利点は次のとおりです。

(1) 独自のコレクション クラスを実装する代わりに、コア コレクション クラスを使用して開発コストを削減します。

(2) 厳密にテストされたコレクション フレームワーク クラスを使用することで、コードの品質が向上します。

(3) JDK に付属のコレクション クラスを使用すると、コードのメンテナンス コストを削減できます。

(4) 再利用性と操作性。

Java コレクション フレームワークの基本インターフェイスは何ですか?

Collection は、コレクション レベルのルート インターフェイスです。コレクションは、その要素であるオブジェクトのセットを表します。 Java プラットフォームは、このインターフェイスの直接実装を提供しません。

Set は、重複した要素を含めることができないコレクションです。このインターフェイスは数学的なセットの抽象化をモデル化し、トランプのようなセットを表すために使用されます。

List は、繰り返しの要素を含めることができる順序付けされたコレクションです。インデックスを使用して任意の要素にアクセスできます。 List は、長さが動的に変化する配列に似ています。

Map は、キーを値にマップするオブジェクトです。Map には重複したキーを含めることはできません。各キーは最大 1 つの値のみをマップできます。

他のインターフェイスには、Queue、Dequeue、SortedSet、SortedMap、ListIterator などがあります。

コレクション フレームワークにおけるジェネリックの利点は何ですか?

Java1.5 ではジェネリックスが導入され、すべてのコレクション インターフェイスと実装でジェネリックスが広範囲に使用されています。ジェネリックを使用すると、コレクションが保持できるオブジェクト タイプをコレクションに提供できます。

したがって、他のタイプの要素を追加すると、コンパイル時にエラーが発生します。これにより、コンパイル時にエラー メッセージが表示されるため、実行時の ClassCastException が回避されます。

ジェネリクスはコードをよりクリーンにするため、明示的な変換やinstanceOf演算子を使用する必要がありません。また、型チェックされたバイトコード命令が生成されないため、ランタイムにも利点がもたらされます。

Enumeration インターフェイスと Iterator インターフェイスの違いは何ですか?

列挙はイテレータの 2 倍高速で、使用するメモリも少なくなります。列挙は非常に基本的なものであり、基本的なニーズを満たします。

ただし、列挙型と比較すると、コレクションの走査中に他のスレッドがコレクションを変更できないようにするため、反復子の方が安全です。

Iterator は、Java コレクション フレームワークの列挙を置き換えます。イテレーターでは呼び出し元がコレクションから要素を削除できますが、Enumeration ではそれができません。イテレータのメソッド名が改良され、その機能がより明確になりました。

Iterator と ListIterator の違いは何ですか?

1. Iterator を使用して Set コレクションと List コレクションを走査できますが、ListIterator は List のみを走査できます。

2、Iterator は前方のみにトラバースできますが、LIstIterator は両方向にトラバースできます。

3、ListIterator は Iterator インターフェイスから継承し、要素の追加、要素の置換、前後の要素のインデックス位置の取得などの追加関数を追加します。

オブジェクトのセットを並べ替えるにはどうすればよいでしょうか?

オブジェクトの配列を並べ替える必要がある場合は、Arrays.sort() メソッドを使用できます。オブジェクトのリストを並べ替える必要がある場合は、Collection.sort() メソッドを使用できます。

両方のクラスには、自然な並べ替え (Comparable を使用) または条件に基づく並べ替え (Comparator を使用) のためのメソッド sort() がオーバーロードされています。

コレクションは内部で配列の並べ替え方法を使用するため、コレクションがリストを配列に変換するのに時間がかかることを除けば、両方のパフォーマンスは同じです。

Java Collections Framework に関連するベスト プラクティスは何ですか?

1. 必要に応じて、正しいコレクション タイプを選択します。たとえば、サイズが指定されている場合は、ArrayList の代わりに Array を使用します。挿入順序に基づいて Map をトラバースしたい場合は、TreeMap を使用する必要があります。繰り返したくない場合は、Set を使用する必要があります。

2、一部のコレクション クラスでは初期容量を指定できるため、保存されている要素の数を見積もることができれば、それを使用して再ハッシュやサイズ変更を回避できます。

3 は、実装プログラミングではなくインターフェイス プログラミングに基づいており、後で実装を簡単に変更できます。

4、実行時に ClassCastException が発生しないように、常にタイプセーフなジェネリックスを使用してください。

5. hashCode() とquals() を自分で実装することを避けるために、JDK が提供する不変クラスを Map のキーとして使用します。

6、独自の実装を作成する代わりに、可能な限りコレクション ツール クラスを使用するか、読み取り専用の同期されたコレクションまたは空のコレクションを取得してください。コードの再利用性が向上し、安定性と保守性が向上します。

トランザクションとは何ですか?

トランザクションはリカバリと同時実行制御の基本単位です

トランザクションの 4 つの基本特性

原子性、一貫性、分離性、耐久性

原子性は一貫性とほぼ同じであり、すべてが成功するか失敗するかのどちらかであることを意味します。

一貫性とは、ある一貫性状態から別の一貫性状態に移行することを意味します

分離とは、トランザクションの実行と言われます。別のトランザクションによって干渉されることはできません

永続性とは、トランザクションが送信されると、データベース内のデータへの変更は永続的であり、変更できないことを意味します (これは単なるインタビューです) すぐに理解して、質問してくださいDu Niang の詳細を理解してください)

以上がjavaweb 面接の質問 (3)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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