私は、主要なJavaプログラマになりたいですか?私たちは、これらの質問のいずれかを持っていました!

著者:のrowKey

https://zhuanlan.zhihu.com/p/31552882

まず、基本的なデータ構造とアルゴリズム

  • いくつかの共通の複雑さは、アルゴリズムをソートし、それぞれについてのトーク。

  • Javaの使用は、バブルソートアルゴリズムを書き込みます

  • チェーンのストレージ構造を説明してください。

  • バイナリツリーを走査する方法?

  • LinkedListの反転。

  • ディレクトリの再帰的な内のすべてのファイルの上にJavaで書かれています。

二、Javaの基礎

  • インターフェースと抽象クラスの違いは?

  • Javaの例外これらのカテゴリのもので?それぞれ、どのように使用するには?

  • 一般的にどのようなコレクションを使用?このようなリストをソートする方法として?

  • 内部のArrayListとLinkedListは大体何を達成?彼らと長所と短所の違いは?

  • メモリオーバーフローが、それがどのようにあるのですか?例を教えてください?

  • ==と違いに等しいですか?

  • hashCodeメソッドの役割?

  • NIOそれは何ですか?どのようなシーンにも適用されますか?

  • HashMapの実装原則、どのようにHashMapのスレッドの安全性を確保するには?

  • JVMのメモリ構造、なぜGC?

  • NIO差モデル、選択/ファイルディスクリプタ、多重化の原則

  • どのくらいのJavaバイトの文字のは、長い間、ダブルバイトの口座番号をint型に尋ねる延長しました

  • 選択肢が何であるかをクラスのインスタンスを作成しますか?

  • 最後の/最後に/差異を確定?

  • セッション/クッキー差?

  • 違い文字列/ StringBufferを/ StringBuilderを、その実現ASK拡大?

  • サーブレットのライフサイクル?

  • 連続したJavaの1Gメモリ領域を割り当てる方法?何に注意が必要?

  • Javaは、独自のメモリ回復メカニズムを持っているが、なぜメモリがそれをリークする問題がありますか?

  • Javaのシリアル化を達成するためにどのように、Javaのシリアライズとは何ですか?(インスタンスを書きますか)?

  • 文字列s =新しいString( "ABC");作成されたいくつかの文字列オブジェクト?

三、JVM

  • JVMのヒープの基本的な構造。

  • いくつか持っているJVMのガベージアルゴリズム?ガベージコレクションのCMSの基本的な流れ?

  • どのような一般的なJVMの起動パラメータは、いくつかを記述するために調整することができていますか?

  • JVMのメモリ使用量を表示するには?

  • Javaプログラムは、メモリが不足している、メモリリークが発生しますか?いくつかの例。

  • あなたの一般的なJVMの設定とチューニングパラメータは何ですか?どのような役割をしていますか?

  • JVMのメモリ構造?

  • 一般的に、それはYGC、トリガFGCをトリガーするGC戦略を、使用?

第四に、マルチスレッド/並行処理

  • スレッドを作成するには?スレッドの安全性を確保するには?

  • スレッドセーフなデータ構造を実装する方法

  • デッドロックを回避する方法

  • キーワードの揮発性の役割?

  • マルチスレッド環境でのHashMapは注意が必要ですか?なぜ?

  • スレッドを起動するJavaプログラムは)(()を実行したり、起動していますか?

  • デーモンスレッドとは何ですか?用途は何ですか?

  • デッドロックとは何ですか?どのように回避するために、

  • スレッドとプロセスの違いは何ですか?

  • インサイドTHREADLOCAL Javaはどのように達成することですか?

  • 原理はConcurrentHashMapのでしょうか?

  • 睡眠と待ち時間の違い

  • 通知とのnotifyAll差

  • volatileキーワードの場合

  • 役割とのThreadLocalを実現

  • 二つのスレッドのシリアルを実行する方法

  • コンテキストスイッチの意味は何ですか

  • スレッドは、それが不足することがあり殺しますか?

  • ロック、書き込みロック、スピンロック、リエントラントロックの条件は何ですか?

  • ThreadPoolExecutorスレッドプールの原則?

五、トラブルシューティングおよび問題分析へのLinuxの使用

  • 2つのコマンドを使用してファイルを作成しますか?

  • ハードリンクとソフトリンクの違いは?

  • Linux共通コマンド何?

  • Javaスレッドのどのリソース消費を見てください?

  • 何の可能性が高いことをロードしますか?

  • をどうするか/ etc / hostsファイル?

  • どのようにすぐにすべての「ABC」のテキストを「XYZ」に置き換えられているのだろうか?

  • どのように私は、ログファイルにエラーログを見つけるために検索するには?

  • 私たちは、十分なディスクスペースを見つけ、すぐに識別するためにどのように最大のファイルには、スペースを取りますか?

  • Javaサーバのトラブルシューティング(OOM、高いCPU高負荷、階級闘争)

  • Javaのトラブルシューティングおよび一般的な使用法(トップ、iostatの、vmstatの、SAR、tcpdumpを、jvisualvm、jmapは、jconsoleを)

  • どのようにダンプファイルの解析をスレッドに(Runnableを、ロック、コードスタック、オペレーティングシステムのスレッドIDが関連付けられています)

  • スレッド情報Javaアプリケーションを表示するには?

第六に、フレームワークの使用

  • Hibernateは三つの状態を説明しますか?

  • ライフサイクルの春豆。

  • 要求処理を処理するStrutsやSpringMVC。

  • 春AOPは、この問題を解決するには?どのように達成するために?

  • 春のトランザクション伝播特性は、それがどのようにあるのですか?それはどのような影響を与えるのだろうか?

  • 春たBeanFactoryとFactoryBeanの違いは何ですか?

  • 原則としてどのようなIOCのSpringフレームワークとは?

  • いくつかの方法があります春の依存性注入、

  • ストラットワークフロー

  • 春のセクションを達成するためにどのように?

  • 春はどのようにデータベーストランザクションを実現しますか?

  • 12キャッシュ、レイジー・ロード理解のHibernateの使用;

  • バッチを提出する方法をMyBatisの?

七、データベース関連

  • MySQLのInnoDBは、Mysaimが特徴?

  • 楽観と悲観的ロックでの違いは?

  • どのようなデータベースの分離レベルですか?役割とは何ですか?

  • MySQLは、同期機器の基本原則を習得します。

  • 実行トンサイズの大きさのオーダーでサイズオーダーでテーブルから選択*> SQLステートメントの10グループ?

  • どのように最適化データベースのパフォーマンスに(インデックス、サブライブラリーのサブテーブル、バルク・オペレーション、ページングアルゴリズム、ハードディスクSSDをアップグレードし、ビジネスの最適化、マスター・スレーブの展開)

  • 状況がSQLインデックス(、関数に等しくない、含まれていません)を使用しないでください何の下で

  • 一般的にはどのようなフィールドインデックス化(アップフィルタデータフィールドへの)で

  • どのようにすべての行の「XYZ」が含まれていないテーブルから名前フィールドを見つけるには?

  • MySQLは、B +インデックスは、達成行ロック、SQLの最適化を達成するために

  • Redisの、RDBとAOF、高可用性をどのように行う、クラスタリング

  • 高い在庫同時低下の問題を解決する方法

  • 実施MySQLストレージエンジンインデックス機構。

  • データベーストランザクションのいくつかの細かさ。

  • ロー・ロック、テーブルロック、楽観的ロック、悲観的ロック

八、ネットワークプロトコルやネットワークプログラミング

  • TCPコネクションの確立。

  • プロセスのTCP接続が切断されます。

  • ブラウザの背後に302ジャンプロジックが起こりますか?

  • 対話型プロセスのHTTPプロトコル。違いHTTPおよびHTTPS、SSLインタラクティブなプロセス?

  • 休憩とのHttp関係は何ですか?誰もが残りは非常に軽量であると言い、そしてどのように残りスタイルのご理解?

  • TCPスライディングウィンドウプロトコルの使用は何ですか?原則について話しています。

  • HTTPプロトコルは、どのような方法を持っていますか?

  • スイッチとルータの違いは?

  • 基本的な流れソケットの対話?

  • HTTPプロトコル(メッセージ構造、HTTP、マルチスレッドダウンロード、長い接続が何であります)

  • TCPプロトコル(でも、ビルドプロセス、スロースタート、スライディングウィンドウ、7層モデル)

  • Webサービスプロトコル(WSDL / SOAPフォーマット、残りのプロトコルとの差)

  • NIO、ネッティースレッドモデルの利点は、ゼロコピーするものです

九、Redisのと他のキャッシング・システム/ミドルウェア/ NoSQLの/一貫性ハッシュなど

  • Redisのクライアントの同時実行モデルの共通リスト。

  • どのようにHBaseのあいまいクエリ?

  • 一般的に使用されるメッセージングミドルウェアのリスト、メッセージあなたはどのように達成するために保存注文したい場合は?

  • ハッシュテーブルを達成するためにどのように?どのように配慮ハッシュ衝突を設計していますか?どのように最適化するには?

  • 分散キャッシュコヒーレンスハッシュ

  • LRUアルゴリズムで、スラブの割り当ては、どのようにメモリの断片化を減らすために

  • スタンドアロンキャッシュホットな問題を解決する方法

  • ある原理を実装ブルームフィルタは、何ですか?偽陽性を指し?

  • 差memcacheのとRedisの

  • どのように選挙アルゴリズムの機能飼育係は何ですか

  • マップ/プロセスを減らし、どのように2つのデータソースマップで/関節の統計を減らします

テン、デザインパターンと復興

  • あなたは、例えば、いくつかの共通のデザインパターン

  • あなたは何の植物パッケージのデザインに原則に従うでしょうか?

  • あなたは、オープンソース・プロジェクト/ライブラリのビジター/ Decoratorパターンのリストを使用することができますか?

  • あなたはどのような最も一般的なデザインパターンをエンコードする場合は?とどのようなシナリオの下では?

  • シングルトンを実装する方法?

  • プロキシモード(ダイナミックプロキシ)

  • シングルトン(複雑な初期化を解決するためにどのように怠惰なモード、揮発性とロックの使用)

  • 内部のJDKのソースを使用すると、参照するには、たとえば、デザインパターンを使用して印象に残っ何ですか?

質問のこのセットは、あくまでも参考のために、応答がない、Javaの技術スタックマイクロチャンネル公衆数の焦点は、バックグラウンドキーワードに返信:インタビューを、あなたはより多くのJavaのスタック仕上げロングインタビューコレクションを取得することができます。
この記事では、Javaテクノロジ・スタックのウェブサイトに合わせて更新されています:

1. JavaのチュートリアルのJVM、コレクション、マルチスレッド、新シリーズ

2. Spring MVCの、ブーツ春、クラウドチュートリアルの春シリーズ

3. Mavenの、Gitは、Eclipseの、IDEAのIntelliJツールチュートリアルシリーズ

4. Javaの、バックエンドアーキテクチャは、アリババと他のメーカーは、新たな疑問に直面します

人生は美しいです、〜明日見ます

おすすめ

転載: www.cnblogs.com/javastack/p/12463931.html