5年間働いたAlibabaJavaプログラマーで、経験の概要とインタビューのメモを共有しています(2020年の主要企業からの最新のインタビューの質問と)

仕事の最初の年は、多くの場合、新鮮さ、すべてを学び、熱意に満ちた年です。WEB業界の知識は非常に迅速に更新されます。今日のフレームワークの新しいバージョンは、明日も新しいフレームワークになることがあります。プロジェクトでは、新しいことを学び続ける必要があります。何度も、私が使用したものは非常に多いと感じています。しかし、深く研究されてきたものは多くありません。面接は、転職後に直面する必要のある最初の質問です。企業によって面接の焦点は異なりますが、共通点が1つあります。それは、Javaの基盤が必須であるということです。

作業の1年目には、文字列オブジェクトの作成についての理解、一般的に使用されるフレームワークなどについて質問される場合があります。
作業の3年目には、Javaメモリ割り当てメカニズムとは何か、クラスの方法について質問される場合があります。ロードされているなど。
5年目の作業では、一般的に使用されるデザインパターン、作業でどのような役割を果たしているか、モジュールを個別に完了する方法などを尋ねるだけです。
これが典型的なプログラマーの成長プロセス:

最新の2020年に収集されたいくつかのインタビューの質問(すべてドキュメントにまとめられています)には、Alibaba、Tencent、ByteDance、JD、Huawei、およびその他の主要メーカーの実際のJavaインタビューの質問をカバーする、多くの乾物があります。または普通のインターネット企業にとって、これらの面接の質問は間違いなくあなたに役立ちます。結局のところ、大企業は業界の発展のベンチマークでなければなりません。多くの企業の面接官は大企業の面接の質問も研究します。詳細な学習計画もあります、

インタビュー情報を入手するには、ここをクリックして入手してください!!!パスワード:CSDN。

Javaの基本

1. JAVAのいくつかのデータ型と、それぞれが占めるバイト数は何ですか。

2. Stringクラスを継承できますか?その理由。

3. 2つのオブジェクトのhashCode()が同じである場合、equals()も真でなければなりませんよね?

4.文字列は基本的なデータ型ですか?

5. Javaで文字列を操作するためのクラスは何ですか?それらの違いは何ですか?

6. Javaには何種類のIOストリームがありますか?

7. BIO、NIO、AIOの違いは何ですか?

8.使用されているMapクラス、違いはありますか、HashMapスレッドセーフ、同時に使用されるMap、およびストレージメソッド、ハッシュコード、容量拡張、デフォルト容量などの内部原則は何ですか。

9.文字列を逆にする方法は?

10.抽象クラスには抽象メソッドが必要ですか?

11.通常のクラスと抽象クラスの違いは何ですか?

12.抽象クラスは最終変更を使用できますか?

13. ArrayListとLinkedListの違いは何ですか?

14. ConcurrentHashMapのデータ構造(必須)

15.揮発性の役割(必須)

16. Atomicクラスの原子性を確保する方法(CAS操作)(必須)

17.スレッドプールを使用する理由(必須)

画像

Redis

  • Redisのアプリケーションシナリオ
  • Redisでサポートされているデータ型(必須)
  • zsetジャンプテーブルのデータ構造(必須)
  • Redisデータの有効期限戦略(必須)
  • RedisのLRU有効期限戦略の具体的な実装
  • Redisキャッシュアバランシェとキャッシュペネトレーションの問題を解決する方法
  • Redisの永続化メカニズム(必須)
  • Redisがシングルスレッドであるのはなぜですか?
  • キャッシュペネトレーションとは何ですか?どのように対処しますか?
  • Redisの永続性にはいくつの方法がありますか?
  • なぜRedisはとても速いのですか?(必須)
  • Redisは分散ロックをどのように実装しますか?
  • Redisはどのようにメモリを最適化しますか?
  • Redis除去戦略とは何ですか?
  • Redisの一般的なパフォーマンスの問題は何ですか?それを解決する方法は?
  • Redisを使用する際に注意すべき点は何ですか?

画像

ZooKeeper

  • CAP定理
  • ZAB契約
  • リーダー選出のアルゴリズムとプロセス
  • Zookeeperとは何ですか?
  • Zookeeperにはいくつのデプロイメントモードがありますか?
  • Zookeeperは、マスターノードとスレーブノードの同期をどのように保証しますか?

画像

Mysql

  • ビジネスの基本要素
  • トランザクション分離レベル(必須)
  • トランザクションの同時実行性の問題を解決する方法(ダーティ読み取り、ファントム読み取り)(必須)
  • MVCCマルチバージョン同時実行制御(必須)
  • binlog、redolog、undologとは何ですか、またそれらの機能は何ですか
  • InnoDB行ロック/テーブルロック
  • myisamとinnodbの違い、myisamを選択するタイミング
  • インデックス構造としてB +ツリーを選択する理由(必須)
  • インデックスB +ツリーのリーフノードに保存できるもの(必須)
  • クエリが実行されない場合(予期される)インデックス(必須)
  • SQLを最適化する方法
  • SQLを解析する方法を説明する
  • による秩序の原則

画像

JVM

  • ランタイムデータ領域(メモリモデル)(必須)
  • ガベージコレクションメカニズム(必須)
  • ガベージコレクションアルゴリズム(必須)
  • マイナーGCおよびフルGCのトリガー条件
  • GC中ストップザワールド(STW)
  • 各ガベージコレクターの特徴と違い
  • 親の委任モデル
  • JDBCと親委任モデルの関係
  • JVMでの完全なGCプロセスとは何ですか、オブジェクトがどのように古い時代に昇格するか、そしてあなたが知っている主なJVMパラメーターについて話します

画像

  • SpringのIOC / AOPの実装(必須)
  • ダイナミックエージェントの実現(必須)
  • Springは循環依存関係をどのように解決しますか(3レベルキャッシュ)(必須)
  • Springのポストプロセッサ
  • Spring @Transactionalの実装方法(必須)
  • Springのトランザクション伝播レベル
  • BeanFactoryとApplicationContextの接続と違い

画像

その他

  • 高並行性システムの現在の制限を実現する方法
  • 高並行性スパイクシステムの設計
  • 負荷分散を設計する方法

オペレーティング・システム

  • プロセスとスレッドの違い
  • プロセス同期のいくつかの方法
  • スレッド間の同期
  • バッファオーバーフローとは何ですか。害は何ですか、そしてその理由は何ですか
  • その過程でどのような状態がありますか
  • ページングとセグメンテーションの違いは何ですか

画像

マルチスレッドの記事

  • マルチスレッドのいくつかの実装、スレッドセーフとは
  • 揮発性の原理と機能、それはロックを置き換えることができますか?
  • 睡眠と待機の違い
  • sleep(0)の意味
  • ロックと同期の違い
  • 同期の原則は何ですか?それは一般的にどこで使用されますか(たとえば、静的メソッドと非静的メソッドのロードの違い)

画像

合理的なキャリアプラン

キャリアプランとは何ですか-あなたの短期または長期のキャリアプランです!主要な原則について話さない場合は、単純にしましょう。最初にいくつか質問させてください。

a。あなたは数年働いていますが、初心者のように単純なプログラマーになりたいですか?
b。他のことを気にせずに、常にコードを記述してもよろしいですか?
c。プロジェクトの事前要件、設計、展開後、および保守。リーダーがあなたを見つけた場合、私たちはそれを理解できないと言いますね。
プログラマーはコードをタイプするための機械ではありません。初年度はわからないことが多すぎます。上司の取り決めに従い、コードを入力し、データベースを見て、自分や他の人のコードをテストすることができますが、2年目もまだです。このような?不可能です。1年の経験で業界に参入できます。要件分析の実行方法、データベースの設計方法、さまざまなドキュメントの作成方法、より優れたコードの作成方法を学ぶときが来ましたか?これは上級プログラマーの要件です!

シニアプログラマーとは何ですか?

分析と設計の能力があり、技術研究を行うことができ、特定の業界で深いバックグラウンドを持っているプログラマー!

結局、プロジェクトの立ち上げ後は、事前設計に積極的に参加し、昔の仲間の問題を考えて分析し、その経験から学ぶ必要があります!OK、あなたは成長します!

プログラマーがコードを書くだけだとは思わないでください!

さらに、プロジェクトの開発を通じて、関数の開発時間を大まかに計算できる必要があります。たとえば、モジュールには20の小さなファンクションポイントがあり、80時間開発され、各小さなファンクションポイントの平均は2時間です。この時点で、ワークロードは早い段階で評価できます。もちろん、各人の効率と作業品質は人によって異なり、人によって異なりますが、おおよその作業負荷は統計的であり、プロジェクトの作業サイクルをカウントするために使用する必要があります。

今日は、この転職中にまとめたJava面接の概要をお伝えします。それらのほとんどは面接プロセス中の面接の質問です。これをチェックして空席を埋めることができます。もちろん、ここのリストでは絶対にカバーできません。すべての方法。

では、面接の質問の本文を入力してください。

Javaの基本

1.リストとセットの違い
2.HashSetはどのように非反復を保証し
ますか3.HashMapはスレッドセーフですか、なぜスレッドセーフではありません(マルチスレッドでは安全ではないことを示すために絵を描く方が良いです)環境)?
4。HashMap拡張プロセス
5、HashMap 1.7と1.8の違い、1.8で行われた最適化と、それらを最適化する方法を説明してください。
6、final最終ファイナライズ
7、強参照、ソフト参照、弱参照、ファントム参照
8、Javaリフレクション
9、Arrays.sort実現原則とコレクション実現原則
10、LinkedHashMapアプリケーション
11、クローン可能なインターフェース実現原則
12、例外分類と処理メカニズム
13、待機とスリープの違い
14、メモリに配列を割り当てる方法

Javaの並行性

1.同期およびロック最適化の実現原理?
2.揮発性の実現原理?
3. Javaのセマフォ?
4.静的方式と通常方式の同期の違いは何ですか?
5.すべてのスレッドが実行前にイベントの発生を待機していることをどのように認識しますか?
6. CAS?CASの欠点とその解決方法は何ですか?
7.同期とロックの違いは何ですか?
8. Hashtableはどのようにロックされますか?
9. HashMapの並行性の問題は何ですか?
10. ConcurrenHashMapとは何ですか?1.8で赤黒木を使用するのはなぜですか?
11. AQS
12.デッドロックを検出する方法は?デッドロックを防ぐ方法は?
13. Javaメモリモデル?
14.マルチスレッドでi ++の正しい結果を保証するにはどうすればよいですか?
15.スレッドプールの種類、違い、使用シナリオは?
16.スレッドプールとスレッドスケジューリングプロセスの実現原理を分析しますか?
17.スレッドプールを調整する方法と最大数を確認する方法は?
18. ThreadLocalの原則、それを使用するときは何に注意を払う必要がありますか?
19. CountDownLatchとCyclicBarrierの使用法、およびそれらの違いは?
20.LockSupportツール
21.条件インターフェイスとその実装原理
22.フォーク/結合フレームワークの理解
23.セグメント化されたロックの原理とロック強度の低下の考え方
24 、8種類のブロッキングキューと各ブロッキングキューの特性

1. BeanFactoryとFactoryBean?
2. Spring IOCとその初期化プロセスについてどのように理解していますか?
3. BeanFactoryとApplicationContext?
4. Spring Beanのライフサイクルはどのように管理されていますか?
5. Spring Beanのロードプロセスは何ですか?
6. Spring AOPを実装する場合、どのように実装しますか?
7. Spring IOCを実装する場合、どのような問題に注意を払いますか?
8. Springはトランザクションとトランザクション管理メカニズムをどのように管理しますか?
9. Springのさまざまなトランザクション伝播動作とは何ですか?また、それらは何に使用されますか?
10. Springではどのようなデザインパターンが使用されていますか?
11. Spring MVCはどのように機能しますか?
12.スプリングサイクリックインジェクションの原理は?
13. Spring AOP、各用語の理解、それらは互いにどのように機能しますか?
14. Springはどのようにしてコントローラーの同時実行性のセキュリティを確保しますか?

Netty

1. BIO、NIO、AIO
2.Nettyの主要コンポーネント
3.Nettyのスレッドモデル4.TCP
スティッキー/アンパックの理由と解決策
5.どのシリアル化プロトコルを知っていますか?使用シナリオと選択方法を含む
6、Nettyのゼロコピー実装
7、Nettyの高性能パフォーマンス

分散相関

1.Dubboの基本的な実装の原則とメカニズム
2.サービスの公開から消費までの詳細なプロセスを説明する
3.分散システムがサービスガバナンスを行う方法
4.インターフェイスのべき等の概念
5.メッセージミドルウェアがメッセージ損失の問題を解決する方法
6. Dubboのサービスリクエストの失敗に対処する方法
7.再接続メカニズムはエラーを引き起こし
ますか8.分散トランザクションの理解
9.負荷分散を実現する方法と実装できるアルゴリズムは何ですか?
10. Zookeeperの目的と選挙の原則は何ですか?
11.データの垂直分割と水平分割。12.Zookeeperの
原則と適用可能なシナリオ13.Zookeeperの
監視メカニズム
14.redis / zkノードのダウンタイムに対処する
方法15.分散クラスターで一意のシリアル番号
を取得する方法16.分散ロックを作成する方法
17.どれMQはどのように使用されていますか?他のmqと比較した場合の長所と短所は何ですか?MQスレッドの接続は安全ですか?18。MQ
システムのデータが失われないようにする方法は?
19。データベースサブデータベースを一覧表示しますあなたが考えることができるサブテーブル戦略;サブデータベースサブテーブルの後、完全なテーブルクエリ
20の問題を解決する方法、動物園飼育係の選挙戦略
21、グローバルID

データベース

1. mysqlページングの最適化とは何ですか?
2。ペシミスティックロック、オプティミスティックロック
3.複合インデックス、左端の原則
4. MySQLテーブルロック、行ロック
5.MySQLパフォーマンスの最適化
6.MySQLインデックス分類:B +、ハッシュ;何で状況インデックス
7、トランザクション特性、および分離レベル

キャッシュ

1. Redisで使用されているデータデータとRedisの最下層の実現方法
2.Redisキャッシュの浸透、キャッシュアバランシェ
3.Redisを使用して分散ロックを実装する
方法
4.Redisでの同時競合の問題を解決する方法5.いくつかのタイプのRedis永続化方法、長所と短所、達成方法
6.Redisキャッシュ無効化戦略
7.Redisクラスター、高可用性、原則
8. Redisキャッシュフラグメンテーション
9、Redisデータ除去戦略

JVM

1.詳細なjvmメモリモデル
2.メモリオーバーフローまたはメモリリークが発生する状況について教えてください。
3.Javaスレッドスタックについて話します
。4。若い世代から古い世代のJVMへのプロモーションプロセスを判断するための基準は何ですか。
5. JVMは非常に頻繁にfullGCに表示されますが、オンラインで問題をトラブルシューティングするにはどうすればよいですか?
6.クラスのロードに親委任モードを使用するのはなぜですか?このモードを破るシナリオはありますか?
7.クラスのインスタンス化の順序
8.JVMガベージコレクションメカニズム、MinorGCおよびその他の操作をトリガーするタイミング
9. JVM
10の完全なGCプロセス(ygcからfgcまで)とは10.さまざまなコレクター、それらの長所と短所、キーポイントCMS、G1
11、さまざまなリカバリアルゴリズム
12、OOMエラー、stackoverflowエラー、permgenスペースエラー

最新の2020年に収集されたいくつかのインタビューの質問(すべてドキュメントにまとめられています)、mysql、netty、春、スレッド、春の雲などの詳細な説明を含む多くの乾物があり、詳細な研究計画、インタビューの質問もあります、など。

画像
大手企業の最新インタビュー情報:ここに画像の説明を挿入

このフルバージョンのインタビューノートが必要な場合は、この記事で私をサポートするだけで済みます。

多くのサポート、あなたは無料で情報を得ることができます-3年連続で(約束:100%無料)

クイックスタートチャンネル:(ここをクリック)ダウンロードしてください!誠意あふれる!

整理するのは簡単ではありません。役立つと感じた友達は、編集者を助け、いいね、共有、サポートすることができます〜

あなたのサポート、私のモチベーション;私はあなたにすべての明るい未来と絶え間ない申し出を望みます!

おすすめ

転載: blog.csdn.net/m0_46657043/article/details/109457821