Ali 40K * 16の給与オファーを取得するプロセス全体を共有しました

Aliの技術的な職務要件とシステム図:

多くの人は、アリババの技術職のシステム構造と技術要件のレベルについて明確ではありません。彼らは面接に行きたがっていて、面接対象のポジションのレベルがわかりません。アリの技術システムのレベルについて話しましょう。

Ali P6(テクニカルスーパーバイザー)

作業要件:

問題を独立して解決し、体系的な技術的実装計画を策定することができ、評価にはある程度の技術的深さが含まれます。

スキル要件:

P5スキルに加えて、以下のスキルを習得する必要があります。以下のスキルは、少なくとも精通している必要があります。

アーキテクチャの設計、運用および保守機能、オペレーティングシステム。

添付図面:

技術面接の質問は次のとおりです

一方(データ構造、jvm、ロックなどについて尋ねられた):

  1. 自己紹介とプロジェクト

  2. HashMapの最下層を実現する方法は?

  3. ハッシュコンセンサスアルゴリズム?

  4. HashMapとConcurrentHashMapの違いについて話しますか?ツリーマップとハッシュマップの違いは?

  5. Javaメモリパーティション?

  6. Javaオブジェクトをリサイクルする方法、アルゴリズムをリサイクルしますか?

  7. CMSとG1は理解していますか?

  8. CMSはどのような問題を解決しますか?リサイクルプロセスについて教えてください。

  9. CMSリカバリは何回一時停止しましたか?

  10. Javaスタックはいつオーバーフローしますか?Javaヒープ、シナリオはどうですか?

  11. コレクションクラスはこの問題(ソフト参照と弱参照)をどのように解決しますか?また、これら2つの参照の違いは何ですか?

  12. Javaのロックについて何を知っていますか?

  13. 同期ロックアップグレードプロセス(バイアスロックを軽量ロックに、次に重量ロックに)を実装する方法と、どのような問題が解決されますか?

  14. Tomcatの基本的なアーキテクチャは何ですか?

  15. クラスローダーとは何ですか?

  16. 親委任モデルのメカニズムについて話しますか?

  17. GCのメカニズムは何ですか?GCアルゴリズムと回復戦略?

  18. 将来のキャリアプランは?

2つの側面(スレッド、データベース、キャッシュ、プロトコルなど):

  1. プロジェクトについて話す

  2. スレッドプールのコンポーネントは何ですか?

  3. どのスレッドプールがあり、それらをどのように使用するのですか?拒否戦略は何ですか?

  4. 複数のスレッドでデッドロックが発生するのはいつですか?例を書いてください。

  5. Redisのデータ構造は何ですか?スレッドモデルはどうですか?

  6. Redisのデータ除去メカニズムについて話しますか?

  7. Redisのデータ整合性について話しますか?

  8. Redisを配布するにはどうすればよいですか?

  9. RPCはどうですか?

  10. 3つのハンドシェイクと4つの波?スリーウェイハンドシェイクがない場合、問題はありますか?

  11. HTTPリクエストプロセス、DNS解決プロセス?

  12. InnoDBでサポートされている4つのトランザクション分離レベルの名前は何ですか?違いは何ですか?MySQLの分離レベルについて話しますか?

  13. トランザクションと遅いクエリの特徴は?

  14. BTreeメカニズムはどうですか?

  15. MySQLで一般的に使用されている最適化方法について話しますか?

3つの側面(分散、メッセージキューなど):

  1. 自己紹介

  2. キャップとその意味を理解していますか?

  3. 強い一貫性と弱い一貫性を実現する方法は何ですか?

  4. 負荷分散を実現する方法は?あなたはなぜこれをやっているのですか?

  5. キャッシュアバランシェはどうですか?

  6. MySQLマスタースレーブレプリケーションはどのように機能しますか?具体的な原則は何ですか?長所と短所は何ですか?

  7. 分散トランザクションについて話しますか?

  8. メッセージキュー、使用されるシナリオ(ピーククリッピング、電流制限、非同期)?

  9. zkのパフォーマンスのボトルネックを克服する方法は?

  10. カフカと言えば、データが失われないようにする方法は?メッセージが繰り返し消費されないことを確認しますか?

  11. メッセージ配信確認はどのように機能しますか?

4つの側面(プロジェクトから開始):

  1. 私のプロジェクトについて話しました

  2. 使用されている主なアーキテクチャは何ですか?

  3. より複雑なビジネスロジックについて教えてください。

  4. 困難な問題と画期的な領収書に遭遇

  5. あなたの将来の計画と将来のキャリア開発について話してください

並行プログラミング:

  • マルチスレッドの並行性と並列性とは何ですか?

  • スレッドセーフの問題は何ですか?

  • 共有変数のメモリ可視性の問題は何ですか?

  • Javaのアトミック操作とは何ですか?

  • JavaでのCAS操作とAtomicLongの実現原理は何ですか?

  • Java命令の並べ替えとは何ですか?

  • JavaのSynchronizedキーワードのメモリセマンティクスは何ですか?

  • JavaのVolatileキーワードのメモリセマンティクスは何ですか?

  • 偽共有とは何ですか、なぜそれが発生するのですか、そしてそれを回避する方法は?

  • リエントラントロック、オプティミスティックロック、ペシミスティックロック、フェアロック、アンフェアロック、排他ロック、共有ロックとは何ですか?

  • ThreadLocalの実装原理について教えてください。

  • ThreadLocalは、変数のスレッド分離メソッドとしてどのように機能しますか?

  • InheritableThreadLocalの実装原理について話しますか?

  • InheritableThreadLocalは、ThreadLocalが継承をサポートしていないという事実をどのように補いますか?

  • CyclicBarrierの内部実装はCountDownLatchとどのように異なりますか?

  • 乱数ジェネレーターのRandomクラスは、CASアルゴリズムをどのように使用して、マルチスレッドで新しいシードの一意性を確保しますか?

  • ThreadLocalRandomは、ThreadLocalの原則をどのように使用してRandomの制限を解決しますか?

  • ThreadLocalを使用してSpringフレームワークにリクエストスコープスコープBeanを実装するにはどうすればよいですか?

  • 並行パッケージのロックの最下層(AQSの理解)?

  • 排他的ロックReentrantLockの原則について話しますか?

  • ReentrantReadWriteLockの原則について話しますか?

  • StampedLockの原理を理解していますか?

  • リンクリストに基づく非ブロッキング無制限キューConcurrentLinkedQueueの原理の理解について話しますか?

  • ConcurrentLinkedQueueは、CAS非ブロッキングアルゴリズムを内部的にどのように使用して、マルチスレッドのエンキューおよびデキュー操作のスレッドセーフを確保していますか?

  • リンクリストに基づくLinkedBlockingQueueの原則。

JVM

  • Javaメモリ割り当て?

  • Javaヒープの構造は何ですか?

  • ヒープ内のPermGenスペースとは何ですか?

  • 各バージョンのメモリ領域の変更について簡単に説明してください。

  • 各エリアの役割についてお話しください。

  • Javaにメモリリークがありますか?

  • Javaクラスのロードプロセス?

  • クラスファイルをロードするJVMの主要なメカニズムを説明してください。

  • クラスローダーとは何ですか?

  • クラスローダーとは何ですか?

  • Tomcatクラスのロードメカニズムとは何ですか?

  • クラスローダーの親委任モデルメカニズム?

  • GCとは何ですか?GCはなぜですか?

  • Javaのガベージコレクションメカニズムについて簡単に説明してください。

  • オブジェクトが生きているかどうかを判断する方法は?

  • ガベージコレクションの利点と原則、および2種類のリサイクルメカニズムを検討しますか?

  • ガベージコレクターの基本原則は何ですか?

  • ガベージコレクターはすぐにメモリを再利用できますか?ガベージコレクションについて仮想マシンに事前に通知する方法はありますか?

  • ディープコピーとシャローコピー?

  • System.gc()とRuntime.gc()は何をしますか?

  • オブジェクトの参照がnullに設定されている場合、ガベージコレクターはオブジェクトが占有しているメモリをすぐに解放しますか?

  • 分散ガベージコレクション(DGC)とは何ですか?それはどのように機能しますか?

  • なぜプロキシモデルが必要なのですか?

  • 静的プロキシモデルの利点とボトルネックについて話しますか?

  • Javaインターフェイスプロキシモードの実現原理を理解していますか?

  • Javaリフレクションを使用して動的プロキシを実装する方法は?

  • Javaインターフェイスプロキシモードの指定された拡張?

  • Cglibクラスの拡張動的プロキシの実装について話しますか?

  • ポイントカット、アドバイス、ジョインポイントとは何ですか?

  • ジョインポイントとポイントカットの違いは何ですか?

  • アスペクト指向プログラミングの側面を理解する方法は?

  • SpringAOPウィービングの理解について話しますか?

  • SpringAOPの紹介(紹介)の理解について話してください。

  • OOPとAOPの簡単な比較を説明してください。

  • JDK動的プロキシとCGLIBプロキシの原理と違いを説明してください。

  • SpringフレームワークでのスキーマベースのAOPの実装原理を説明してください。

  • SpringフレームワークでAOPに基づくトランザクション管理を実装する方法を説明してください。

  • 制御の反転の設計アイデアの理解について話しますか?

  • Spring IOCコンテナを理解する方法は?

  • 。フルバージョンが必要な友達は、この記事を気に入って、アシスタントvx:bjmsb10を無料で追加できます。

データベース

  • MySQLにはどのストレージエンジンがありますか?違いは何ですか?

  • FloatとDecimalのストレージ量の違いは何ですか?

  • 日時とタイムスタンプの保存時間の違いは何ですか?

  • Char、Varchar、Varbinaryストレージ文字の違いは何ですか?

  • インデックスとは何ですか?

  • B +ツリーインデックスとハッシュインデックスを比較しますか?

  • MySQLインデックスタイプとは何ですか?

  • MySQLインデックスを管理する方法は?

  • Explainパラメータと重要なパラメータを理解していますか?

  • インデックス作成とインデックス分類の長所と短所は何ですか?

  • 二分木の転置とは何ですか?

  • クラスター化インデックスと非クラスター化インデックスの違いは何ですか?

  • B +ツリーはどのように最適化されますか?インデックスはどのような原則に従いますか?ストレージエンジンはどのような自動最適化を実行しますか?インデックスはいつ失敗しますか?

  • インデックスとロックの関係は何ですか?

  • 他にどのようなインデックスタイプがあり、それらの長所と短所は何ですか?

  • Innodbの問題についてのあなたの理解について話してください。

  • データベーストランザクションの特性と潜在的な問題について話しますか?

  • MySQLの分離レベルとは何ですか?

  • トランザクション障害のシナリオはいくつあり、それらを解決する方法はありますか?

キャッシュ

  • redisデータ構造とは何ですか?

  • キャッシュの浸透、キャッシュのなだれをやり直しますか?

  • Redisを使用して分散ロックを実装するにはどうすればよいですか?

  • Redisでの同時競合の問題を解決するにはどうすればよいですか?

  • Redisの永続性のいくつかの方法、長所と短所、およびそれを実現する方法は何ですか?

  • Redisのキャッシュ無効化戦略?

  • Redisクラスター、高可用性、原則?

  • キャッシュの断片化を再実行しますか?

  • Redisのデータ除去戦略?

  • Redisキューアプリケーションのシナリオ?

  • 分散使用シナリオ(ストレージセッション)?

ネットワークプログラミング

  • TCP接続および切断プロセス?

  • HTTPプロトコルのインタラクティブプロセス、HTTPとHTTPSの違い、SSLのインタラクティブプロセス?

  • TCPのスライディングウィンドウプロトコルの用途は何ですか?

  • HTTPプロトコルの方法は何ですか?

  • ソケットの相互作用の基本的なプロセス?

  • tcpプロトコル(接続確立プロセス、スロースタート、スライディングウィンドウ、7層モデル)について話しますか?

  • Webサービスプロトコル(wsdl / soap形式、resttプロトコルとの違い)?

  • Nettyスレッドモデルについて話してください。ゼロコピーとは何ですか?

  • TCP 3ハンドシェイク、4ウェーブハンド?

  • DNS解決プロセス?

  • TCPはどのようにして信頼性の高いデータ転送を保証しますか?

配布

  • CAP定理とは何ですか?

  • CAP理論とBASE理論について話しますか?

  • 最終的な一貫性とは何ですか?最終的な一貫性を実現する方法は?

  • コンシステントハッシュとは何ですか?

  • 分散トランザクションについて話しますか?

  • 分散ロックを実装する方法は?

  • 分散セッションを実装する方法は?

  • メッセージの一貫性を確保する方法は?

  • 負荷分散について理解していますか?

  • フォワードプロキシとリバースプロキシ?

  • CDNはどのように実装されますか?

  • システムのQPSとスループットを改善するにはどうすればよいですか?

  • ダボの根底にある実現原理とメカニズム?

  • サービスが公開されてから消費されるまでの詳細なプロセスを説明してください。

  • 分散システムでサービスガバナンスを行う方法は?

  • メッセージミドルウェアはメッセージ損失の問題をどのように解決しますか?

  • Dubboサービスリクエストの失敗に対処するにはどうすればよいですか?

  • 分散トランザクションを理解していますか?

  • 負荷分散を実現する方法と、実装できるアルゴリズムは何ですか?

  • Zookeeperの目的と選挙の原則は何ですか?

  • データの垂直分割と水平分割について話しますか?

面接経験のまとめ

履歴書に何を書くかについては注意が必要であり、履歴書の内容に精通している必要があります。通常の状況では、面接官はあなたの履歴書に基づいて尋ねます。

また、テーブルにプロジェクトを置くことも非常に重要です。これは、面接官が多くの質問をする場所になる可能性が高いため、面接の前に行ったプロジェクトを確認してください。

デザインパターンの使用、マルチスレッドの使用など、特定のプロジェクトシナリオと組み合わせることができる基本的な知識、または日常生活でのそれらの使用方法について、インタビュアーに相談してください。

面接したい会社の価値観を事前に知って、この会社に適しているかどうかを判断することをお勧めします。

また、個人的には面接もまったく新しい旅のように感じます。失敗と勝利は当たり前のことです。ですから、面接の失敗で落胆したり、闘志を失ったりしないようにアドバイスします。面接に合格したからといって、自己満足しないでください。あなたを待っているのは、より良い未来です。続けてください。

。フルバージョンが必要な友達は、この記事を気に入って、アシスタントvx:bjmsb10を無料で追加できます。

上記の内容を読んだ後、誰もが明確な目標と方向性を持っていると思います。年後に面接を希望する一部の学生のために、非常に包括的なレビュードキュメントを用意しました。

おすすめ

転載: blog.csdn.net/javachengzi/article/details/112998444