Java基礎(面接問題かもしれませんよ)、答えは随時更新します。

5518 ワード

J 2 SEベース
1.9種類の基本データタイプの大きさとパッケージタイプ。
データの種類
パッケージクラス
byte
Bytte
ショート?ト
Shot
要点
インテグ
long
Long
float
Float
ドビー
Double
bollan
ボロア
char
Chracter
void
Void
周知のように、Javaのタイプは二つに分かれています。一つは基本タイプで、一つは参照タイプです。二つの本質的な違いは、基本的なタイプは、スタックに空間的な「値」を割り当てることである。ただし、引用のタイプは、ヒープの中にスペースを割り当てて「値」を保存します。Voidはnewが出てこない、つまりヒープの中にスペースを割り当てて対応の値を貯めることができない。それは最初にスタックに空間を割り当てました。だから、ある人はVoidを基本的なタイプにするのも道理があります。
2.Switchはstringでパラメータを作ることができますか?
jdk 7の前に、switchはbyte、shot、char、intのこれらの基本データタイプとその対応するパッケージタイプしかサポートできません。switchの後ろの括弧にはintタイプの値しか入れられませんが、byte、shot、charタイプのため、それらは 自動 intタイプに変換する(精度が小さいものから大きいものへの変換)ので、それらもサポートします。
なお、精度がintより大きいタイプについては、long、float、doulbleなど、自動的にintに変換されません。使いたいなら、強くintに変えなければなりません。floatのように。
実は、jdk 1.7は新しいコマンドでswitch stringを処理するのではなく、switchのstring.hashCodeを呼び出して、stringをintに変換して判断します。
3.equalsと==の違い。
まずequalsと==の最大の違いは、equalsは方法、==は演算子です。
==equalsと本質的には同じですが、比較対象の参照が同じですか?
equalsはObjectの共通方法であり、下の実装は依然として使用==である。Objectのequalsソースは以下の通りです。
  
 public boolean equals(Object obj) {
        return (this == obj);
    }
原因はいくつかのクラス(String、Dateなど)でequalsを書き換えました。
4.Objectはどのような公共方法がありますか?
cloneメソッド:保護方法は、オブジェクトの浅いコピーを実現するために、Cloeableインターフェースを実現してこそ、この方法を呼び出すことができます。さもなければ、例外を投げます。
getクラス方法:運転時タイプを取得します。
Stringメソッド:オブジェクトに戻る文字列表示は、一般的にサブクラスで書き換えられます。
finalize方法:資源の放出。使用を推奨しません
equals方法:bootleanに戻り、2つのオブジェクトが等しいかどうかを比較します。
hashCode方法:ハッシュコード値を取得する。
wait方法:
wait方法とは、現在のスレッドを対象のロックを待つことであり、現在のスレッドはその対象の所有者、つまりその対象のロックを持つ必要がある。wait()メソッドは、ロックを獲得するまで待ちます。または中断されます。wait(long timeout)は超時間間隔を設定しており、規定時間内にロックが取れなければ戻ります。
この方法を起動すると、以下のイベントが発生するまで現在のスレッドは睡眠状態になります。
(1)他のスレッドがオブジェクトのnotifyメソッドを呼び出した。
(2)他のスレッドがオブジェクトのnotifyAllメソッドを呼び出した。
(3)他のスレッドは、interruptを呼び出してスレッドを中断します。
(4)時間の間隔が来ました。
このスレッドはスケジュールされています。中断された場合は、InterruptedExceptionの異常をスローします。
notifyメソッド:オブジェクト上で待つスレッドを起動します。notifyAllメソッド:オブジェクト上で待機しているすべてのスレッドを起動します。
5.Javaの4つの引用、強弱、虚弱、使用するシーン。
6.Hashcodeの役割。
7.ArayList、LinkdList、Vectorの違い。
8.String、StrigBurerとStrigBuiderの違い。
9.Map、Set、List、Que、Stockの特徴と使い方。
10.HashMapとHashTableの違い。
11.HashMapとConcerenthashMapの違いは、HashMapの下のソースコードです。
12.TreeMap、hashMap、LindhashMapの違い。
13.Collectionパッケージ構造とCollectionとの違い。
14.try catch finally、tryにはreturnがありますが、finallyはまだ実行されますか?
15.ExcptionとErrパッケージ構造。OOMはどのような状況に遭遇しましたか?SOFはどのような状況に遭遇しましたか?
16.Java対象に向かう三つの特徴と意味。
17.OverrideとOverloadの意味は区別します。
18.Interfaceとabstract類の違い。
19.Static classとnon static classの違い。
20.java多状態の実現原理。
21.マルチスレッドを実現する二つの方法:ThreadとRunable。
22.スレッド同期の方法:sychronized、lock、reentrant Lockなど。
23.ロックの等級:方法錠、対象錠、類錠。
24.生産者の消費者モデルを書き出す。
25.ThreadLocalの設計理念と役割。
26.ThreadPoolの使い方と利点。
27.Conccurrentバッグの中の他のもの:ArayBlockingQue、Count DownLatchなど。
28.wait()とsleep()の違い。
29.foreachと正常forサイクル効率の比較。
30.Java IOとNIO。
31.反射の作用は原理である。
32.一般的な一般的な特徴、ListはListに変えることができますか?
33.XMLのいくつかの方法の原理と特徴を解析する:DOM、SAX、PULL。
34.JavaとC++の比較。
35.Java 1.7と1.8の新しい特性。
36.設計モード:一例、工場、アダプター、責任チェーン、観察者など。
37.JNIの使用
Javaには多くの雑多なものがあります。時にはあなたがソースコードを読む必要があります。ほとんどの本の中ではよく分かりません。オンラインで答えを探してください。
推荐书籍:java核心技术巻I《Thinking in java》《java并合プログラミング》《effictive java》《大话デザインモード》
JVM
1.メモリモデルとパーティションは、各エリアに何を置くべきですか?
2.山の中のパーティション:Eden、survival from to、古い年代、それぞれの特徴。
3.オブジェクト作成方法、オブジェクトのメモリ割り当て、オブジェクトのアクセス位置決め。
4.GCの2つの判定方法:参照カウントと参照チェーン。
5.GCの3つの収集方法:マークのクリア、マークの整理、コピーアルゴリズムの原理と特徴は、それぞれどこで使いますか?収集方法を最適化したら、どんな考えがありますか?
6.GCコレクタは何がありますか?CMSコレクタとG 1コレクタの特徴。
7.Minor GCとフルGCはそれぞれいつ発生しますか?
8.いくつかの一般的なメモリデバッグツール:jmap、jstack、jconsone。
9.クラスローディングの5つのプロセス:ロード、検証、準備、解析、初期化。
10.両親の委任モデル:Bootstrap Class Loader、Extension Class Loader、Application Class Loader。
11.分派:静的分派と動的分派。
JVMは過去に来て、このような問題を聞きましたが、あまり変わっていません。メモリモデルとGCアルゴリズムはこの質問が多いです。ネットで多くのブログを探してみてください。
推荐书籍:Java仮想マシンを深く理解する。
オペレーティングシステム
1.プロセスとスレッドの違い。
2.デッドロックの必要条件は、どうやって処理しますか?
3.Windowメモリ管理方式:セグメント記憶、ページ記憶、セグメントページ記憶。
4.プロセスのいくつかの状態。
5.IPCのいくつかの通信方式。
6.仮想メモリとは?
7.仮想アドレス、論理アドレス、線形アドレス、物理アドレスの違い。
Androidをするということですので、ちょっとお聞きしたいのですが、履歴書にOSが書いてないということもあります。
推荐书籍:『近代的な操作システムを深く理解する』
TCP/IP
1.OSIとTCP/IPの各層の構造と機能には、どのようなプロトコルがありますか?
2.TCPとUDPの違い。
3.TCP報文構造。
4.TCPの3回の握手と4回の手を振る過程、それぞれの状態名と意味、TIMEWAITの役割。
5.TCP混雑制御。
6.TCPスライドウィンドウとリターンNピンプロトコル。
7.Httpの報文構造。
8.Httpの状態コードの意味。
9.Http requestのいくつかのタイプ。
10.Http 1.1とHttp 1.0の違い
11.Httpはどのように長い接続を処理しますか?
12.CookieとSessionの役割は原理にあります。
13.コンピュータでウェブページにアクセスすると、どのようになりますか?DNS、HTTP、TCP、OSPF、IP、ARP。
14.Pingの全過程。ICMP新聞は何ですか?
15.C/Sモードではsocket通信を使用し、いくつかのキー関数があります。
16.IPアドレスの分類。
17.ルータとスイッチの違い。
ネットは大体において二つのブロックに分けられています。一つのTCPプロトコル、一つのHTTPプロトコルは、この二つと関連協議をはっきりさせさえすれば、一般的な問題は大きくありません。
おすすめの書籍:「TCP/IPプロトコル族」
データ構造とアルゴリズム
1.チェーンと配列。
2.隊列と桟、出庫と入構。
3.チェーンの削除、挿入、逆方向。
4.文字列操作。
5.Hash表のhash関数、衝突解決方法は何がありますか?
6.各種の並べ替え:泡立ち、選択、挿入、ヒル、帰結、快速列、積み上げ、桶列、基数の原理、平均時間複雑度、最悪時間複雑度、空間複雑度、安定かどうか。
7.急行のpartition関数と帰結のMerge関数。
8.発泡と快速排出の改善。
9.二分検索と、変種二分検索。
10.二叉樹、B+木、AVL樹、赤黒い木、ハフマン樹。
11.二叉樹の前中を巡回します。再帰的と非再帰的な書き方で、アルゴリズムを巡回します。
12.図のBFSとDFSアルゴリズム、最小生成ツリーprimアルゴリズムと最短経路Dijkstraアルゴリズム。
13.KMPアルゴリズム
14.組み合わせの問題を並べる。
15.ダイナミック企画、貪欲アルゴリズム、分割アルゴリズム(普通は聞きません。
16.ビッグデータ処理:10億本のデータのように最大の1000個の数を探し出す……など。