長いスナックを読んだ後、最新の第一線の大企業(Ali、Baidu、JDなど)の技術面接の問題が解決されます!

目次

  • Javaの基本
  • MySQL
  • JVM
  • Linuxコマンド
  • Linuxの一般的な問題
  • Redis
  • 経験の共有
  • 福祉卵

ジャワ

  1. 複数のスレッドが同時に読み書きを行い、リーダースレッドの数がライタースレッドの数よりもはるかに多い場合、並行性の問題をどのように解決する必要があると思いますか?どのような種類のロックを追加することを選択しますか?
  2. JAVAのAQSはそれが何をしているのか知っていますか?
  3. 同期キーワードを除いて、スレッドの安全性をどのように保証しますか?
  4. いつvolatileキーワードを追加する必要がありますか?スレッドの安全性を保証できますか?
  5. スレッドプール内のすべてのスレッドがビジーで、新しいタスクを送信すると、どうなりますか?キューがいっぱいになった後もビジー状態ですが、再度送信するとどうなりますか?
  6. Tomcat自体のパラメーターをどのように調整しますか?
  7. 同期キーワードによって何がロックされますか?それはバイトコードでどのように表されますか?メモリ内のオブジェクトのパフォーマンスはどれくらいですか?
  8. wait / notify / notifyAllメソッドを同期ブロックに含める必要がありますか?何故ですか?
  9. 通常、ExecutorServiceはどのように使用しますか?サービスごとに1つですか、プロジェクトごとに1つですか?メリットは何ですか?

  1. SpringのAOPを使用したことがありますか?それは何のためですか?どのように使用しますか?
  2. インターフェイスに2つの異なる実装がある場合、特定の実装を自動配線するにはどうすればよいですか?
  3. Springの宣言的トランザクション@Transactionアノテーションは通常どこに記述されますか?例外がスローされた場合、自動的にロールバックされますか?ロールバックをトリガーしないように制御する方法はありますか?
  4. 特定のBeanが生成およびアセンブルされた後に独自のロジックを実行する場合、どのように実装できますか?
  5. SpringBootがHTTPサービスをWebコンテナーに配置せずに実行できるのはなぜですか?
  6. SpringBootで、application.propertiesだけでなくカスタム構成ファイルを使用したい場合は、どうすればよいですか?
  7. SpringMVCのRequestMappingはGETメソッドとPOSTメソッドを指定できますか?指定方法は?
  8. SpringMVCが出力オブジェクト(XXResultやXXResponseなど)をJSON出力としてパッケージ化したい場合、何をすべきですか?
  9. SpringMVCの例外をインターセプトし、ロギングやJSONへのパッケージ化などのカスタム処理を行う方法

MySQL

  1. MYSQLに多くのデータが挿入されている場合、どの方法を選択しますか?
  2. クエリが遅い場合、最初に考える方法は何ですか?インデックスは何をしますか?
  3. 単一列のインデックスが作成され、クエリ時に2つの列が見つかった場合、この単一列のインデックスが使用されますか?
  4. 複数の列を含むインデックスが作成され、クエリ時に最初の列のみが使用される場合、このインデックスを使用できますか?3つの列をチェックするのはどうですか?
  5. 質問に進みます。where条件の後にi + 5 <100がある場合、このインデックスが使用されますか?
  6. 特定のインデックスが使用されているかどうかを確認するにはどうすればよいですか?
  7. %aaa%のようにインデックスを使用しますか?aaa%のように?
  8. ドロップ、トランケート、および削除の違いは何ですか?
  9. データベースをどのように監視しますか?遅いSQLをどのようにトラブルシューティングしますか?
  10. データベースは絵文字表現をサポートしていますか?
  11. データベースの単一テーブルのデータ量はどれくらいですか?クエリのパフォーマンスは何歳から急激に低下し始めますか?
  12. クエリは無効です。クエリプロセスを見つけるためにどのコマンドを使用しますか?それを見つけた後、あなたは通常何をしますか?
  13. 読み書きの分離はどのように行われますか?ミドルウェアはどのように動作すると思いますか?この操作はトランザクションとどのような関係がありますか?
  14. サブデータベースのサブテーブルを作成しましたか?オンライン移行プロセスはどのようなものですか?データが正しいことを確認するにはどうすればよいですか?

JVM

  1. あなたは何を知っているか、どのGC戦略をオンラインで使用していますか?それにはどのような利点があり、どのシナリオに適していますか?
  2. JAVAクラスローダーのタイプはいくつ含まれていますか?それらの間の父と息子の関係は何ですか?親の委任メカニズムはどういう意味ですか?メリットは何ですか?
  3. クラスローダーをカスタマイズする方法は?どのクラスを使用したか、またはどのシナリオでカスタムクラスローダーが必要ですか?
  4. ヒープメモリ設定のパラメーターは何ですか?
  5. Perm Spaceにはどのようなデータが保存されますか?OutOfMemoryの原因になりますか?
  6. gcを実行するとき、オブジェクトがメモリ内の各スペースで移動される順序は何ですか?
  7. OutOfMemoryの問題が発生しましたか?この問題にどのように対処しましたか?その過程で得られるものは何ですか?
  8. 1.8以降、Perm Spaceにはどのような変更がありますか?MetaSpaceのサイズはデフォルトで無限ですか?または、サイズを指定しますか?
  9. Jstackとは何ですか?Jstatはどうですか?オンラインプログラムが定期的にフリーズする場合、それはgcが原因であると思われます。スレッドログのどの部分を通常見ますか?
  10. StackOverFlow例外が発生しましたか?どのような状況でトリガーされると思いますか?スレッドのスタックサイズを指定する方法 普段どれくらい書いてますか?

Linuxコマンド

  1. ログが非常に大きく、最後の100行だけを表示したいのですが、どうすれば取得できますか?ログの継続的な出力を監視し続けたい場合、どのコマンドを使用しますか?
  2. ログの出力中に特定のキーワードがあるかどうかをリアルタイムで確認したい場合はどうすればよいですか?
  3. grepが大文字と小文字を区別しない場合はどうすればよいですか?正規表現はどうですか?
  4. vimの次の行は何のキーですか?次の30行はどうですか?ファイルの最後にジャンプする行は何ですか?ジャンプバックは何ですか?後方検索とは何ですか?
  5. テキストファイルがある場合は、列の区切り文字としてスペースを使用します。3番目の列の各単語の出現回数をカウントする場合は、どうすればよいですか?
  6. 上記の出現回数を並べ替える場合はどうすればよいですか?文字列の順序ではなく、番号自体の順序で並べ替えたいですか?
  7. Linux環境変数の区切り記号は何ですか?環境変数を設定するためにどのコマンドが使用されますか?
  8. 特定のファイル権利の制限を設定するために、それを644に設定するなど、どのコマンドを使用しますか?この6はどういう意味ですか?
  9. Linuxで特定のプロセスのリソース占有率を確認したい場合はどうでしょうか。システム負荷はどういう意味ですか?オンラインシステムの平均負荷はいくらですか。4コアマシンの場合、どの程度の負荷が正常だと思いますか?一番上のコマンドで1をクリックするとどうなりますか?
  10. 先頭のコマンドで、すべてのプロセスのCPU使用率が合計して100%を超えることがあります。なぜですか?
  11. システムのパフォーマンスを確認したり、問題を見つけたりするために利用できる他のコマンドは何ですか?一般的にどのパラメーターを見ますか?
  12. 特定のプロセスによって開かれているネットワーク接続を確認したいですか?どの接続ステータスを重視しますか?

Linuxの一般的な問題

  1. Linuxシステムのパラメーターを最適化したことがありますか。
  2. システムパラメータのバックログには何を使用できますか?
  3. ネットワーク接続を確認して、多くのTIME_WAITを見つけてください。理由は何ですか?アプリケーションにどのような影響がありますか?これらのTIME_WAITを減らすには、どの方法を選択しますか
  4. TCP 3ウェイハンドシェイクプロセスを紹介してもらえますか?ネットワークプログラムがあり、サードパーティのライブラリを使用してデータを送信していて、ライブラリによって送信されたデータに欠陥があると思われる場合、どのように確認しますか?tcpdumpによってエクスポートされたファイルを一般的にどのように分析しますか?
  5. キープアライブとは何ですか?これの利点は何ですか?

Redis

開発
  1. キャッシュペネトレーションについて教えてください。この問題はどのように解決すべきだと思いますか
  2. どのようにしてキャッシュ更新をトリガーしましたか?(たとえば、更新時のアクティブ更新などのタイムアウト期間(パッシブモード)を設定します)?それがパッシブな方法である場合、複数のエントリを制御して同時にキャッシュの更新をトリガーする方法は?
  3. Redisは何に使用しますか?Memcached、Cassandraなどの他のKVストレージを使用しないのはなぜですか?
  4. どのRedisクライアントを使用していますか?Redisのパフォーマンスが高い理由はおそらく言えるでしょうか?
  5. よく知っているRedisデータ構造、zsetの機能、setとsetの違いは何ですか?
  6. Redisハッシュ、保存と取得のための特定のコマンドの名前は何ですか?
  7. LPOPとBLPOPの違いは?
  8. SCANキーワードを含むRedisコマンドにはどのようなものがありますか?SCANによって返されるデータの量は固定されていますか?
  9. Lua in Redisは使用されましたか?何に使用できますか?なぜこのように使用できるのですか?
  10. Redisのパイプラインは何に使用されますか?

経験の共有

スキルがしっかりしていて問題がなければ、次の面接で認められてオファーを受けることができるかどうかも判断します。面接の前に、次の経験点をリストし、事前に回答を準備してください。

  1. 「何か質問はありますか?」などの問題に対処するために、1〜2個の質問を用意するのが最適です。
  2. 現在および以前の雇用主について文句を言わないでください。
  3. 会話のタイミングとリズムはスムーズに進むようにしますが、1つの問題についてはあまり話さず、1つの問題を次の問題に導入します。
  4. 面接プロセス中、面接担当者の質問はより詳細で鋭い場合があります。これは通常の部分なので、緊張しないでください。
  5. よくわからない問題が発生した場合は、あいまいな回答をしないようにしてください。
  6. コミュニケーションプロセスでは、高い意欲を維持することをお勧めします。

読者のメリット、完全なインタビューの質問[回答付き] Javaコアノート、Javaアーキテクチャインタビュートピックの統合千の
方法(pdfドキュメント)誰とでも共有できるように、Javaバックエンドの高度なノートドキュメントと学習資料のセットもまとめました。
スペースの問題のため、すべてを表示することはしません。ここをクリックしてください。右、右、右、ここをクリックしてください。返信信号:CSは無料で受信できます。

JVM関連

マルチスレッド同時実行関連

春関連

マイクロサービス関連

データベース関連

スペースの問題のため、すべてを表示することはしません。ここをクリックしてください。右、右、右、ここをクリックしてください。返信信号:CSは無料で受信できます。

共有するその他のメモ

おすすめ

転載: blog.csdn.net/weixin_50520844/article/details/108664920