家では、9月と10月の転職シーズンを心配して「退却して練習」していますか?幸せな人もいれば悲しい人もいます。幸せでも心配でも、学ぶことは常に良いことです。いいえ、編集者は秋の採用面接の知識ポイントと回答(JAVA投稿)を特別に整理し、誰もが見られるように共有しました〜編集者は本日、主要なインターネット企業のJavaシニアエンジニア向けの15のコア面接質問があると述べました。コンテンツが含まれます:
就職の面接に慌てないように、よく食べてよく消化してください!
注:この「面接の就職ガイド:インターネット企業のJavaシニアエンジニア向けのコア面接における498の質問の分析」(およびその他の学習資料)が必要です。
ワンクリックトリプル+コメント、次に私のVX(tkzl6666)を追加して無料で受け取ります。
Javaセットの質問と回答の分析
- HashMapのソースコード、実装の原則、およびJDK8で最適化されたHashMapの作成方法。
- HaspMapの拡張はどのように拡張されますか?また、なぜすべて2のN乗なのですか?
- HashMap、HashTable、ConcurrentHashMapの違い。
- 高い同時実行性、HashTableまたはConcurrentHashMapの下でどちらのパフォーマンスが優れているか、その理由と方法。
- 高い同時実行性の下でスレッドセーフを処理しない場合のHashMapのセキュリティリスクと、具体的な兆候は何ですか。
- Javaの4つの修飾子の限定された範囲。
- Objectクラスのメソッド。
- インターフェイスと抽象クラスの違いは、JDK8インターフェイスを実装できることに注意してください。
- 動的プロキシの2つの方法とその違い。
- Javaシリアル化の方法。
- 値渡しと参照渡しの違い、Javaとはどのようなものか、値渡し参照はありますか。
- ArrayListはループ中に削除されますが、問題が発生するのはなぜですか?
- @transactionalアノテーションは、どのような状況で、なぜ無効です。
- Javaコレクションフレームワークの基本的なインターフェイスは何ですか?
- HashSetとTreeSetの違いは何ですか?
- HashSetの基本的な実装は何ですか?
- LinkedHashMapはどのように機能しますか?
- コレクションクラスがCloneableおよびSerializableインターフェイスを実装しないのはなぜですか?
- ArrayとArrayListの違いは何ですか?ArrayListの代わりにArrayを使用する必要があるのはいつですか?
- Javaコレクションフレームワークのベストプラクティスは何ですか?
- セット内の要素は繰り返すことができないので、繰り返されるかどうかを区別するためにどのような方法が使用されますか?==またはequals()を使用する必要がありますか?それらの違いは何ですか?
- ComparableおよびComparatorインターフェースとは何ですか?それらの違いをリストする
- コレクションとコレクションの違い。
JVMとチューニング21の質問と回答の分析
- JVMのメモリ構造。
- JVMメソッドスタックの作業プロセス。メソッドスタックとローカルメソッドスタックの違いは何ですか。
- JVMスタック内の参照は、ヒープ内のオブジェクトとどのように関連していますか。
- あなたは脱出分析技術について学ぶことができます。
- GCの一般的なアルゴリズム
- CMSのさまざまな段階の2つであるCMSとG1のガベージコレクションプロセスは、Stop the worldであり、CMSがフラグメントを生成するかどうかは、G1の利点です。
- 親委任モデルのプロセスと利点。
- 一般的に使用されるJVMチューニングパラメータ。
- 対象はいつ老年期に入りましたか?
- メモリオーバーフロー、メモリリークとは何ですか?それらの違いは何ですか?
- クラスの読み込み操作を引き起こす動作は何ですか?
- JVMが提供する一般的なツールを紹介します
- フルGC、メジャーGC、マイナーGCの違いは何ですか?
- フルGCはいつトリガーされますか?
- どのような状況でスタックオーバーフローが発生しますか
- 強参照、ソフト参照、弱参照、ファントム参照、およびそれらとgcとの関係について話します。
- エデンとサバイバーの比例分布は何ですか?どうして?
- 分散ガベージコレクション(DGC)とは何ですか?それはどのように機能しますか?
- シリアルコレクターとスループットコレクターの違いは何ですか?
- Javaでは、オブジェクトをガベージコレクションできるのはいつですか。
並行プログラミング28の質問と回答の分析
並行性コレクション:インタビュートピック
インタビューのトピックは、次のように4つの部分に分かれています。
- 同期された関連する問題
- ReentrantLockReentrantLockおよびその他の明示的なロック関連の問題
- Javaスレッドプール関連の問題
- Javaメモリモデル関連の問題
1.1同期された関連質問(8つの質問がここにまとめられています)
- 質問1:同期を使用しましたか?原則は何ですか?
- 質問2:オブジェクトのロックを取得するとおっしゃいましたが、この「ロック」とは何ですか?オブジェクトのロックを決定する方法は?
- 質問3:リエントラントとは何ですか?また、同期されたリエントラントロックはなぜですか?
- 質問4:JVMはJavaのネイティブロックに対してどのような最適化を行いましたか?
- 質問5:なぜ同期が不公平なロックなのですか?
- 質問6:ロックの除去とロックの粗大化とは何ですか?
- 質問7:同期されたのはなぜ悲観的なロックなのですか?楽観的ロックの原則は何ですか?CASとは何ですか?その特徴は何ですか?
- 質問8:楽観的ロックは必ずしも良いですか?
1.2 ReentrantLockおよびその他の明示的なロック関連の問題(8つの質問)
- 質問1:Synchronizedと比較して、ReentrantLockの実装原則の違いは何ですか?
- 質問2:では、AQSフレームワークについて話してください。
- 質問3:SynchronizedとReentrantLockの類似点と相違点を可能な限り比較してください
- 質問4:ReentrantLockはどのようにして再入可能性を実現しますか?
- 質問5:ReetrantLockに加えて、JUCでどの同時実行ツールを使用しましたか?
- 質問6:ReadWriteLockとStampedLockについて話してください。
- 質問7:Javaスレッドを相互に同期する方法は?どのシンクロナイザーについて知っていますか?別途ご紹介ください。
- 質問8:CyclicBarrierとCountDownLatchは非常によく似ていますが、比較してください。
1.3 Javaスレッドプール関連の質問(6つの質問)
- 質問1:スレッドプールはJavaでどのように実装されていますか?
- 質問2:スレッドプールを作成するには、いくつのコア構築パラメーターが必要ですか?
- 質問3:スレッドプール内のスレッドはどのように作成されますか?スレッドプールを開始して最初に作成されましたか?
- 質問4:さまざまなパラメーターを構成することでさまざまなスレッドプールを作成できると述べられているので、Javaではデフォルトでどのスレッドプールが実装されていますか?それらの類似点と相違点を比較してください。
- 質問6:Javaスレッドプールでスレッドを送信するにはどうすればよいですか?
1.4 Javaメモリモデル関連の質問(6つの質問)
- 質問1:Javaのメモリモデルとは何ですか?Javaのスレッドはお互いの変数をどのように認識しますか?
- 質問2:volatileの特性と、それがすべてのスレッドに対する変数の可視性を保証できる理由について話してください。
- 質問3:volatileはスレッド間の変数の可視性を保証できるので、volatile変数に基づく操作が同時に安全であることを意味しますか?
- 質問4:揮発性と同期の類似点と相違点を比較してください
- 質問6:多くの人がThreadLocalは注意して使用する必要があると言っていますが、あなたの理解について話してください。ThreadLocalを使用するときに注意すべき点は何ですか。
春の百の質問インタビュー分析
- Springフレームワークとは何ですか?Springフレームワークのメインモジュールは何ですか?
- Springフレームワークを使用する利点は何ですか?
- Springフレームワークのさまざまなタイプのイベントは何ですか?
- Springフレームワークではどのようなデザインパターンが使用されていますか?
- 制御の反転(IOC)とは何ですか?
- SpringフレームワークのIoCについて説明してください。
- BeanFactoryとApplicationContextの違いは何ですか?
- Springを構成する方法はいくつありますか?
- XML構成に基づいてSpringを構成する方法は?
- Java構成に基づいてSpringを構成する方法は?
- アノテーションを使用してSpringを構成する方法は?
- SpringBeanのライフサイクルについて教えてください。
- Spring Beanのスコープの違いは何ですか?
- 春の内豆とは?
- SpringフレームワークのシングルトンBeanはスレッドセーフですか?
- SpringでJavaコレクションを注入する方法の例を教えてください。
- Java.util.PropertiesをSpringBeanに注入する方法は?
- SpringBeanの自動配線について教えてください。
- 自動組立モードの違いを教えてください。
- 注釈ベースの自動アセンブリをオンにする方法
- @Requiredアノテーションを説明する例を挙げてください。
- @Autowiredアノテーションを説明する例を挙げてください。
- @Qualifierアノテーションの例を教えてください。
- コンストラクタインジェクションと設定インジェクションの違いは何ですか?
- FileSystemResourceとClassPathResourceの違いは何ですか?
- BeanFactory和FactoryBean
- Spring IOCは何を理解し、その初期化プロセスを理解していますか?
- BeanFactory和ApplicationContext?
- Spring Beanのライフサイクルはどのように管理されていますか?Spring Beanのロードプロセスは何ですか?
- Spring AOPを実装したい場合、どのように実装しますか?
- Spring IOCを実装する場合、どのような問題に注意を払いますか?
- Springはトランザクション、トランザクション管理メカニズムをどのように管理しますか?
- Springのさまざまなトランザクション伝播動作とは何ですか?また、それらは何に使用されますか?
- 春にはどのようなデザインパターンが使われていますか?
- Spring MVCはどのように機能しますか?
- スプリングサイクルインジェクションの原理は?
- Springはどのようにしてコントローラーの並行性の安全性を確保しますか?
高周波35の質問SpringBoot(分析あり)
Spring Bootは、マイクロサービスで最高のJavaフレームワークです。ここでは、35の高頻度のSpring Bootインタビューの質問を選択して、レビューと調査を改善します。
- 質問1:Spring Boot、Spring MVC、Springの違いは何ですか?
- 質問2:自動構成とは何ですか?
- 質問3Spring Boot Staterとは何ですか?
- 質問4ステータス担当者について詳しく説明する例を挙げてください。
- 質問5Spring Bootは他にどのようなスタータープロジェクトオプションを提供しますか?
- 質問6Springはどのようにして製品対応アプリケーションを迅速に作成しますか?
- 質問7Spring Bootプロジェクトを作成する最も簡単な方法は何ですか?
- 質問8Spring InitializrはSpringBootプロジェクトを作成する唯一の方法ですか?
- 質問9なぜspring-boot-maven-pluginが必要なのですか?
- 質問10:SpringBootを使用してアプリケーションを自動的に再インストールする方法は?
- 質問11組み込みサーバーとは何ですか?なぜ組み込みサーバーを使用する必要があるのですか?
- 質問12:Spring Bootで一般的なJSコードを追加するにはどうすればよいですか?
- 質問13Spring Dataとは何ですか?
- 質問14Spring Data RESTとは何ですか?
- 質問15:Spring DataRestでpath =” users”、collectionResourceRel =” users”を使用するにはどうすればよいですか?
- 質問16Spring BootアプリケーションをJavaアプリケーションとして実行すると、バックグラウンドで何が起こりますか?
- 質問17spring-boot-starter-webでTomcatの代わりにjettyを使用できますか?
- 質問18:Spring Bootを使用してWARファイルを生成するにはどうすればよいですか?
- 質問19:Spring Bootを使用してさまざまなサーバーにデプロイする方法は?
- 質問20RequestMappingとGetMappingの違いは何ですか?
- 質問21実際のアプリケーションでSpringData Restを使用しないのはなぜですか?
- 質問22:Spring Initializerでプロジェクトのパッケージ名を変更するにはどうすればよいですか?
- 質問23:application.propertierde用に構成できるプロパティの完全なリストはどこにありますか?
- 質問24JPAとHibernateの違いは何ですか?
- 質問25:ビジネスの境界はどこから始めるべきですか?
- 質問26.Spring Bootを使用してインメモリデータベースH2に接続されたJPAアプリケーションを起動するには、どのような依存関係が必要ですか?
- 質問27:設定なしでJPAのデフォルト実装としてHibernateを選択するにはどうすればよいですか?
- 質問28指定されたデータベース接続情報はどこにありますか?H2に自動的に接続することはどのようにしてわかりますか?
- 質問29MySQLやOrcaleなどの外部データベースに接続するにはどうすればよいですか?
- 質問30Spring Bootによって構成されたデフォルトのH2データベースの名前は何ですか?
- 質問31デフォルトのデータベース名testdbはなぜですか?
- 質問32H2がクラスパスにない場合、上記の状況が発生しますか?
- 質問33トランザクション管理としてReadOnlyを使用する例を挙げてください。
- 質問34構成ファイルの要件は何ですか?
- 質問35:構成ファイルを使用してSpring Bootを介して特定の環境の構成を構成するにはどうすればよいですか?
23のデザインパターンの分析
分散型の高同時実行アーキテクチャ分析(メッセージキュー、サブデータベースとサブテーブル、トランザクション、高可用性、マイクロサービスアーキテクチャ)
- ダボの基本的な実装の原則とメカニズム
- サービスが公開されてから消費されるまでの詳細なプロセスを説明する
- 分散システムでサービスガバナンスを行う方法
- インターフェイスのべき等の概念
- メッセージミドルウェアがメッセージ損失の問題をどのように解決するか
- ダボサービスリクエストの失敗に対処する方法
- 再接続メカニズムはエラーを引き起こしますか?
- 分散トランザクションの理解
- 負荷分散を実現する方法と、実装できるアルゴリズムは何ですか?
- Zookeeperの目的と選挙の原則は何ですか?
- データは垂直方向と水平方向に分割されます。
- Zookeeperの原則と適用可能なシナリオ
- Zookeeperウォッチメカニズム
- redis / zkノードのダウンタイムに対処する方法
- 分散クラスターで一意のシリアル番号を取得する方法
- 分散ロックの作り方
- どのMQが使用されているか、それらの使用方法、他のmqと比較した場合の長所と短所は何ですか、MQスレッドの接続は安全ですか?
- MQシステムのデータが失われないようにする方法
- 考えられるデータベースサブデータベースサブテーブル戦略を一覧表示します。サブデータベースサブテーブルの後に、完全なテーブルクエリの問題を解決する方法
- Zookeeperの選挙戦略
MySQLの高頻度の20の質問の分析
- トランザクション(ACID)の原子性、一貫性、分離、および耐久性の4つの特性?
- トランザクションの同時実行?トランザクション分離レベル、各レベルが引き起こす問題、デフォルトでMySQLはどのレベルですか?
- 3つの一般的なMySQLストレージエンジン(InnoDB、MyISAM、MEMORY)の違いは何ですか?
- MySQLのMyISAMおよびInnoDBストレージエンジン、トランザクションレベルとロックレベル、およびそれぞれの適用可能なシナリオ?
- クエリステートメントのさまざまな要素(where、jion、limit、group by、haveなど)が実行される順序は何ですか?
- 一時テーブルとは何ですか?一時テーブルはいつ削除されますか?
- MySQL B + Treeインデックスとハッシュインデックスの違いは?
- SQLクエリステートメントは、作成するインデックスのタイプを決定しますか?クエリを最適化する方法は?
- クラスター化インデックスと非クラスター化インデックスの違いは?
- ロック(オプティミスティックロック、ペシミスティックロック)とは何ですか?また、選択時に排他ロックを追加する方法は?
- 非リレーショナルデータベースとリレーショナルデータベースの違いは何ですか?また、利点は何ですか?
- 3つのパラダイムをデータベース化し、特定のシーンに従ってデータテーブルを設計しますか?
- データベースの読み取り/書き込み分離、マスタースレーブレプリケーション、マスタースレーブレプリケーション分析の7つの問題?
- Explainを使用してSQLとインデックスを最適化しますか?
- MySQLの遅いクエリを解決する方法は?
- 内部結合、外部結合、クロス結合、デカルト積などとは何ですか?
- mysqlにはどのようなロックがあり、デッドロック決定の原則と特定のシナリオ、およびデッドロックを解決する方法はありますか?
- varcharとcharの使用シナリオは何ですか?
- mysql高同時実行環境ソリューション?
- データベースがクラッシュしたときのトランザクション回復メカニズム(REDOログとUNDOログ)?
Redis45の質問と回答の分析
- redisを使用する理由/キャッシュを使用する理由(高性能、高い同時実行性)
- キャッシュにmap / guavaの代わりにredisを使用するのはなぜですか?
- redisとmemcachedの違い
- Redisの一般的なデータ構造と使用シナリオ分析(文字列、ハッシュ、リスト、セット、並べ替えられたセット)
- redisは有効期限を設定します
- Redisメモリ除去メカニズム(MySQLには2000wのデータがあり、Redisには20wのデータしかありません。Redisのデータがホットデータであることを確認するにはどうすればよいですか?)
- Redis永続化メカニズム(Redisがハングして再起動した後にデータを確実に復元できるようにする方法)
- redisトランザクション
- Redisの一般的な例外と解決策(キャッシュの浸透、キャッシュのアバランシェ、キャッシュのウォームアップ、キャッシュの劣化)
- 分散環境での一般的なアプリケーションシナリオ(分散ロック、分散自己インクリメントID)
- Redisクラスターモード(マスタースレーブモード、センチネルモード、クラスタークラスターモード)
- Redisの同時競合を解決する方法重要な問題
- ダブルライトされたときにキャッシュとデータベース間のデータの整合性を確保するにはどうすればよいですか?
多くの人が「学ぶことは役に立たない」と嘆きますが、実際、役に立たないという理論が生まれるのは、自分が望んでいることが自分が学んだことと一致せず、十分に学んでいないからです。勉強でも仕事でもイニシアチブが必要なので、大きな工場を夢見ているなら、それを実現するために一生懸命頑張らなければなりません。
最後に、もう一度、慌てずに面接に切り替えたい場合は、自宅で「撤退して練習」し、これらの「インターネット企業の上級Javaエンジニアのためのコア面接の質問の分析」を掘り下げる必要があります。ワンクリックトリプル+コメント、次に私のVX(tkzl6666)を追加して無料で受け取ります。
上記の教材はすべて無料です。最後に、皆様のご健康とご愛顧を賜りますようお願い申し上げます。