私は、ポストは、Javaバックエンドを開発することである、最終的な選択はアリババに行き見出し、18年の終わりまでに、インターネットの冬アリババで成功を得るために、仕事を見つけるために逃げるようになった、開発の経験3年以上を持っている今日、低下し、他の企業が提供します。
私は仕事を探している友人を探してgive'mまたは少し助けを準備することを期待して、同社はほとんどのポイントが同じであると感じ、その下に彼らの経験訪問し、企業の数をインタビューしました。アイデンティティがインタビュアーとなってから加えて、アリは、現在、同じではない多くの点で問題を見て、インタビュアーの求職者をしている求職者の視点だけでなく、インタビュアーの視点の両方下記そう
インタビュープロセス
私はインタビュープロセスについてお話しましょう、大企業は、一般的にHRの3-4ラウンド技術的な面、一面を持っています。アリで、私は最初の2ラウンド、4つの技術面の合計を経験尋ねると、プロジェクト実施のための主要な基礎である、最初の3つは、プロジェクトの実施と開発を依頼する主に、顔、2回の面接に交差しています。最初の4つの部門が上司に直面している、主要なインフラ、技術とビジネスのいくつかの、個人的な開発より抽象的な事柄を理解するために要請しました。
ポイントことに注意してください
- 2に再開1は、プロジェクトの経験が、同じ被写体に約2~3を書くプロジェクトのほとんどのハイライトを書き込んでくださいすることが最良です
- はっきり書くのに時間の仕事の経験を開始し、大企業がバックトーンを持っていながら、マージまたは省略仕事の経験のいくつかの比較的短い期間を、インパクトがちょうどインタビューではないかもしれないが、後でこの会社に入れないかもしれません
- ブログの何も記事、githubのプロジェクトは良い履歴書を書いていません
インタビュアーの質問については、あなたが答える前に明確に考えるように、あなたが必要な時間が比較的長くなる可能性があることを感じた場合、私の思考のそのアイデア、面接での私の次のクラスの仕上げとすることができます
私は面接を行う発話速度や関節へのインタビュー注意を払う時には、後に、多くの人々がすぐに話をする傾向がある、またはろれつが回らないが、またそれ以外のインタビュアーがあなたが(特に上の点を答えなかったという感じになるだろうな問題を引き起こすことがわかりました電話面)
インタビューの結果後のインタビューで直接質問しません
技術的な検査
全体的に、技術関連の研究は、2つのブロック、1つの土台に分けて、二つ目は経験です。
日々蓄積と面接前の準備からJavaベース、データベース、ミドルウェア、などの基礎。
前の経験が行われ、プロジェクト、問題を解決し、(そのようなトラフィックが利用できるようにする方法十倍に流れた場合、プロジェクトなど)いくつかのシーンの問題を含んでいます。
本文主要说一些大概的问题,整体的进阶的技术点比较多,下面放了下链接,如果失效就可以进群获取,有些是我自己总结的,有些是收(抄)集(袭)了别人的。
セット
- コレクションには、2つのブロックに分かれています。スレッドの安全性を非スレッドセーフのコレクションにし、java.utilのjava.util.concurrentパッケージコレクションの下に。
リスト
- ArrayListのとLinkedListの実装との違い
地図
HashMapの:拡大を避けるために、紛争解決(リストと赤黒木)、展開のタイミング、時間の最適化の焼き直しをハッシュする方法、データ構造を理解します
LinkedHashMap:基本原則を理解し、どのような2整然とした、LRUを達成するためにそれを使用する方法
TreeMapの:キーのターゲットは、インターフェイスを比較達成するためにでなければならない理由を確認するために、データ構造を理解し、一貫性のあるハッシュを達成するためにそれを使用する方法
セットする
- 基本的に対応するマップによって達成設定し、簡単なように見えます
よくある質問
- 競合を解決するハッシュマップをハッシュする方法、なぜ、リスト内のハッシュマップは赤黒木に変身する必要がありますか?
- 展開をトリガするときはHashMapの?
- jdk1.8の前に無限ループのハッシュマップはなぜ並行性の問題がある場合?
- ハッシュマップの拡張は、各エントリのために一回計算する必要がある場合は、それをハッシュ?
- なぜハッシュマップ配列の長さは、2つの電源を確保するには?
- LinkedHashMapでLRUを実装する方法?
- ハッシュのTreeMapとの整合性を達成するためにどのように?
ミドルウェア、ストレージ、および他のフレームワーク
春
- 豆ライフサイクル、円形の依存関係、(プロジェクトが使用しているような)ばね雲AOPを達成するために、ばねトランザクション伝播
よくある質問
- Javaの動的プロキシCGLIB差と動的エージェント(彼らがここまで尋ねたので、多くの場合、春と一緒に使用)
- 何のライフサイクルにおける春の豆?
- 問題はどのような円形の依存性注入とコンストラクタ・インジェクションプロパティを持っていますか?
ダボ(または他のフレームのRPC)
ダボの実装の共通理解としてRPCフレームワーク:サービス検出、ルーティング、非同期呼び出し、ダウングレードを制限し、失敗の再試行
よくある質問
- ダボは、負荷分散を行う方法は?
- どのようにダボは、ダウングレードを制限するのですか?
- どのようにダボエレガントなサービスをオフライン?
- どのようにダボ非同期呼び出し?
RocketMq(または他のメッセージミドルウェア)
- このようRocketMq実装などのメッセージング・ミドルウェアの共通理解:高可用性と高スループット、メッセージシーケンス、繰り返し消費、取引メッセージ、遅延メッセージ、配信不能キューを確保する方法
よくある質問
- どのように高可用性を確保RocketMq?
- どのように高いスループットを確保RocketMq?
- RocketMqのニュースは、それを命じたのですか?
- RocketMqが保証されているローカルニュースを注文するには?
- 実装メカニズムRocketMqトランザクションメッセージ?
- 問題は、それの消費を繰り返すことRocketMq?どのように解決するには?
- 遅れたメッセージのどのレベルのサポートをRocketMq?どのようにそれを達成するには?
- RocketMqは、プッシュモデルまたはプルモデルのですか?
- 消費者の負荷分散は、どのようにのようなものでしょうか?
Redisの(または他のキャッシュシステム)
- Redisのワーキングモデル、Redisの持続性は、Redisのは、分散したクラスタの一般的な形式、分散ロック、バッファ破壊、アバランシェキャッシュ、キャッシュコヒーレンシ問題のRedis、除去メカニズムを期限切れ
よくある質問
- なぜ、Redisの高性能?
- シングルスレッド、マルチコアCPUのRedisのマシンを使用するには?
- Redisのキャッシュ制圧戦略?
- どのようにRedisの永続的なデータ?
- いくつかのデータ構造を持っているのRedis?
- いくつかのフォームを持っているのRedisクラスター、?
- Redisの中に、より効率的なメモリ内に格納する方法を、大規模なキーと値が比較的小さいデータでありますか?
- でデータの一貫性とRedisのDBを確保するには?
- 雪崩に浸透キャッシュとキャッシュを解決する方法は?
- Redisので分散ロックを実装する方法?
- MySQLの
- トランザクションの分離レベル、ロック、データ構造、インデックス、クラスタ化インデックスと非クラスタ化インデックス、左端のマッチング原則、クエリの最適化(コマンドの説明)
- 推奨読書:
- http://hedengcheng.com/?p=771
- https://tech.meituan.com/2014/06/30/mysql-index.html
- http://hbasefly.com/ 2017年8月19日/はmysql-トランザクション/
よくある質問
- いくつかのトランザクション分離レベルを有している(以下同じinnondb)のMySQL、?
- 別のトランザクション分離レベルのロックが追加されます何ですか?
- MySQLの行ロック、テーブルロック、ロックギャップ、意図的ロックは何をしていますか?
- 左端の試合で何についての話?
- 遅いクエリを最適化するには?
- MySQLのインデックスは、なぜのB +ツリーの代わりに、B木、赤黒木であります
- サブサブサブテーブルのライブラリテーブルのキーを選択する方法
- サブライブラリーサブテーブルの場合は、クエリは、一般的にどのように並べ替えるんですか?
ZK
- ZK一般原則(同様の筏アルゴリズムの下原理を理解することができます)、ZK分散ロックを達成するため、ZKクラスタマスターの選挙を行います
よくある質問
- ZKで分散ロックを実装し、分散ロックRedisの長所と短所がありますする方法