このJavaの経験のおかげで、ゴールドスリーシルバーフォーは、多くの主要メーカーからのオファーを首尾よく獲得しました。

序文:

ゴールドスリーシルバーフォーです。本日は、高頻度の面接の質問と、Javaコアの詳細な面接ドキュメントを紹介します。面接や転職が必要な友達が輝いて立ち上がることを願っています。

1.高頻度の面接の質問

1. SpringMVCの実行プロセスは何ですか?

ユーザーがサーバーにリクエストを送信すると、そのリクエストはSpringフロントエンドコントロールのServeltDispatcherServletによってキャプチャされます。

DispatcherServletは、要求URLを解析して、要求されたリソースID(URI)を取得します。次に、URIに従って、HandlerMappingを呼び出して、Handler構成のすべての関連オブジェクト(HandlerオブジェクトとHandlerオブジェクトに対応するインターセプターを含む)を取得し、最後にHandlerExecutionChainオブジェクトの形式で返します。

DispatcherServletは、取得したハンドラーに基づいて適切なHandlerAdapterを選択します。(注:HandlerAdapterが正常に取得された場合、この時点でインターセプターのpreHandler(...)メソッドが実行されます)

リクエストにモデルデータを抽出し、ハンドラー入力パラメーターを入力して、ハンドラー(コントローラー)の実行を開始します。構成に応じて、ハンドラー入力パラメーターを入力するプロセスで、Springはいくつかの追加作業を行うのに役立ちます。

(1)HttpMessageConveter:リクエストメッセージ(Json、xmlなど)をオブジェクトに変換し、オブジェクトを指定されたレスポンスメッセージに変換します

(2)データ変換:要求メッセージに対してデータ変換を行います。整数、倍精度浮動小数点数などに変換された文字列など。

(3)データルートフォーマット:リクエストメッセージのデータフォーマット。文字列をフォーマットされた数値またはフォーマットされた日付に変換するなど。

(4)データ検証:データの有効性(長さ、形式など)を検証し、検証結果をBindingResultまたはErrorに保存します

ハンドラーが実行されると、ModelAndViewオブジェクトがDispatcherServletに返されます。

返されたModelAndViewに従って、適切なViewResolver(Springコンテナーに登録されているViewResolverである必要があります)を選択し、DispatcherServletに返します。

ViewResolverは、モデルとビューを組み合わせてビューをレンダリングします

レンダリング結果をクライアントに返します。

クイックメモリースキル:

コアコントローラーはリクエストをキャプチャし、ハンドラーを見つけ、ハンドラーを実行し、ViewResolverを選択し、ViewResolverを介してビューをレンダリングし、戻り値を返します。

2. AOPとは何ですか?あなたはそれで何をしますか?

1. AOP:アスペクト指向プログラミング

2.基本原則:動的エージェントデザインパターンを使用して、メソッドの実行の前後、または例外が発生したときに関連するロジックを追加します。

私たちは主にAOPを使用して次のことを行います。

1.トランザクション処理の実行方法の前に、トランザクションを開き、実行が完了した後にトランザクションを閉じ、例外が発生した後にトランザクションをロールバックします。

2.権限の判断メソッドを実行する前に、権限があるかどうかを判断します

3.実行前のログ処理

3.春の豆の注入方法はいくつありますか?

  1. コンストラクターインジェクション
    コンストラクターインジェクションは、その名前が示すように、プログラムコンポーネントにコンストラクターを実装することです。コンストラクターは1つまたは複数にすることができます。

  2. 設定値インジェクション(セッターインジェクション)設定値インジェクションは、setXxxxメソッドを介してBeanをコンポーネントに注入することです。
  3. フィールドインジェクション(アノテーションインジェクション)。

4.SSMフレームワークの利点

Springの利点:SpringのIOC機能により、オブジェクト間の依存関係がSpringに渡されて制御されます。これにより、デカップリングが容易になり、開発が簡素化されます。SpringのAOP機能により、繰り返されるモジュールが一元化され、トランザクション、ログ、およびアクセス許可が制御され、他の優れたオープンソースフレームワークの統合サポートが提供されます。

Spring MVCの利点:Spring MVCは、MVC設計のアイデアを使用する軽量のWebフレームワークであり、Webレイヤーを分離して開発をより簡潔にし、Springとシームレスに接続し、柔軟なデータ検証、フォーマット、およびデータバインディングメカニズムを提供します。

Mybatisの利点:データベース(sql)の操作は、SQLとコード間の結合を緩和するxmlファイル構成を採用し、マッピングタグを提供し、オブジェクトとデータベースormフィールド間のマッピングをサポートし、オブジェクトリレーショナルマッピングタグをサポートし、プロビジョニングをサポートしますオブジェクト関係形成の追加されたxmlタグ、動的SQLをサポート

2、Javaコアインタビュードキュメント

このPDFマニュアルの知識ポイントには、5つの主要な部分が含まれています。

  • Javaの部分:Javaの基本、コレクション、並行性、マルチスレッド、JVM、デザインパターン
  • データ構造アルゴリズム:Javaアルゴリズム、データ構造
  • オープンソースフレームワークの部分:Spring、MyBatis、MVC、netty、tomcat
  • 分散部分:アーキテクチャ設計、Redisキャッシュ、Zookeeper、kafka、RabbitMQ、負荷分散など。
  • マイクロサービス部分:SpringBoot、SpringCloud、Dubbo、Docker

スペースの制限とコンテンツが多すぎるため、ドキュメントはPDFファイルに整理されています。このドキュメントが必要な友達:ワンクリック3接続後

 1つは、Java知識の部分です。

現在、インタビューは多くの原則と基礎に特別な注意を払っていますが、多くの人々はいくつかのコア原則、特にJVM、一般的に使用されるアルゴリズムやデータ構造などのJavaのコア基本知識ポイントを完全に理解していません。いわゆる高層ビルが地上から立ち上がるので、しっかりと土台をマスターするだけで、さらに先に進むことができます。常に更新される技術に直面して、素早くマスターすると同時に、目立つことができます。面接と仕事!以下に、習得しなければならないJava知識の部分を示します。いくつかの重要な知識である多くのコンテンツがあります。

1. Javaの基本:

ゴールドスリーシルバーフォーの準備をしてください。このJavaの経験を念頭に置いてください。大手メーカーは、「PDFドキュメントを使用して」あなたに手招きしています。

2. Javaコレクション:

ゴールドスリーシルバーフォーの準備をしてください。このJavaの経験を念頭に置いてください。大手メーカーは、「PDFドキュメントを使用して」あなたに手招きしています。

3.並行性の知識

ゴールドスリーシルバーフォーの準備をしてください。このJavaの経験を念頭に置いてください。大手メーカーは、「PDFドキュメントを使用して」あなたに手招きしています。

5.java仮想マシン(JVM)

JVMは、ジュニアJavaプログラマーの成長に必要なパスです。JVMを学習する前に、コードがクラスにコンパイルされ、仮想マシンが実行するクラスをロードすることを知っておく必要があります。JVMを学習すると、プロセスを深く理解できます。コンパイルからロードまでのコードの作成。、メモリ内のオブジェクトの作成とガベージコレクション、および日常の開発におけるパフォーマンスの問題の迅速な配置も、もちろんインタビューに不可欠なボーナスアイテムです。

6.デザインパターン

以前、「多くのプログラマーは、コードを整理する方法、効率を改善する方法、コードの保守性、再利用性、スケーラビリティ、柔軟性を改善する方法を知りません。記述されたコードは混乱していますが、正常に実行できます。」 。そのような声明に対して、業界に参入するときに残されたコードを見て、私は恥ずかしそうに笑った。おそらくほとんどの人が同じように感じるだろう。

JDKソースコードから主流のオープンソースフレームワークまで、デザインパターンの適用はいたるところにあります。「私の使用するデザインパターン」は、多かれ少なかれプログラマーのコーディング思考の本能になっています。

知識のポイント:

ゴールドスリーシルバーフォーの準備をしてください。このJavaの経験を念頭に置いてください。大手メーカーは、「PDFドキュメントを使用して」あなたに手招きしています。

7.データ構造とアルゴリズム

習得すべき知識のポイント:

どのデータ構造(ライン、チェーン、ヒープ、スタック、キュー)と、それらがJavaで役立つ場所。8つの主要なアルゴリズム(時間の複雑さ、スペースの複雑さ、メモリ、CPUへの影響)とそのアプリケーション。KMP検索アルゴリズム、バイナリ検索、再帰的アルゴリズム(書き込み、メモリの影響)。数値、グラフ、およびそれらのアプリケーション。ハッシュテーブルと実際の作業で使用する場所

ゴールドスリーシルバーフォーの準備をしてください。このJavaの経験を念頭に置いてください。大手メーカーは、「PDFドキュメントを使用して」あなたに手招きしています。

 

2.データベース部分

ゴールドスリーシルバーフォーの準備をしてください。このJavaの経験を念頭に置いてください。大手メーカーは、「PDFドキュメントを使用して」あなたに手招きしています。

 

第三に、オープンソースフレームワークの部分

軽量のJava開発フレームワークとして、SpringはJavaシステムアプリケーション全体にインターフェース指向プログラミングのアイデアを統合しているため、Javaのインタビューでよく言及されます。

ゴールドスリーシルバーフォーの準備をしてください。このJavaの経験を念頭に置いてください。大手メーカーは、「PDFドキュメントを使用して」あなたに手招きしています。

 

第四に、分散型の同時実行性の高いアーキテクチャの部分

このパートでは、Redis、Zookeeper、データベースパフォーマンスの最適化、負荷分散などを含む分散アーキテクチャの知識について説明します。

ゴールドスリーシルバーフォーの準備をしてください。このJavaの経験を念頭に置いてください。大手メーカーは、「PDFドキュメントを使用して」あなたに手招きしています。

 

5、マイクロサービスの知識

ゴールドスリーシルバーフォーの準備をしてください。このJavaの経験を念頭に置いてください。大手メーカーは、「PDFドキュメントを使用して」あなたに手招きしています。

 

 

おすすめ

転載: blog.csdn.net/bjmsb/article/details/114883900