1. ホーム
  2. ジャワ

普通の学部を卒業して1年、この1000のJAVAの面接の質問の後にブラシ、正常に海岸に逆行する

2022-02-24 04:50:57
<パス

前文

私は普通の学部から20年に卒業し、インターンシップはまた、卒業証書を混合することを考えている、と実際のプロジェクトを行っていない、プラス昨年の雇用形態の厳しい、ボリューム内の業界は、単に中小企業の会社を選択し、後で知るようになるまでアウトソーシングの一部である。(また、あまりにも悪い!耳は先生が言ったリコール:アウトソーシングに行くことはありません)。

それについて考える、誰が自分自身を料理させるか、またはいくつかの技術を最初に学ぶが、最大動作は毎日CRUD、ない996給与、同じ996生活を逃れることはできない、この時間は仲間の大学院生に連絡し、おそらく意味:ねえ、自分の人生は、華為高賃金が、プロジェクトをキャッチする毎日、適切なベルサイユの良いものではありません

今年は金九銀十が大きな工場に、飛び込むに違いない!」と刺激されたのかもしれません。というのも、"李錬 "は、"李錬 "が "李錬 "を "錬 "したものだからです。そして、少し前に、無事に京東のオファーを受けることができました。
対象コンテンツ Java, MyBatis, ZooKeeper, Dubbo, Elasticsearch, Memcached, Redis, MySQL, Spring, Spring Boot, Spring Cloud, RabbitMQ, Kafka, Linux, その他の技術スタック。

ノート全体がかなり充実した内容になっているため、ここではフェースブックのインタビュー質問のみを紹介していますので、記事で紹介した「Javaエンジニアのためのインタビュー1000」を入手する必要がある方は 記事左側 直接アクセスが可能です。

記事の目次


MyBatis インタビューの質問

  1. Mybatisとは何ですか?
  2. マイベースのメリット
  3. MyBatisフレームワークのデメリット。
  4. MyBatisフレームワークは、以下のような場合に適用できます。
  5. MyBatisとHibernateの違いは何ですか?
  6. と${}の違いは何ですか?
  7. エンティティクラスのプロパティ名がテーブルのフィールド名と異なる場合はどうなりますか?
  8. ファジー・クエリーのような文はどのように書けばよいのですか?
  9. Daoインターフェイスのメソッドは、パラメータが異なる場合にもオーバーロードできますか?
  10. Mybatisはどのようにしてページネーションを行うのですか?ページングプラグインの原理は何ですか?
  11. Mybatis はどのようにして sql の実行結果をターゲット・オブジェクトにカプセル化して返すのですか?マッピング形式は何ですか?
  12. 一括挿入はどのように行うのですか?
  13. 自動生成された(主)キー値を取得するにはどうすればよいですか?
  14. マッパーで複数のパラメータを渡すにはどうすればよいですか?
  15. Mybatis動的SQLの用途は何ですか?どのように動作するのですか?どのような動的SQLがありますか?
  16. Xmlマッピングファイルのタグは、一般的なselect, insert, updae, deleteタグの他に何があるのでしょうか?
  17. Mybatisの異なるXmlマッピングファイルにidを重複して入れることは可能ですか?
  18. なぜMybatisは半自動のORMマッピングツールなのですか?完全自動との違いは何ですか?
  19. 1対1および1対多の連想クエリ ?
  20. MyBatisで一対一を実装する方法はいくつあるのでしょうか?具体的にはどのように動作するのでしょうか?
  21. MyBatisは一対多を何通り実装して、どのように動作するのですか?
  22. Mybatisはディファードローディングに対応していますか?もしそうなら、それはどのように実装されていますか?
  23. Mybatis のプライマリおよびセカンダリキャッシング
  24. MyBatisのインターフェースバインディングとは何ですか?実装はどうなっていますか?
  25. MyBatis のマッパーインタフェースで呼び出す場合の要件は何ですか?
  26. マッパーの書き方は何通りありますか?
  27. Mybatisのプラグインの仕組みと書き方について簡単に説明します。

ZooKeeperインタビューの質問

  1. ZooKeeperの面接の質問は?
  2. ZooKeeperは何を提供してくれるのですか?
  3. Zookeeperファイルシステム
  4. ZABプロトコル?
  5. 4種類のデータノード Znode
  6. Zookeeper ウォッチャー機構 - データ変更通知
  7. クライアントサイド登録ウォッチャー実装
  8. サーバサイド処理Watcherの実装
  9. クライアントサイドコールバックウォッチャー
  10. ACLパーミッション制御機構
  11. Chrootの特徴
  12. セッション管理
  13. サーバーロール
  14. Zookeeperでのサーバの動作状態
  15. データ同期
  16. zookeeperはどのようにしてトランザクションの連続的な一貫性を確保しているのですか?
  17. 分散クラスタにマスターが存在するのはなぜですか? zkノードのダウンタイムはどのように処理されるのですか? zookeeperのロードバランシングとnginxのロードバランシングの違いについて教えてください。 Zookeeperにはいくつのデプロイメントモードがありますか?
  18. クラスタに必要な最小限のマシン数とクラスタルールを教えてください。
  19. クラスタは、動的にマシンを追加することをサポートしていますか?
  20. Zookeeperのウォッチリスナーによるノードへの通知は永続的ですか?なぜ永続的でないのですか?
  21. ZookeeperのJavaクライアントにはどのようなものがありますか?
  22. chubbyとは何ですか、またzookeeperと比較してどうですか? zookeeperがよく使うコマンドをいくつか挙げてください。 ZABとPaxosのアルゴリズムの関連性と違いを教えてください。 Zookeeperの代表的なアプリケーションシナリオを紹介します。

ダボの面接の質問

  1. なぜダボを使うべきなのでしょうか?
  2. ダボの全体的な建築デザインの層はどのようなものですか?
  3. デフォルトで使用されている通信フレームワークと、その他のオプションはありますか?
  4. サービスコールはブロック化されていますか?
  5. 一般的にどのようなレジストリが使用されていますか?他のオプションはありますか?
  6. デフォルトで使用されるシリアライゼーション・フレームワークは何か、他に知っていることは?
  7. サービスプロバイダーがフェイルオーバーキックアウトを実装できる根拠は何ですか?
  8. 旧バージョンに影響を与えずにサービスを稼動させるには?
  9. サービスコールのチェーンが長いという問題を解決するにはどうしたらいいですか?
  10. コアコンフィギュレーションを教えてください。
  11. Dubboの推奨プロトコルは何ですか?
  12. 同じサービスに複数の登録がある場合、直接接続することはできますか?
  13. サービス登録・発見のフローチャートを描いてください。
  14. Dubboクラスタのフォールトトレランスにはいくつのオプションがありますか?
  15. Dubboサービスをダウングレードし、失敗時に再試行するにはどうすればよいですか?
  16. Dubboを使用していて、どのような問題が発生しましたか?
  17. Dubbo Monitorの実装はどのように行われるのですか?
  18. Dubboはどのようなデザインパターンを使用していますか?
  19. Dubboの設定ファイルは、どのようにSpringに読み込まれるのですか?
  20. Dubbo SPI と Java SPI の違いは何ですか?
  21. Dubboは分散トランザクションをサポートしていますか?
  22. Dubbo は結果をキャッシュできますか?
  23. 旧バージョンとのサービスライブの互換性は?
  24. Dubbo が依存しなければならないパッケージは何ですか?
  25. Dubboのtelnetコマンドは何ができるのですか?
  26. Dubboはサービスの劣化に対応していますか?
  27. Dubboはどのようにして優雅に停止するのですか?
  28. DubboとDubboxの違いは何ですか?
  29. DubboとSpring Cloudの違いは何ですか? 他の分散フレームワークをご存知ですか?

Elasticsearchインタビューの質問

  1. elasticsearchについてどの程度ご存知ですか?御社のesクラスタアーキテクチャ、インデックスデータのサイズ、シャードの数、チューニングツールについて教えてください。
  2. elasticsearchの転置インデックスとは何ですか?
  3. elasticsearchがより多くのデータをインデックス化するとどうなるか、そのチューニング方法、デプロイ方法について
  4. elasticsearchはどのようにマスターエレクションを実装しているか
  5. Elasticsearchでドキュメントのインデックスを作成するプロセスを詳しく説明します。
  6. Elasticsearchの検索処理について詳しく説明してください。
  7. ElasticsearchのLinuxセットアップを導入する際の最適化とは?
  8. lucenceの内部構造はどうなっていますか? ElasticsearchはどのようにMaster electionsを実装しているのですか?
  9. Elasticsearchのノードのうち10台(合計20台とする)がマスターを選出し、残りの10台が別のマスターを選出した場合はどうなるのでしょうか?
  10. クラスタに接続するとき、クライアントはどのようにして特定のノードを選択してリクエストを実行するのですか?
  11. Elasticsearchでドキュメントのインデックスを作成するプロセスを詳しく説明してください。
  12. Elasticsearchのドキュメントを更新・削除する処理を詳しく説明する。
  13. Elasticsearchの検索処理について詳しく説明する。
  14. Elasticsearchでは、ある単語を元に、対応する転置インデックスをどのように見つけるのでしょうか?
  15. Elasticsearchをデプロイする際に、Linuxの設定に最適化する方法はありますか?
  16. Elasticsearchを使用する際、GCに関してどのような点に注意すればよいですか? Elasticsearchは大量データ(数億件)のアグリゲーションをどのように実装していますか?
  17. Elasticsearchはどのように並行処理における読み込みと書き込みの一貫性を保証するのですか?
  18. Elasticsearchのクラスタステータスを監視する方法を教えてください。
  19. eコマースサーチの全体的な技術アーキテクチャを説明してください。
  20. パーソナライズド検索ソリューションについて説明してください。 辞書ツリーを理解していますか?
  21. スペルチェックはどのように行われていますか?

Memcachedに関するインタビューの質問

  1. Memcachedとは何ですか、そして何をするものですか?
  2. Memcachedサービスの分散クラスタはどのように実装されるのですか?
  3. Memcachedサービスの機能とその仕組みについて教えてください。
  4. Memcachedのメモリ管理機構の原理を簡単に説明してください。
  5. memcachedはどのように動作するのですか?
  6. memcachedの最大のメリットは何ですか?
  7. memcachedとMySQLのクエリ
  8. PHPのAPCやmmapファイルなど、サーバーのローカルキャッシュと比較して、memcachedのメリットとデメリットは何ですか?
  9. memcachedのキャッシュ機構はどのように動作するのですか?
  10. memcachedはどのように冗長化機構を実装しているのですか?
  11. memcached はフォールトトレランスをどのように扱うのですか?
  12. memcachedからアイテムを一括でインポートおよびエクスポートするにはどうすればよいですか?
  13. エクスポートとインポートの間に有効期限が切れた場合、キャッシュされたデータはどうするのですか?
  14. memcachedはどのように認証を行うのですか?
  15. memcachedのマルチスレッドとは何ですか?どのように使用するのですか?
  16. memcachedが受け入れることができるキーの最大長はどのくらいですか?
  17. memcachedが保存できる1つのアイテムの最大サイズはどのくらいですか?
  18. memcachedはメモリをより効率的に使用できますか?
  19. バイナリプロトコルとは何ですか、また気にする必要がありますか?
  20. memcached のメモリアロケータはどのように動作するのですか?なぜ malloc/free ではないのか! なぜスラブを使うのですか?
  21. memcachedはアトミックですか?
  22. クラスタ内のセッションに共有ストレージを実装するには?
  23. memcachedとredisの違いは何ですか?

Redisインタビューの質問

  1. Redisとは何ですか?
  2. Redisのデータ型にはどのようなものがありますか?
  3. Redisを使用するメリットは何ですか?
  4. RedisがMemcachedより優れている点は何ですか? MemcacheとRedisの違いは何ですか? Redisはシングルプロセス・シングルスレッドですか? 文字列型の値を保存できる最大容量は?
  5. Redisの永続化メカニズムとは何ですか?それぞれのメリットとデメリットは何ですか?
  6. Redisのパフォーマンスに関するよくある問題と解決策
  7. Redisの期限切れ鍵の削除ポリシーは?
  8. Redisのリサイクル戦略(消去法)?
  9. なぜedisは全データをメモリに入れる必要があるのですか?
  10. Redisの同期機構を理解していますか?
  11. Pipelineの利点と使用する理由を教えてください。
  12. Redisクラスタを使ったことがありますか、またどのように動作しますか?
  13. どのような状況でRedisクラスタリングソリューションがクラスタ全体を利用できなくなるのでしょうか? RedisのJavaクライアントでサポートされているものは何ですか?公式にはどれが推奨されていますか?
  14. JedisとRedissonのメリットとデメリットは何ですか?
  15. Redisはどのようにパスワードを設定し、パスワードの検証を行うのですか?
  16. Redisのハッシュスロットの概念について教えてください。
  17. Redisクラスタのマスター/スレーブ・レプリケーションモデルとは何ですか?
  18. Redisクラスタに書き込みロスが発生することはありますか?なぜですか?
  19. Redisクラスタ同士はどのようにレプリケートされるのですか?
  20. Redisクラスタの最大ノード数は?
  21. Redisクラスタはどのようにデータベースを選択するのですか?
  22. Redis の接続性をテストするにはどうすればよいですか? Redis のトランザクションを理解するにはどうすればよいですか? Redis のトランザクションに関連するコマンドは何ですか?
  23. Redisキーの有効期限と永久有効期限を設定するにはどうすればよいですか?
  24. Redisはどのようにメモリの最適化を行うのですか?
  25. Redisのリカバリープロセスはどのように行われるのですか?
  26. Redisのメモリ使用量を削減する方法にはどのようなものがありますか?
  27. Redisがメモリ不足になるとどうなりますか? Redisインスタンスが保持できるキーの最大数、およびリスト、セット、ソートされたセットの要素の最大数は何ですか? MySQL には 2000w のデータがあり、redis には 20w のデータしかありません。redis のすべてのデータがホットであることを確認するにはどうすればよいですか? Redis の最適なシナリオは何ですか? Redisに1億のキーがあり、そのうちの10wがある固定された既知のプレフィックスで始まるとしたら、それらをすべて見つける最良の方法は何ですか?
  28. 同時に期限切れに設定する必要がある鍵が大量にある場合、通常何を探せばいいでしょうか?
  29. Redisを非同期キューに使用したことがありますか、またどのように使用していますか?
  30. Redis の分散ロックを使用したことがありますか?

MySQL インタビューの質問

  1. MySQL では、どのようなロックが利用できますか?
  2. MySQL の異なるテーブルとは何ですか?
  3. MySQL データベースにおける MyISAM と InnoDB の違いについて簡単に説明します。
  4. MySQL の InnoDB がサポートする 4 つのトランザクション分離レベルの名前と、各レベルの違いは何ですか?
  5. CHARとVARCHARの違いは何ですか?
  6. 主キーと候補キーの違いは何ですか?
  7. myisamchkは何に使うのですか?
  8. テーブルにTIMESTAMPとして定義されたカラムがある場合、どうなりますか?
  9. テーブルに定義されたすべてのインデックスを確認するにはどうすればよいですか?
  10. LIKE文の%や_はどういう意味ですか?
  11. 列比較演算子とは何ですか?
  12. BLOBとTEXTの違いは何ですか?
  13. MySQL_fetch_arrayとMySQL_fetch_objectの違いは何ですか?
  14. MyISAM テーブルはどこに格納され、その格納形式も提供されますか?
  15. MySQL は DISTINCT をどのように最適化するのですか?
  16. 最初の50行を表示するにはどうすればよいですか?
  17. インデックスを作成するために使用できる列数はいくつですか?
  18. NOW()とCURRENT_DATE()の違いは何ですか?
  19. 非標準の文字列型とは何ですか?
  20. 汎用SQL関数とは何ですか?
  21. MySQL はトランザクションをサポートしていますか?
  22. MySQL で通貨を記録するために使用する最適なフィールドタイプは何ですか?
  23. パーミッションのためのMySQLテーブルとは何ですか?
  24. カラムの文字列型は何が可能ですか?
  25. システムストレージを公開するためのMySQLデータベース、1日5万以上の増分は、3年間の運用と保守を期待、どのように最適化する?
  26. ロックの最適化戦略
  27. インデックス作成のための基本的な実装原理と最適化
  28. インデックスが設定されているが、利用できない場合の処理について
  29. MySQLを実際に最適化する方法
  30. データベースを最適化する方法
  31. MySQL におけるインデックス、プライマリキー、ユニークインデックス、ジョイントインデックスの違いを簡単に説明し、これらがデータベースパフォーマンスにどのように影響するか(読み込みと書き込みの両方において)を説明する。
  32. データベースにおけるトランザクションとは何ですか?
  33. SQLインジェクションの脆弱性の原因は何ですか?どうすれば防げるのか?
  34. テーブルのフィールドに適切なデータ型を選択する
  35. 保存期間
  36. インデックスとは、リレーショナル・データベースにとって非常に重要な概念です。
  37. MySQL の外部結合、内部結合、自己結合の違いについて説明する。
  38. Myqlのトランザクションロールバック機構の概要
  39. SQL言語のパーツとは何ですか?各パーツの操作キーワードは何ですか?
  40. どのような整合性制約が含まれますか?
  41. ロックとは何ですか?
  42. ビューとはどういう意味ですか?カーソルとは何ですか?
  43. ストアドプロシージャとは何ですか?呼び出しには何が使われますか?
  44. 3つのパラダイムを素人目で理解するには?
  45. ベーステーブルとは何ですか?ビューとは何ですか?
  46. ビューの利点を説明してみてください。
  47. NULLとはどういう意味ですか?
  48. プライマリーキー、外部キー、インデックスの違いは何ですか?
  49. テーブルのフィールドが特定の範囲の値しか受け付けないようにするには、何を使用すればよいですか?
  50. SQL文を最適化する方法にはどのようなものがあるか、教えてください。(いくつか選んでください)

Java並列プログラミング(I)

  1. javaのデーモンスレッドとローカルスレッドの違い?
  2. スレッドとプロセスの違い?
  3. マルチスレッドにおけるコンテキストスイッチとは何ですか?
  4. デッドロックとライブロック、デッドロックとスターベーションの違い?
  5. Javaで使用されているスレッドスケジューリングアルゴリズムとは何ですか?
  6. スレッドグループとは何ですか?なぜJavaでは推奨されないのですか?
  7. Executor フレームワークを使用する理由は何ですか?
  8. JavaにおけるExecutorとの違いは何ですか?
  9. WindowsとLinuxで、どのスレッドが最もCPU時間を使っているかを調べる方法は?
  10. アトミック操作とは何ですか?Java Concurrency APIで利用可能なアトミッククラスは何ですか?
  11. Java Concurrency API の Lock インターフェースとは何ですか?同期と比較した場合の利点は何ですか?
  12. Executorsフレームワークとは何ですか? ブロッキングキューとは何ですか?ブロッキング・キューを実装する原理は?ブロッキング・キューを使ってプロデューサー/コンシューマーモデルを実装する方法は?
  13. CallableとFutureとは何ですか?
  14. FutureTaskとは何ですか?また、ExecutorServiceを使用してどのようにタスクを開始するのですか?
  15. コンカレントコンテナの実装とは何ですか?
  16. マルチスレッドの同期と相互排他を実装する方法はいくつあるか、また、それは何か?
  17. コンテンションコンディションとは何ですか?コンテンションはどのように見つけて解決するのですか?
  18. スレッドダンプをどのように使用し、スレッドダンプをどのように解析するのか? start()メソッドを呼び出すときにrun()メソッドを実行する理由と、run()メソッドを直接呼び出すことができない理由は何ですか? Javaでブロックしているスレッドを起動させるにはどうすればよいのでしょうか?
  19. JavaにおけるCycliBarriarとCountdownLatchの違いは何ですか?
  20. イミュータブルオブジェクトとは何か、そしてそれが並行アプリケーションを書く上でどのように役立つのか?
  21. マルチスレッドにおけるコンテキストスイッチとは何ですか?
  22. Javaで使われているスレッドスケジューリングアルゴリズムとは何ですか?
  23. スレッドグループとは何ですか?なぜJavaでは推奨されないのですか?
  24. Executor フレームワークを使用することが、アプリケーションを使用してスレッドを作成および管理するよりも優れている理由は何ですか?
  25. javaでスレッドを実装する方法はいくつありますか?
  26. 実行中のスレッドを停止するにはどうすればよいですか?
  27. notify()とnotifyAll()の違いは何ですか?
  28. デーモンスレッドとは何ですか?どのような意味があるのですか?
  29. javaは複数のスレッド間の通信とコラボレーションをどのように実装しているのですか?
  30. ReentrantLockとは何ですか?
  31. あるスレッドがオブジェクトの同期インスタンス・メソッドに入るとき、他のスレッドはそのオブジェクトの他のメソッドに入ることができますか?
  32. 楽観的ロックと悲観的ロックについて、どのように理解し、どのような方法で実装するか。
  33. SynchronizedMapとConcurrentHashMapの違いは何ですか?
  34. CopyOnWriteArrayList はどのようなアプリケーションシナリオで使用できますか?
  35. スレッドセーフとはどういう意味ですか、サーブレットはスレッドセーフですか?
  36. volatileはどのような用途に使われるのですか?volatileの利用シーンを一文で説明してください。
  37. なぜコードを並べ替えるのですか?
  38. javaのwaitメソッドとsleepメソッドの違い?
  39. Javaでブロッキングキューを実装する
  40. スレッド実行中に例外が発生した場合、どうなりますか?
  41. 2つのスレッド間でデータを共有するにはどうすればよいですか?
  42. JavaにおけるnotifyとnotifyAllの違いは何ですか?
  43. wait、notify、notifyAllのメソッドがスレッドクラスにないのはなぜですか?
  44. ThreadLocal変数とは何ですか?
  45. JavaにおけるinterruptedメソッドとisInterruptedメソッドの違いは何ですか?
  46. waitメソッドとnotifyメソッドは、なぜ同期ブロックの中で呼び出さなければならないのですか?
  47. なぜループの中で待機条件を確認する必要があるのですか?
  48. Javaにおける同期コレクションと並行コレクションの違いは何ですか?
  49. スレッドプールとは何ですか?なぜ使う必要があるのですか?
  50. スレッドがロックされているかどうかは、どのように検出するのですか?
  51. Javaでスレッドスタックを取得する方法は?
  52. JVMのどのパラメータが、スレッドのスタック積みの小ささを制御するために使用されていますか?
  53. Threadクラスのyieldメソッドの目的は何ですか?
  54. JavaにおけるConcurrentHashMapの並行処理とは?
  55. Javaにおけるセマフォとは何ですか?
  56. Javaスレッドプールにおけるsubmit()メソッドとexecute()メソッドの違いは何ですか?
  57. ブロッキングメソッドとは何ですか?
  58. JavaにおけるReadWriteLockとは何ですか?
  59. volatile変数とatomic変数の違いは何ですか?
  60. Thread クラスの run() メソッドを直接呼び出すことはできますか?
  61. 実行中のスレッドを一定時間中断するにはどうすればよいですか?
  62. スレッド優先度について、どのように理解していますか?
  63. スレッドスケジューラ、タイムスライスとは何ですか?
  64. main()メソッドがあるスレッドが、Javaプログラムが終了する最後のスレッドであることを保証する方法は? スレッド同士の通信はどのように行われるのですか? スレッド通信メソッドwait()、notify()、notifyAll()は、なぜObjectクラスで定義されているのですか?
  65. wait()、notify()、notifyAll()は、なぜ同期メソッドまたはブロックの中で呼び出さなければならないのでしょうか?
  66. Threadクラスのsleep()メソッドとyield()メソッドはなぜstaticなのですか?
  67. スレッドの安全性はどのように確保されていますか?
  68. 同期メソッドと同期ブロックはどちらが良いのでしょうか?
  69. デーモンスレッドを作るにはどうしたらいいですか?
  70. Java Timerクラスとは何ですか?時間間隔を指定したタスクを作成するには?

Java並列プログラミング(II)

  1. 並行プログラミングの3つの要素?
  2. 可視化を実現する方法とは?
  3. マルチスレッドの価値?
  4. スレッドの作成方法にはどのようなものがありますか?
  5. スレッドを作成する3つの方法の比較?
  6. スレッドの状態フロー図
  7. Java のスレッドには 5 つの基本状態があります。
  8. スレッドプールとは何ですか?スレッドプールの作成方法はいくつありますか?
  9. 4種類のスレッドプールが作成されます。
  10. スレッドプールの利点は?
  11. 一般的な並行処理ツールのクラスは?
  12. CyclicBarrierとCountDownLatchの違いについて
  13. synchronizedは何をするのですか?
  14. volatile キーワードは何をするのですか?
  15. CASとは
  16. CASの問題点
  17. フューチャーとは?
  18. AQSとは
  19. AQSは2種類の同期をサポートしています。
  20. ReadWriteLockとは
  21. FutureTaskとは
  22. synchronizedとReentrantLockの違いについて
  23. 楽観的ロックと悲観的ロックとは?
  24. スレッドAが変数を変更したことをスレッドBはどのようにして知ることができるのか
  25. 同期、揮発性、CAS比較
  26. sleepメソッドとwaitメソッドの違いは何ですか? ThreadLocalとは何ですか?使い方は?
  27. なぜwait()メソッドやnotify()/notifyAll()メソッドが同期ブロック内で呼び出されるのでしょうか?
  28. マルチスレッドの同期方法にはどのようなものがありますか? スレッドのスケジューリング戦略
  29. ConcurrentHashMapの並行処理とは?
  30. Linux環境で、どのスレッドが最も長くCPUを使用しているかを調べる方法
  31. Java のデッドロックとその回避方法について教えてください。
  32. デッドロックの原因
  33. ブロックしているスレッドを起動させる方法
  34. マルチスレッドに役立つイミュータブルオブジェクトの使い方
  35. マルチスレッドにおけるコンテキストスイッチとは
  36. タスク投入時にスレッドプールキューが満杯の場合はどうなるのか
  37. Javaで使用されているスレッドスケジューリングアルゴリズムとは?
  38. スレッドスケジューラ、タイムスライスとは?
  39. スピンとは
  40. Java Concurrency APIにおけるLockインタフェースとは
  41. シングルトンパターンにおけるスレッドセーフ
  42. セマフォの機能
  43. Executorsクラスとは何ですか?
  44. スレッドクラスのコンストラクタ、スタティックブロックはどのスレッドから呼び出されるのか
  45. 同期メソッドと同期ブロック、どっちがいい?
  46. Javaスレッドが多すぎると、どのような例外が発生しますか?

Javaインタビューの質問(I)

  1. オブジェクト指向の機能にはどのような側面がありますか?
  2. アクセス修飾子public, private, protected, 省略時(default)の違いは?
  3. Stringは最も基本的なデータ型ですか?
  4. float f=3.4;は正しいか?
  5. short s1 = 1; s1 = s1 + 1; is that wrong? short s1 = 1; s1 += 1; is that wrong?
  6. Javaにはgotoがありますか?
  7. intとIntegerの違いは何ですか?
  8. &と&&の違いは何ですか?
  9. メモリ内のスタック、ヒープ、メソッド領域の使い方を説明しなさい。
  10. Math.round(11.5)は何に等しく、Math.round(-11.5)は何に等しいか?
  11. switchはbyte, long, Stringで動作しますか?
  12. 2×8の計算を最も効率的に行うには?
  13. 配列のlength()メソッドと文字列のlength()メソッドはあるのでしょうか?
  14. Javaで、現在の複数のネストしたループから飛び出すにはどうすればよいですか?
  15. コンストラクタはオーバーライド可能ですか?
  16. 2つのオブジェクトは同じ値(x.equals(y) == true)を持つことができますが、異なるハッシュコードを持つことができることは正しいですか?
  17. Stringクラスを継承することは可能ですか?
  18. オブジェクトをメソッドのパラメータとして渡すと、メソッドはオブジェクトのプロパティを変更してその結果を返すことができますが、これは値渡しなのでしょうか、参照渡しなのでしょうか?
  19. StringとStringBuilder、StringBufferの違いは何ですか?
  20. OverloadとOverrideの違い。オーバーロードされたメソッドは、戻り値の型によって区別できるのか?
  21. JVMがクラスファイルを読み込む仕組みについて説明してください。
  22. 漢字はchar変数に格納できるのか、その理由は?
  23. 抽象クラスとインターフェースの類似点と相違点を教えてください。
  24. Static Nested ClassとInner Classの違いは何ですか?
  25. Javaでメモリリークは存在するのでしょうか、簡単に説明してください。
  26. 抽象的なメソッドもstatic、native、synchronizedで変更可能ですか?
  27. 静的変数とインスタンス変数の違いを説明してください。
  28. 静的(スタティック)メソッドの内部から非静的メソッドの呼び出しを発行することは可能でしょうか?
  29. オブジェクトクローンを実装するには?
  30. GCとは何ですか?なぜGCが必要なのですか?
  31. String s = new String("xyz"); 文字列オブジェクトはいくつ作成されますか?
  32. インターフェイスは、インターフェイスから継承(拡張)することができますか?抽象クラスはインターフェースを実装できますか?抽象クラスは具象クラスを継承することができますか?
  33. 1つのソースファイル(".java")に複数のクラス(内部クラスは除く)を含めることができますか?どのような制限がありますか?
  34. Anonymous Inner Classesは他のクラスを継承できますか?また、インターフェースを実装することはできますか?
  35. 内部クラスは、それを含むクラス(外部クラス)のメンバを参照することができますか?何か制限はありますか?
  36. Javaにおけるfinalキーワードの使い方を教えてください。
  37. 次のプログラムの結果を表示してください。
  38. データ型間の変換。
  39. 文字列の反転や置換を実装するには?
  40. GB2312でエンコードされた文字列をISO-8859-1でエンコードされた文字列に変換する方法は?
  41. 日付と時刻は?
  42. 昨日の今を印刷する。
  43. JavaとJavaSciprtを比較する。
  44. アサーション(assert)はいつ使う?
  45. ErrorとExceptionの違いは何ですか?
  46. try{}の中にreturn文がありますが、このtryの直後のfinally{}の中のコードは実行されますか、returnの前か後か、いつ実行されるのでしょうか。
  47. Java言語では例外をどのように扱っているのか、また、throws, throw, try, catch, finallyというキーワードはそれぞれどのように使われるのか。
  48. 実行時例外と検査時例外の共通点と相違点は何ですか?
  49. よくある実行時例外をいくつか挙げてください。
  50. final、finally、finalizeの違いを説明しなさい。
  51. クラスExampleAはExceptionを継承し、クラスExampleBはExampleAを継承しています。
  52. List、Set、MapはCollectionインタフェースを継承していますか?
  53. ArrayList、Vector、LinkedListのストレージ性能と特徴を説明しなさい。
  54. CollectionとCollectionsの違い?
  55. 要素にアクセスする場合、List、Map、Setの3つのインターフェースはそれぞれどのような特徴があるのでしょうか?
  56. TreeMapとTreeSetはソート時にどのように要素を比較するのか、またCollectionsツールクラスのsort()メソッドはどのように要素を比較するのか。
  57. スレッドクラスのsleep()メソッドと、スレッドの実行を一時停止するオブジェクトのwait()メソッドの違いは何ですか?
  58. スレッドのsleep()メソッドとyield()メソッドの違いは何ですか?
  59. あるスレッドがオブジェクトの同期型メソッドAに入ったとき、他のスレッドはそのオブジェクトの同期型メソッドBに入ることができますか?
  60. スレッド同期とスレッドスケジューリングに関連するメソッドを挙げてください。 マルチスレッドプログラムの書き方は何通りあるか?
  61. synchronizedキーワードの使い方を教えてください。
  62. 同期と非同期の例です。
  63. スレッドを開始するには、run()またはstart()メソッドが呼び出されるのでしょうか?
  64. スレッドプールとは何ですか?
  65. スレッドの基本的な状態とその関連性について教えてください。
  66. synchronizedとjava.util.concurrent.locksの簡単な説明。
  67. Javaでシリアライズはどのように実装され、どのような意義があるのでしょうか。
  68. Javaには何種類のストリームがありますか?
  69. ファイル名と文字列を入力し、その文字列がそのファイルに現れる回数をカウントするメソッドを書いてください。
  70. Javaコードでディレクトリ内の全ファイルをリストアップするには?
  71. Javaのソケットプログラミングを使用して、マルチスレッドのエコー(echo)サーバーを実装する。
  72. XML文書定義の形式はいくつあるか?それらの本質的な違いは何ですか?XML文書をパースする方法はいくつあるか?
  73. プロジェクトでXMLを使用する箇所は?
  74. JDBCでデータベースを操作する手順を説明してください。
  75. StatementとPreparedStatementの違いは何ですか?どちらがパフォーマンスが良いですか?
  76. JDBCを使用してデータベースを操作する場合、データを読み込むパフォーマンスを向上させるにはどうすればよいですか?データ更新のパフォーマンスを向上させるには、どうすればよいですか?
  77. データベースをプログラミングする際のコネクションプールの役割とは何ですか?
  78. DAOパターンとは何ですか?
  79. トランザクションのACIDは何を意味するのか?
  80. JDBCではトランザクションはどのように扱われるのですか?
  81. JDBCはBlobやClobを扱えるのか?
  82. 正規表現とその用途について簡単に説明してください。
  83. Javaでは、正規表現の操作はどのようにサポートされていますか?
  84. あるクラスのクラスオブジェクトを取得する方法には、どのようなものがありますか?
  85. リフレクションでオブジェクトを作成するには?
  86. リフレクションでオブジェクトのプライベートフィールドの値を取得・設定するには?
  87. リフレクションでオブジェクトのメソッドを呼び出すには?
  88. オブジェクト指向の6つの原則と1つのルールについて簡単に説明してください。
  89. デザインパターンについて知っていることを簡単に説明できる。
  90. Javaでシングルトンクラスを書きなさい。
  91. UMLとは何ですか?
  92. UMLでよく使われる図とは?
  93. Javaでバブルソートを書いてください。
  94. Javaで半減ルックアップを記述する。

Javaインタビューの質問(II)

このJava面接質問集に含まれるトピックの一覧は以下の通りです。

  • マルチスレッド、並行処理、スレッドの基礎知識
  • データ型変換の基本原則
  • ガーベッジコレクション(GC)
  • Javaアセンブリフレームワーク
  • 配列
  • 文字列
  • GOFデザインパターン
  • ソリッド
  • 抽象クラスとインターフェイス
  • イコール、ハッシュコードなどのJavaの基礎知識
  • ジェネリックと列挙型
  • Java IOとNIO
  • 共通ネットワークプロトコル
  • Javaによるデータ構造とアルゴリズム
  • 正規表現
  • JVMアンダーレイ
  • Javaのベストプラクティス
  • JDBC
  • 日付、時刻、カレンダー
  • JavaによるXMLの処理
  • JUnit
  • プログラミング

全部で133問あるので、スペースの関係で1問ずつ掲載するのではなく、スクリーンショットを掲載します。

Springの面接の質問(I)

一般的な質問

  1. Spring Frameworkの各バージョンの主な特徴は何ですか?
  2. Spring Frameworkとは何ですか?
  3. Spring Frameworkの利点を列挙してください。
  4. Spring Frameworkのさまざまな機能とは? Spring Frameworkにはいくつのモジュールがあり、それらは何ですか?
  5. Springの設定ファイルとは何ですか?
  6. Springアプリケーションのさまざまなコンポーネントとは何ですか?
  7. Springの利用方法にはどのようなものがありますか?

依存性注入(Ioc)

  1. Spring IOCコンテナとは何ですか?
  2. 依存性注入とは何ですか?
  3. 依存性注入は何通りあるのですか?
  4. コンストラクタ注入とセッタ注入を区別する。
  5. springのIOCコンテナには何種類ありますか?
  6. BeanFactoryとApplicationContextを区別してください。
  7. IoCの利点をいくつか列挙する。
  8. Spring IoCを実装するための仕組み。

ビーンズ

  1. Spring Beanとは何ですか?
  2. Springが提供する設定方法にはどのようなものがありますか?
  3. SpringはBeanのスコープの一元化をサポートしていますか?
  4. Spring Beanコンテナのライフサイクルはどのようになっていますか?
  5. Springの内部Beanとは何ですか?
  6. スプリングアセンブリとは何ですか?
  7. アセンブリの自動化にはどのような方法がありますか?
  8. 自動組立の限界とは?

注意事項

  1. アノテーションベースのコンテナ構成とは
  2. Springでアノテーションアセンブリを開始するには?
  3. Component、@Controller、@Repository、@Serviceの違いは何ですか?
  4. Requiredアノテーションの目的は何ですか?
  5. Autowiredアノテーションの使い方を教えてください。
  6. Qualifierアノテーションはどのように使うのですか?
  7. RequestMappingアノテーションの目的は何ですか?

データアクセス

  1. spring DAOは何のためにあるのか?
  2. Spring DAOが投げる例外を列挙してください。
  3. spring JDBC API にはどのようなクラスが存在しますか?
  4. Springを使用してHibernateにアクセスする方法は?
  5. springがサポートするトランザクション管理の種類を挙げてください。
  6. SpringがサポートするORMフレームワーク

AOP

  1. AOPとは何ですか?
  2. アスペクトとは何ですか?
  3. JoinPointとは
  4. 通知(Advice)とは何ですか?
  5. 通知(Advice)にはどのような種類がありますか?
  6. 春 aop の懸念と横断的な懸念の違いを示してください。
  7. AOPの実装方法にはどのようなものがありますか?
  8. Spring AOPとAspectJ AOPの違いは何ですか?
  9. Springにおけるプロキシはどのように理解されていますか?
  10. ウィービングとは何ですか?

(七)MVC

  1. Spring MVCフレームワークは何のためにあるのですか?
  2. DispatcherServletのワークフローを記述します。
  3. WebApplicationContextの紹介

Springの面接の質問(II)

  1. Springとは何ですか?
  2. Springフレームワークを使用するメリットは何ですか?
  3. Springはどのようなモジュールで構成されていますか?
  4. Core Container (Application Context) モジュール。
  5. BeanFactory - BeanFactoryの実装例です。
  6. XMLBeanFactory
  7. AOPモジュールの説明
  8. JDBCの抽象化とDAOモジュールについて説明しています。
  9. オブジェクト/リレーショナルマッピング統合モジュールについて説明しています。
  10. WEBモジュールについて説明しています。
  11. Springの設定ファイル
  12. Spring IOCコンテナとは何ですか?
  13. IOCのメリットは何ですか?
  14. ApplicationContextの通常の実装はどのようなものですか?
  15. Beanファクトリーとアプリケーションコンテキストの違いは何ですか? Springアプリケーションはどのようなものですか?

依存性注入

  1. Springの依存性注入とは何ですか?
  2. IOC(依存性注入)のアプローチにはどのような種類がありますか?
  3. コンストラクタ注入とセッタメソッド注入、どちらの依存性注入法がおすすめですか?

春豆

  1. Springビーンとは何ですか?
  2. Springビーン定義 その内容は?
  3. Springコンテナに設定メタデータを提供するには?
  4. クラスのスコープはどのように定義するのですか?
  5. SpringがサポートするいくつかのBeanタイプのスコープを説明する。
  6. SpringフレームワークのシングルトンBeanはスレッドセーフか?
  7. SpringフレームワークにおけるBeanのライフサイクルを説明する。
  8. ビーンライフサイクルの重要なメソッドは何ですか?また、それらをオーバーライドすることはできますか?
  9. Springの内部ビーンとは何ですか?
  10. Springでjavaコレクションをインジェクトするには?
  11. ビーンアセンブリとは何ですか?
  12. Beanの自動アセンブルとは何ですか?
  13. 自動アセンブリのさまざまな方法を説明します。
  14. 自動組立の制限とは何ですか?
  15. Springでnullや空文字列をインジェクションできますか?

春季アノテーション

  1. JavaベースのSpringアノテーション構成とは?アノテーションの例をいくつか挙げてください。
  2. アノテーションベースのコンテナ構成とは何ですか?
  3. アノテーションアセンブリを有効にするにはどうしたらいいですか?
  4. 必要なアノテーション
  5. Autowiredアノテーション
  6. Qualifierアノテーション

春季データアクセス

  1. SpringフレームワークでJDBCをより効果的に使用するには?
  2. JdbcTemplate
  3. SpringによるDAOのサポート
  4. SpringでHibernateにアクセスする最適な方法とは?
  5. SpringがサポートするORM
  6. HibernateDaoSupportを通じて、SpringとHibernateを組み合わせるには?
  7. Springがサポートするトランザクション管理タイプ
  8. Springフレームワークでトランザクション管理を行うメリットは何ですか?
  9. どのような種類のトランザクション管理を使用するのが良いですか?

Spring タンジェント指向プログラミング(AOP)

  1. AOPの説明
  2. アスペクトセクション
  3. Spring AOPにおけるconcernとcrosscut concernの違いは何ですか?
  4. 接続ポイント
  5. 通知機能
  6. カットポイント
  7. イントロダクションとは何ですか?
  8. ターゲットオブジェクトとは何ですか?
  9. プロキシとは何ですか?
  10. 自動プロキシには何種類ありますか?
  11. ウィービングインとは何ですか。ウィービングインアプリケーションの違いは何ですか。
  12. タンジェント実装のためのXMLスキーマベースのアプローチについて説明する。
  13. アノテーションに基づくカットの実装を説明する。

SpringのMVC

  1. SpringのMVCフレームワークとは何ですか?
  2. ディスパッチャーサーブレット
  3. WebApplicationContext
  4. Spring MVCフレームワークのコントローラとは何ですか?
  5. Controllerアノテーション
  6. RequestMappingアノテーション

マイクロサービスに関するインタビューの質問

  1. マイクロサービスについて知っていることは何ですか?
  2. マイクロサービスアーキテクチャの利点は何ですか?
  3. マイクロサービスの特徴とは?
  4. マイクロサービスを設計するためのベストプラクティスとは?
  5. マイクロサービスアーキテクチャはどのように機能するのか?
  6. マイクロサービスアーキテクチャのメリットとデメリットは?
  7. モノリシック、SOA、マイクロサービスアーキテクチャの違いは何ですか?
  8. マイクロサービスアーキテクチャを利用する際に直面する課題は何ですか?
  9. SOAとマイクロサービスアーキテクチャの主な違いは何ですか?
  10. マイクロサービスの特徴を教えてください。
  11. ドメイン駆動型設計とは何ですか?
  12. なぜドメイン駆動設計(DDD)が必要なのですか?
  13. ユビキタス言語とは何ですか?
  14. コヒーシヨンとは何ですか?
  15. カップリングとは何ですか?
  16. REST / RESTfulとは何か、何に使うのか?
  17. Spring Bootについて知っていることはありますか?
  18. Spring主導のエグゼキュータとは何ですか?
  19. Spring Cloudとは何ですか?
  20. Spring Cloudはどのような問題を解決するのですか? Spring MVCアプリケーションにおけるWebMvcTestアノテーションの用途は何ですか? レストとマイクロサービスについての要点を教えてください。
  21. マイクロサービスのテストにはどのような種類がありますか?
  22. 分散型トランザクションについて教えてください。 Idempotenceとは何ですか、どこで使われていますか?
  23. バウンデッドコンテキストとは何ですか?
  24. 2ファクタ認証とは何ですか?
  25. 2要素認証のクレデンシャルの種類は何ですか?
  26. クライアント・クレデンシャルとは何ですか?
  27. マイクロサービスアーキテクチャにおけるPACTの用途は何ですか?
  28. OAuthとは何ですか?
  29. コンウェイの法則とは何ですか?
  30. 受託試験について教えてください。
  31. エンドツーエンドのマイクロサービステストとは?
  32. マイクロサービスにおけるContainerの利用方法とは?
  33. マイクロサービスアーキテクチャにおけるDRYとは?
  34. CDC(Consumer Driven Contract)とは何ですか?
  35. マイクロサービスにおけるWeb, RESTful APIの役割とは?
  36. マイクロサービスアーキテクチャにおけるセマンティックモニタリングについて教えてください。
  37. クロスファンクショナルテストを行うには?
  38. テストから非決定性を排除するには?
  39. MockとStubの違いは何ですか?
  40. Mike Cohnのテストピラミッドについて教えてください。 Dockerの目的は何ですか?
  41. カナリアリリースとは何ですか?
  42. 継続的インテグレーション(CI)とは何ですか?
  43. 継続的モニタリングとは何ですか?
  44. マイクロサービス・アーキテクチャにおけるアーキテクトの役割とは?
  45. マイクロサービスでステートマシンを作ることは可能か?
  46. マイクロサービスにおけるリアクティブエクステンションとは?

Linux インタビューの質問

  1. 絶対パスに使われる記号は何ですか?カレントディレクトリと上位ディレクトリを表す記号は何ですか?ホームディレクトリは何で表されますか?ディレクトリを切り替えるためのコマンドは何ですか?
  2. 現在のプロセスを表示するにはどうすればよいですか?終了を実行するにはどうすればよいですか?現在のパスを表示するには?
  3. 画面をクリアするにはどうすればよいですか?現在のコマンドを終了するにはどうすればよいですか?スリープさせる方法を教えてください。現在のユーザーIDと指定されたヘルプを表示するコマンドは?
  4. Lsコマンドは何をするコマンドですか?また、どのようなパラメータを取ることができ、どのような違いがあるのでしょうか?
  5. ソフトリンク(ショートカット)、ハードリンクを作成するためのコマンド。
  6. ディレクトリの作成にはどのようなコマンドを使用するのですか?ファイルを作成するコマンドは?ファイルをコピーするコマンドは?
  7. ファイルの中身を見るには、どのようなコマンドがありますか?
  8. ランダム書き込みファイルコマンド?hello world"のようなスペースを含む文字列を画面に出力するにはどうしたらよいですか?
  9. ターミナルはどのフォルダのどのファイルですか?ブラックホールファイルは、どのフォルダのどのコマンドですか?
  10. ファイルを移動させるにはどのコマンドを使用しますか?名前を変更するコマンドはどれですか?
  11. ファイルをコピーするにはどのコマンドを使用しますか?フォルダを指定してコピーする場合はどうすればよいですか?ヒントが必要な場合は?
  12. ファイルを削除するには、どのコマンドを使用しますか?ディレクトリとその下のファイルも削除したい場合はどうすればいいですか?空のフォルダーを削除するには、どのコマンドを使用しますか?
  13. Linuxのコマンドで使用できるワイルドカード文字にはどのようなものがありますか?また、それらはどのような意味ですか?
  14. ファイルの内容を数えるにはどのようなコマンドを使いますか?(行数、ワード数、バイト数)。
  15. Grepコマンドはどのように使うのですか?大文字・小文字を無視する方法を教えてください。文字列が含まれていない行を見つけるには?
  16. Linuxにおけるプロセスの状態とは?psが表示する情報では、それぞれを示すためにどのような記号が使われていますか?
  17. コマンドをバックグラウンドで実行させるにはどうしたらいいですか?
  18. psで全プロセスを表示するには?ps を使って特定のプロセスに関する情報を見るには?
  19. バックグラウンドタスクを表示するために特に使用されるコマンドはどれですか?
  20. バックグラウンドタスクをフォアグラウンドにするためのコマンドは何ですか?停止しているバックグラウンドタスクをフォアグラウンドにするコマンドは何ですか?
  21. プロセスを終了させるには、どのようなコマンドを使用しますか?どのようなパラメータで?
  22. システムがサポートしているすべてのシグナルを表示するにはどうすればよいですか?
  23. ファイル検索はどのようなコマンドで行うのですか?また、その形式は何ですか?
  24. 現在そのホストを使用しているユーザーを確認するためのコマンドは何ですか?今使っている端末の情報を調べるには、どのようなコマンドを使いますか?
  25. 使用したコマンドの一覧を表示するコマンドは何ですか?
  26. ディスクの使用量を表示するコマンドは何ですか?空き容量についてはどうですか?
  27. ネットワークが接続されてい