2020年java面接試験問題のまとめと整理(テーマだけ、答えはゆっくりと整理してください)~更新を続けています。

5464 ワード

最近は面接をしていますので、面接の問題を整理してみます。
 
一。javaの基礎
 
1.i++と+i 
 
面接でこんな問題がありました。i++と124 出会う 短絡の原則、以下のコードを見てみます。
package org.example;

public class Test02 {

    int i = 0, j = 0;

    public static void main(String[] args) {
        Test02 test02 = new Test02();
        test02.method01();
        System.out.println("i:"+test02.i);
        System.out.println("j:"+test02.j);
        int i = 0, j = 0;
        int a = i++;
        int b = ++j;
        System.out.println("a:"+a);
        System.out.println("b:"+b);
    }


    public void method01(){
        i++;
        ++j;
    }

}
私たちは答えを出力したいですが、何ですか?
出力の答えは:
i:1
j:1
a:0
b:1
私たちは見ました。i++ と+j 後、i++が出ました 0以外は全部1です。
私たちは次のコードを見に来ました。
package org.example;

public class Test03 {

    int i = 0, j = 0;

    public static void main(String[] args) {
        Test03 test02 = new Test03();
        test02.method02();
        System.out.println("i:"+test02.i);
    }

    public void method02(){
        boolean flag = (0 < 3) || i++ > 10;
    }

}
methodの方法で注意します。 短絡原則ですので、iはまだ0です。 
私たちは実行結果を見ます。
"C:\Program Files\Java\jdk-10.0.2\bin\java.exe" "-javaagent:I:\dev_tools\idea\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=58490:I:\dev_tools\idea\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath H:\WORKSPACE_TINGYUN\study\springboot\test01\target\classes org.example.Test03
i:0
 
2.javaのIOにはどんなものがありますか?文字ストリームとバイトストリームの違いは何ですか?バイトストリームはいつ使用されますか?文字ストリームとバイトストリームの間でどう変換されますか?
答え:
      InputStreamは、OutputStreamはバイトストリームであり、Reader、Writerは文字ストリームである。
      一般的にはFileInputStream、FileOutputStream、ByteArayInputStream、ByteArayOutputStreamがあります。
     詳細はこのブログをご覧ください。 https://blog.csdn.net/lwang_it/articale/detail/78886186
 
3.ファイル1.txtファイルはどうやってバイト配列に変換しますか?
 
4.集合にはどんなものがありますか?Listはどのような実現がありますか?ArayList、Vector、Linked Listの底の実現原理は何ですか?この三つの違いは何ですか?
答え:
   ArayListとVectorの下の層は配列で実現されていますので、検索が速く、添削が遅いです。
  Linked Listの下の階はチェーンが実現したので、添削が早いです。検索が遅いです。
  ArayListはスレッドではなく、Vectorはスレッドで安全です。
 
5.Setはどのような実現がありますか?TreeSet、HashSet、Linked HashSetはそれぞれどのような特徴がありますか?
答え:https://www.cnblogs.com/wl0000-03/p/6019627.html
 
6.hashMap、hashTable、ConcerenthashMapのそれぞれの特徴は何ですか?彼らの違いは何ですか?それぞれどのような場面でこの3種類のMapを使いますか?
 
7.HashMap底部実現原理、jdk 1.7とjdk 1.8の中でhashMapは何の違いがありますか?HashMapの拡大メカニズムと拡大原理?
 
8.javaの反射メカニズムは何ですか?これについて何か理解がありますか?
JAVA反射機構は運行状態において、いずれのクラスについても、このクラスのすべての属性と方法を知ることができます。いずれのオブジェクトに対しても、その任意の方法と属性を呼び出すことができます。このような動的に取得された情報およびオブジェクトを動的に呼び出す方法の機能は、java言語の反射機構と呼ばれる。
詳細は:https://www.cnblogs.com/songanwei/p/9386749.html
 
9.javaのゴミ回収メカニズムと原理?ごみの回収アルゴリズムはどのような種類がありますか?それぞれに彼らに対する理解を話してください。
 
10.javaの行列とスタックはどう違いますか?
 
11.javaクラスのロードのプロセスと原理?
 
12.javaにおける静的変数とメンバー変数の違いは何ですか?彼らはどうやってロードしますか?
 
13.jvm调优、実际の仕事の中でjvm调优の経験がありますか?分かち合います
 
14.抽象類とインターフェースはそれぞれ何ですか?彼らの違いは何ですか?
 
15.final、finally、 finalizeの違いと使い方
 
16.Object類にはどのような方法がありますか?
 
17.javaにいる 中== 和 equals()の違いは?
 
18.jdk 1.8の新しい特性はどれらがありますか?それぞれ言ってください。そしてプロジェクトではどうやって使いますか?
 
19.Httpプロトコルには何が含まれていますか?Httpsは何が暗号化されていますか?
 
二番目です。MySQL
1.MySQLの調節、sqlの最適化はどうやって行いますか?
2.sqlの実行フロー
3.sqlの格納過程
4.どのような状況でインデックスが失効しますか?
5.索引には何がありますか?インデックスの下には何のデータ構造がありますか?インデックスの原理
6.結合インデックスa、bがありますが、後の三つのクエリー条件の中で、a=?b=a=ですかand b=にある そのいくつかの条件はコンポジットに使われています。
コンセンサスは、最も左の原則に従います。a=? a=とand b= コンポジットを使用しました。 に対する b= abのインデックスが使用されていません。
7.MySQLのインデックス並べ替えの問題:aとbの両方のフィールドにインデックスがあり、クエリ条件に where a=order by b にある aとbのインデックスは全部使いましたか?
答え:https://blog.csdn.net/zengxuewen2045/article/details/51226860
8.MySQLの中にはどのような記憶エンジンがありますか?InnoDBとMyISAMはそれぞれどんな特徴がありますか?それとも彼らはどんな違いがありますか?
9.事物の隔離レベルと伝播メカニズム、Mysqlでデフォルトの隔離レベルはどれですか?
三番目です。併発する
1.プロセスとスレッドの違い
2.スレッドはどのような状態ですか?
3.join()、yield()、sleep()、wait() これらの方法はそれぞれどういう意味ですか?sleep()とwait()の違いは何ですか?
4.スレッドの安全と非スレッドの安全を説明します。実際の例で説明してください。
5.synchronized 和 ReetrantLock 間の違い?簡単に話してください ReetrantLock の実現原理
6.言ってください Reetrant ReadWriteLock
7.AQSとは何かを話して、AQSに対する理解を話してください。
8.JUCに対する理解を話します。JUCにはどんな種類がありますか?それぞれに話してください。
四です。Springフレーム
1.Springフレームの理解を話してください。
2.IOCとAOP
3.Spring MVC の実行フロー
4.Spring MVCのコメント
5.Request BodyとReponseBodyの違いは?
6.Springの中の事務はどのようにしていますか?
 
五です。MyBatis
1.MyBatisの中の菗 と$ どんな違いがありますか?どんな場合に使いますか?
2.MyBatisのキャッシュメカニズムは何ですか?
 
六です。Spring Boot
1.Spring Bootの理解とSprigBootとSpringの違いをどうやって説明しますか?
2.Spring Bootではどんな新技術が使われていますか?
3.Spring Bootのstarterはどう理解しますか?
4.Spring Bootの中の@SprigBootation 注釈はどう分かりますか?
5.Spring Bootの中のプロジェクトはどうやって実行しますか?
6.Spring Bootプロジェクトはどのように展開されていますか?
 
七です。Redis
1.Redisにはどのようなデータ構造がありますか?それぞれどんな状況でどんなデータ構造を使いますか?
2.プロジェクトのどのシーンでRedisを使いましたか?それぞれどうやって使いますか?
 
八です。分散式マイクロサービス及びSpringCloud、Dubo、Zookeeper
1.分散式、マイクロサービスのこれらの名詞、および伝統的な分散型とSOAアーキテクチャの違いをどう理解しますか?
2.SprigCloudはどんな技術がありますか?
3.Spring BootとSprigCloudの関係と違いは何ですか?
4.SprigCloudにはどのような注釈がありますか?
5.SprigCloudでは、どのようにリンク監視を実現していますか?
6.zookeeperでは、データの整合性をどのように実現するためのアルゴリズムがありますか?
7.zookeeper、Eurekaの違いは何ですか?
8.Dubboとは何ですか?DubboとSpringCloudにはどんな特徴と違いがありますか?