私は解雇された後、JD Java R&Dのポストに行くことを余儀なくされましたが、オファーを受けることを期待していませんでした!ソーシャル採用面接(面接経験+質問の概要+経験の共有)

この記事では主に、解雇されてJD Java R&Dの投稿に追われた友人を紹介します。オファーについての関連情報を得ることは期待していませんでした。今、彼のインタビューの経験、実際の質問などを整理するためにここにいます。みんなと共有します。

バックグラウンド

•インタビューの経験
•Jingdongのインタビューの質問
•インタビューの経験の共有
すべての重要なナレッジポイントは、コアナレッジポイントまたはインタビューの質問に関係なく、ここに書かれているため、誰もがナレッジフレームワークの基本的な概要を持ち、
283ページも編成されています。 PDFドキュメントは、Javaの中核的な知識ポイントでもあります。
困っている友達は、ここをクリックして受け取ることができます!、コードは次のとおりです。CSDNここに画像の説明を挿入

1.面接経験

プログラマーにとって、2020年は間違いなく寒い冬です。私もレイオフの1つです(ビジネスライン全体がカットされて不快です〜)。しかし、失業が年末に近づいた後、家に帰るのは良くないので、いくつかの履歴書に投票しました。 Jingdong Javaの投稿でリクエストされたJingdongのコピー。

要件:
•コンピューター関連の専攻の学士号以上、強力な論理的思考能力、責任感とイニシアチブ;
•3年以上のJ2EE開発経験、インターネット開発経験、堅実なJAVA基盤、およびデザインパターンの熟練した使用;
•熟練Spring、Struts2、Ibatisなどの一般的なフレームワークを把握し、メカニズムを理解します。
•一般的なSOAフレームワーク、マルチスレッディング、ネットワークプログラミングなどに
精通している; 一般的なデータベースと最適化に精通している、一般的なキャッシング、NoSqlテクノロジーに
精通している•Zookeeper、MQに精通しているその他のコンポーネント;
•同時実行性が高く、データ量が多いシステム開発と最適化の経験が望ましい
•インターネットファイナンス、特に保険事業開発の経験が望ましい

2.井東インタビューの質問

一方(主に基本)
•自己紹介、主に何をして何が得意かを尋ねる
•@Autowired実装の原則
•Beanのデフォルトのスコープは何ですか?他の行動範囲は?
•インデックスの機能は何ですか?
•MySQLの主なインデックス構造は何ですか?ハッシュインデックスとB +ツリーインデックスを比較しますか?
•Javaスレッドプールの原理について話してください。スレッドプールとは何ですか?スレッドプールファクトリのスレッドプールタイプとスレッドプールパラメータは何ですか?
•ハッシュマップの原則、どの方法を使用してハッシュの競合を処理しますか?
•BIO、NIO、AIOの違いと接続は何ですか?
•JVMメモリモデルJmmはそれについてすべて知ってい
ます。•Java GCメカニズムについて教えてください。
•Javaはどのようにガベージコレクションを実行しますか?誰が老年期を迎えますか?
•ガベージコレクションアルゴリズムとは何ですか。新世代はなぜ複製アルゴリズムを使用するのですか?
•HashMapの時間の複雑さ?HashMapでハッシュの競合を解決するにはどうすればよいですか?1. Java8のHashMapの変更点は何ですか?
•赤黒木を挿入するには、サイズを比較する必要があります。比較の基準は何ですか?他のハッシュ競合解決方法?
•ハッシュとB +ツリーの違いは?どのシナリオに適用されますか?どちらが良いですか?

両面(データベースはさらに質問します)

•自己紹介
•MyISAMクエリのパフォーマンスが優れている理由
•トランザクション特性(ACID)について話しますか?
•MySQLデータベースのデフォルトのストレージエンジン、利点は何ですか
•MySQLトランザクション分離レベル、どの問題がそれぞれ解決されますか。
•SQLスロークエリの一般的な最適化手順は何ですか。
•楽観的ロック、悲観的ロック(更新用に選択)、およびSQL実装を記述しますか?
•TCPプロトコルの3ウェイハンドシェイクと4ウェイウェーブについて教えてください。
•どのRPCフレームワークを使用しましたか?
•Java Webフィルターのライフサイクルは何ですか?

3つの側面(主に分散およびキャッシュされる包括的な側面)

•自己紹介し、プロジェクトについて話してください。
•ロックのメカニズムは何ですか?
•デザインのアイデアと水平方向と垂直方向のデータベース分割のシーケンス
•どのようにRedisのリゾルブキーの競合していますか?
•データベースとredisキャッシュの整合性を確保する方法•
プロジェクトでメッセージキューを使用する方法 どのような特定のビジネスシナリオが使用されていますか?
•JVMに関連するどの分析ツールが使用されましたか?特定のパフォーマンス調整ステップはありますか?
•一般に、MySQLはSQL最適化を遅くする方法を教えてください。最適化する他の方法に加えて?
•オンラインサーバー監視インジケーター。どのインジケーターに注意する必要がありますか。どうして?
•soaとマイクロサービスの違いは何ですか?
•単一マシンシステムから分散システムへの進化には、どのような技術的調整が必要ですか。フロントロードからバックエンドまで詳細に記述してください。
•スパイクシステムを設計しますか?

3.面接経験と学習ルートの共有の概要:

面接経験の要約:
•面接はできるだけ早く到着します。面接がもっと早くできる場合、面接担当者はあなたを追い越そうとします(ちょうど中国の声のように、最初は狂ったように向きを変えます)。
•面接中にユーモラスな細胞を動員し、面接担当者があなたをより深く思い出すことができるように、面接の雰囲気をもう少し楽しくするようにしてください。
•自分の強みを言うときは証拠を使用する必要があります。そうしないと、面接担当者は耳でしか聞こえ
ません•難しい質問には答えないでください。落とし穴に注意してください。「この質問を知らなくて申し訳ありませんが、来たら私がデザインします...」
•面接は実際には双方向の選択です。面接担当者はあなたの業績を評価しています。同時に、面接担当者は会社も代表しているため、彼の質と質問も評価すべき側面なので、緊張しないでください。
•カーテンを使用して、各インタビューの前に要約した知識を確認します。画面に数万語のメモを書いていて、面接ごとに出していたので、基本的に面接の基本に答えることができます。

準備する方法

宣言する最初のことは、最良の「準備」方法は、平時により多くを蓄積することであり、問​​題に遭遇したときに回避したりトリッキーなことをしたりせず、深く考えて解決し、各問題を解決する過程で問題を解決する能力を蓄積し、独自の形を作ることです知識システム。したがって、ここで準備する方法は、仏の足を一時的に保持することではなく、現場のパフォーマンスのためにインタビュアーのあなたの判断に影響を与えずに、事前の準備を通じて通常の蓄積を示す方法です。
•回答について考え、上に挙げたナレッジポイントをさらに拡張します。それらのほとんどを理解できる場合は、さらに深く進んでください。このプロセスは、主に独自のナレッジシステムを整理することです。
•履歴書と、過去のプロジェクトの「困難」と「ハイライト」を思い出して整理します。これらは候補者を区別するための重要なポイントであるため、資格のあるインタビュアーは、「プロジェクトで経験した最大の技術的な難しさは何ですか?」のような質問をし、面接中の長い時間ではなく、アイデアを整理します。思い出せない詳細は、インタビューの効果に影響を与えます。
•コミュニケーションプロセスを十分に理解し、傲慢にならず、面接担当者に意図的に応える必要はありません。コミュニケーションの本質は情報の透明性です。私たちは、私たちの仕事において完全に客観的で公正であるとは限りません。しかし、技術的な問題についての私たち自身の客観性と原則を主張することは、技術的な人々が支持するべきだと私が思う特性です。ここで話している粘り強さは固執ではありません。頑固に認識されたが、一般的に認識されている事実に基づく論理的推論から派生した視点。長期的には、このキャラクターは十分な技術的影響と報酬をもたらします。

学習ルート:

ほとんどの職業には、人々に志を抱かせる成長システムが必要です。アーキテクトは、プログラマーグループの成長経路によく現れる重要なノードです。すべての優れた建築家は優れたプログラマーです。ただし、優れたプログラマがアーキテクトに昇進するのは簡単ではありません。

ある程度のバックグラウンドのR&D経験(特に5年以上の経験)を持つプログラマーにとって、アーキテクトになりたいという願望はより強くなるため、彼らはより多くの時間をかけてアーキテクチャーのスキルを学び、改善することになりますが、しばしば客観的な制約に直面します多くの困難:

第一線の実際の建築技術、特に技術的な深さと難易度の建築技術へのアクセスはありません。

コアテクノロジーポイントの具体的な背景がわかりませんか?

同時に、習得する緊急の必要性があります。業界の現在の主流のドライグッズテクノロジー+最新テクノロジー、インターネットコアテクノロジーのハードスキル+コアソフトスキル、アーキテクチャテクノロジーの本質をマスターし、それを理解し、よりよく理解し、アーキテクチャの基礎を構築し、コアの奥深くまで行き、障害を直接打つ、閉じ込めを拒否。
したがって、明確な学習ルートが必要です。これは、典型的なプログラマーの成長プロセスです。

Javaを使用する----> Javaを深く理解して経験を蓄積する------>独立した設計および分析能力------>ユニバーサルハンド!

したがって、あなたは勉強する必要があります:(受け取るための無料の学習資料付き)クリックして受け取る:ここをクリック!コードCSDNここに画像の説明を挿入

1つは、オープンソースのフレームワーク分析

プログラマーは毎日コードを扱います。数年の基礎教育と職業訓練の後、ほとんどのプログラマーはコードを「作成」するか、少なくともコードをコピーして変更することができます。ただし、コードを読み取ることができる人は多くなく、コードを読み取って実際に大規模なプロジェクトのソースコードを理解できる人はほとんどいません。これはまた、ソースコードを見る多くの間違った方法を引き起こしました。

ソースコードを正しく分析する方法は?私たちの目標は、最も一般的に使用されるフレームワークにあるはずです。
ここに画像の説明を挿入

2.アーキテクチャーベース

アーキテクチャ設計からアプリケーション層のチューニング、そして根底にある原則の深い理解に至るまで、確かな基本的なJavaスキルは、メモリモデル、同時実行モード、スレッドモデル、ロックの詳細など、自分を抜本的な僧侶に変えることができます。
ここに画像の説明を挿入

3つの高性能アーキテクチャ

プロジェクトを計画するだけでなく、すべてのパフォーマンスの問題も解決します。JVMの根本的な原理、Mysqlの根本的な最適化、およびTomcatのチューニングを綿密に調査することによってのみ、それが何で、なぜであるかを知ることができます。パフォーマンスの最適化に加えて、プログラムの選択に関する一般的な共通のアイデアと考慮事項を提供し、プログラムを選択するときに全員が意識、思考、およびさまざまなトレードオフを行う能力を養うのに役立ちます。
ここに画像の説明を挿入

4つのマイクロサービスアーキテクチャ

マイクロサービスアーキテクチャの選択について

適切なプロジェクトと適切なチームでは、マイクロサービスアーキテクチャを採用するメリットがコストを上回ります。マイクロサービスアーキテクチャには多くの魅力的な場所がありますが、マイクロサービスを採用する前に、マイクロサービスがもたらす課題を認識する必要もあります。「マイクロサービス」のために「マイクロサービス」を避ける必要があります。マイクロサービスアーキテクチャの導入戦略-従来の企業では、最初に、適切なマイクロサービスアーキテクチャの原則を導入して、既存のシステムを変換したり、新しいマイクロサービスアプリケーションを構築したり、マイクロサービスアーキテクチャを完全に実装するのではなく、マイクロサービスアーキテクチャの経験を段階的に調査および蓄積したりできます。サービスアーキテクチャ。
ここに画像の説明を挿入

5、チームワーク

開発ツールエンジニアリング

情報の短い説明を通じてプロジェクトの構築、レポート、ドキュメントを管理するソフトウェアプロジェクト管理ツール。プログラマーの戦いは、人の戦いではないことがよくあります。重複を効率的に削除し、コードのレビューを実行し、機能を調整し、プラットフォームでデバッグして、統一された計画のステップごとに、そして厄介なコードスタックのプロセスに進むにはどうすればよいでしょうか。あなた自身の記録を見つけてください。これはすべて、効果的なツールに依存します。
ここに画像の説明を挿入
5、チームワーク

開発ツールエンジニアリング

情報の短い説明を通じてプロジェクトの構築、レポート、ドキュメントを管理するソフトウェアプロジェクト管理ツール。プログラマーの戦いは、人の戦いではないことがよくあります。重複を効率的に削除し、コードのレビューを実行し、機能を調整し、プラットフォームでデバッグして、統一された計画のステップごとに、そして厄介なコードスタックのプロセスに進むにはどうすればよいでしょうか。あなた自身の記録を見つけてください。これはすべて、効果的なツールに依存します。
ここに画像の説明を挿入

6、B2Cプロジェクトの実際の戦闘

プロジェクトの実際の戦闘

インターネット企業を拠点とし、インターネットの波に没頭したくない場合、実際のプロジェクト開発演習は不可欠なスキルであり、それはあなた自身の能力の尺度でもあります。一見シンプルなプロジェクトの需要マップですが、基本的な原則と実装の原則についてどれだけ知ることができますか?完全なB2Cプロジェクトプラットフォームを構築するには、どれくらいの知識が必要ですか?これらはすべて考慮が必要です。
ここに画像の説明を挿入
以上が本記事の全内容であり、皆様の研究のお役に立てれば幸いです。

おすすめ

転載: blog.csdn.net/a646705816/article/details/108692372