ホームページ Java &#&面接の質問 中級および上級 Java 面接の質問 (回答付き)

中級および上級 Java 面接の質問 (回答付き)

Nov 14, 2019 pm 04:51 PM
java 中級

中級および上級 Java 面接の質問 (回答付き)

#1. Redis はどのようにローカル データと同期しますか?

プログラムは mysql の更新、追加、削除を実装し、redis を同期的に操作します。

プログラムは redis をクエリします。存在しない場合は、mysql にクエリを実行し、redis を自動的に保存します

2. Redis にはいくつのデータ構造がありますか?

set、list、hash、string、zset

3. Java メモリ オーバーフローはどのようにして発生しますか?

OutOfMemoryError:

(1)PerGern Space プログラム内で多数の jar またはクラスが使用されているため、仮想マシンがクラスをロードするためのスペースが不足しています。

解決策: パラメータ XX:PermSize および XX:MaxPermSize を調整し、jar パッケージを減らし、クラスの繰り返しロードを減らします

(2) Java ヒープ

Space Java 仮想マシンの作成は複数のオブジェクトが多すぎます。解決策: パラメータ Xms (初期ヒープ サイズ) と Xmx (最大ヒープ サイズ) を調整し、無限ループや重複オブジェクトの不必要な作成を確認します。

(3)新しいネイティブ スレッドを作成できません

JVM が占有するメモリ領域が多すぎるため、JVM でスレッドを作成するには、オペレーティング システムでスレッドを作成する必要があります。解決策: JVM のスレッド サイズを調整します。

4. String s = “123”、このステートメントによって生成されるオブジェクトの数はいくつですか?

文字列プールに「123」がない場合は生成して定数プールに入れ、「123」がある場合は 0 を生成します

5 、JDK8 の新機能、例で説明

(1) ラムダ式: 関数プログラミング、メソッドリファレンス

(2) ストリーム API

(3)インターフェースのデフォルトメソッド

(4) 日時APIの改善、新しいDateTimeFormatterメソッド

6. 高同時実行性と高負荷の解決

(1) HTMLを可能な限り静的にし、情報入力・公開システムCMSを利用して情報入力用の静的ページを自動生成し、頻繁に変更されない動的データをフロントエンドにキャッシュする。

(2) CDN 高速化、CSS/JS などのリソースを別サーバーに分散

(3) 頻繁に変更されないデータをキャッシュします (Redis、memcache)。

(4) 画像サーバーはアプリケーションサーバーから分離されています。

(5) クラスター

7. プロデューサー モデルとコンシューマー モデルの役割は何ですか?

(1) 生産能力と消費者の購買力のバランスをとることでシステム全体の運用効率を向上 (2) デカップリング

8、Mybatis レベル 1、レベル 2 レベルキャッシュ

(1) レベル 1 キャッシュ: PerpetualCache に基づく HashMap ローカル キャッシュで、スコープ セッションを保存します。Session

がフラッシュまたはクローズされると、セッション内のすべてのキャッシュがクリアされます。

(2) 2 次キャッシュは、1 次キャッシュと同じメカニズムを持っています。デフォルトでは、PerpetualCache と HashMap ストレージも使用します。違いは、ストレージ スコープ マッパーにあり、ストレージ ソースは次のとおりです。 2次キャッシュを有効にする必要がある場合。

9 を SQL マッピング ファイルに追加して、公開から利用までのサービスの詳細なプロセスを記述します。

最初に zk の構成情報を取得し、次に URL を取得します。次に、レジストリと register メソッドを呼び出して URL を Zookeeper

10 に登録します。ロード バランシングを実現するにはどうすればよいですか?どのようなアルゴリズムを実現できますか?

ランダム、ラウンドロビン、コンシステントハッシュ、およびマスター/スレーブ

11. 必要に応じて、Spring AOP をどのように実装しますか?

AOP テクノロジの実装は、主に 2 つのカテゴリに分類されます。1 つは動的プロキシ テクノロジの使用です。これは、メッセージをインターセプトしてメッセージを装飾し、元のオブジェクトの動作の実行を置き換える方法を使用します。

2 つ目は、静的ウィービングを使用して「アスペクト」を作成するための特定の構文を導入し、「アスペクト」に関連するコードがコンパイラー

12 に組み込まれるようにすることです。繰り返しのページ送信を防止しますか?

クラスター環境: トークンと redis を使用 (redis はシングルスレッドなので、処理をキューに入れる必要があります)

処理プロセス:

1. データを送信する前に、トークンをサービスに送信する必要があります。トークンを申請し、トークンを Redis メモリに置きます。トークンは

2 に対して有効です。送信後にバックグラウンドでトークンを確認し、同時にトークンを削除します。 、新しいトークンを生成し、

13 を返します。micro Serve とは何ですか?

さまざまなビジネス ルールに従ってプロジェクトをマイクロサービスに分割し、それらをさまざまなマシンにデプロイします。サービスは互いに呼び出します

14. Web サービスとは何ですか?

(1) Web サービスは、Web 経由で呼び出すことができる API を外部に公開するアプリケーションです。

(2) HTTP プロトコルに基づいてデータを送信します。これにより、別のマシン上で別のアプリケーションを実行することができ、追加の専用サードパーティ ソフトウェアやハードウェアに頼ることなく、データを交換したり相互に統合したりすることができます

15.あなたのプロジェクトに Struts2 を選択した理由について教えてください?

①アクションはPOJOクラスでサーブレットAPIに依存せず、テスト容易性が良好、②強力なインターセプタにより開発の複雑さを簡素化、

③複数のパフォーマンスをサポートレイヤー技術: JSP、Freemarker , など; ④ 柔軟な検証方法; ⑤ 国際化 (I18N) サポート ⑥ 宣言的例外管理;

⑦ JSON プラグインによる Ajax の簡素化; ⑧ Spring プラグインによる Spring との統合;

16. インターセプターとフィルターの違いについて話しますか?

インターセプターとフィルターの両方を使用して、横断的なアテンション関数を実装できます。主な違いは次のとおりです: ①インターセプターは JAVA リフレクション メカニズムに基づいており、フィルターは関数コールバックに基づいています

②フィルターはサーブレットに依存しますインターセプタはサーブレット コンテナに依存しませんが、インターセプタはサーブレット コンテナに依存しません。

③インターセプタはアクション リクエスト (アクション中のメソッド) でのみ動作しますが、フィルタはほぼすべてのリクエスト (CSS JSP JS) で動作します

17. Spring はどのような種類のトランザクション管理をサポートしていますか?

プログラムによるトランザクション管理: プログラムによる管理、優れた柔軟性、保守が困難

宣言型トランザクション管理: ビジネス コードとトランザクション管理を分離でき、管理にはアノテーションと XML 構成のみを使用します。 things

php 中国語の Web サイト、無料の Java 入門チュートリアル が多数あり、オンラインで学習することを歓迎します。

以上が中級および上級 Java 面接の質問 (回答付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Javaの完全数 Javaの完全数 Aug 30, 2024 pm 04:28 PM

Java における完全数のガイド。ここでは、定義、Java で完全数を確認する方法、コード実装の例について説明します。

Java の乱数ジェネレーター Java の乱数ジェネレーター Aug 30, 2024 pm 04:27 PM

Java の乱数ジェネレーターのガイド。ここでは、Java の関数について例を挙げて説明し、2 つの異なるジェネレーターについて例を挙げて説明します。

ジャワのウェカ ジャワのウェカ Aug 30, 2024 pm 04:28 PM

Java の Weka へのガイド。ここでは、weka java の概要、使い方、プラットフォームの種類、利点について例を交えて説明します。

Javaのスミス番号 Javaのスミス番号 Aug 30, 2024 pm 04:28 PM

Java のスミス番号のガイド。ここでは定義、Java でスミス番号を確認する方法について説明します。コード実装の例。

Java Springのインタビューの質問 Java Springのインタビューの質問 Aug 30, 2024 pm 04:29 PM

この記事では、Java Spring の面接で最もよく聞かれる質問とその詳細な回答をまとめました。面接を突破できるように。

Java 8 Stream Foreachから休憩または戻ってきますか? Java 8 Stream Foreachから休憩または戻ってきますか? Feb 07, 2025 pm 12:09 PM

Java 8は、Stream APIを導入し、データ収集を処理する強力で表現力のある方法を提供します。ただし、ストリームを使用する際の一般的な質問は次のとおりです。 従来のループにより、早期の中断やリターンが可能になりますが、StreamのForeachメソッドはこの方法を直接サポートしていません。この記事では、理由を説明し、ストリーム処理システムに早期終了を実装するための代替方法を調査します。 さらに読み取り:JavaストリームAPIの改善 ストリームを理解してください Foreachメソッドは、ストリーム内の各要素で1つの操作を実行する端末操作です。その設計意図はです

Java での日付までのタイムスタンプ Java での日付までのタイムスタンプ Aug 30, 2024 pm 04:28 PM

Java での日付までのタイムスタンプに関するガイド。ここでは、Java でタイムスタンプを日付に変換する方法とその概要について、例とともに説明します。

カプセルの量を見つけるためのJavaプログラム カプセルの量を見つけるためのJavaプログラム Feb 07, 2025 am 11:37 AM

カプセルは3次元の幾何学的図形で、両端にシリンダーと半球で構成されています。カプセルの体積は、シリンダーの体積と両端に半球の体積を追加することで計算できます。このチュートリアルでは、さまざまな方法を使用して、Javaの特定のカプセルの体積を計算する方法について説明します。 カプセルボリュームフォーミュラ カプセルボリュームの式は次のとおりです。 カプセル体積=円筒形の体積2つの半球体積 で、 R:半球の半径。 H:シリンダーの高さ(半球を除く)。 例1 入力 RADIUS = 5ユニット 高さ= 10単位 出力 ボリューム= 1570.8立方ユニット 説明する 式を使用してボリュームを計算します。 ボリューム=π×R2×H(4

See all articles