Javaプログラマーが仕事を変えるのは難しいですか?インタビューの5つのコア要素を習得し、Aliに切り替えることは難しくありません

流行は一段と良くなり、復職した友達も多いと思いますが、失業や転職したいという人も少なくありません。どんな状況であっても、ジンサンは合格し、インシは半分を過ぎました。この就職シーズンへようこそ?

Javaエンジニアとして転職を計画している場合、1か月を使って次の採用面接にすばやく備えるにはどうすればよいでしょうか。

インタビュアーの観点から:

これは、インターネット会社が通常どのように多くの方法で候補者を調査するかについての詳細な分析を皆に与えました。
要約すると、候補者を面接するとき、面接担当者は主に技術的な幅、技術的な深さ、基本的なスキル、システム設計、およびプロジェクトの経験の複数の角度から実施します。

そのため、この記事では、大きなコンテンツごとに、調査の多くのポイントについて主に説明します。さらに重要なのは、これらの調査ポイントにすばやく対応する方法です。

1.技術的な幅

端的に言えば、テクノロジーの幅広さは、資格のあるエンジニアとしてシステムを開発および設計し、特定の実用的な技術タスクを実行する場合、多くのテクノロジーを採用し、それらのテクノロジーに熟練している必要があります。非常に一般的な、さまざまなタイプの異なるシステム、または関連するいくつかの技術フレームワーク/技術ソリューション。

例:

インターネット企業の最も重要なシステムの1つは、何よりもまず分散サービスフレームワークを採用する

例:ダボ/スプリングクラウド(システムを分散アーキテクチャに分割できるようにする)つまり、一般的な言い方はマイクロサービスアーキテクチャであり、人がサービスを担当し、サブシステムとして機能します。

その直後、このシステムは特定の固有の技術シナリオをサポートするために他のテクノロジーを使用する可能性があります。

たとえば、読み取りの高い同時実行性を解決するには、Redisキャッシュテクノロジーを使用します。これは、RocketMQテクノロジーを使用してシステムの非同期呼び出しを行い、大容量のデータの高性能検索をサポートするために、Elasticsearchテクノロジーが使用されるなどです。

このインターネット企業がJavaエンジニアを募集している場合、彼の仕事の要件は何ですか?

候補者は、dubbo、Redis、RocketMQ、Elasticsearchなどの少なくともいくつかの技術分野で特定の制作プロジェクトの実務経験を持っている必要があることを規定する必要がありますか?

また、これらのさまざまな技術的特徴と、プロジェクトの着陸時に一般的に使用される技術的アーキテクチャ/スキームを理解し、この人物を採用した後、すぐに作業を開始できるようにします。

1人の候補者は、さまざまな一般的に使用されているテクノロジと関連アーキテクチャに関する特定のプロジェクト経験と、テクノロジ自体に関する十分な知識を持っている必要があります。これは、テクノロジの幅とも呼ばれます。詳細な分析のための候補者の採用の観点から、おそらく誰もがこの「技術的な幅」の調査項目を理解しています。

実際、技術的な広がりはすべて技術的な広がりに関するものであるため、明らかに上記のものだけではありません。

実際、インターネット企業に適した資格のあるエンジニアは、技術的な幅に関して他の多くのことに熟練している必要があります。
分散トランザクション、マイクロサービスアーキテクチャ、分散ロック、パフォーマンスの最適化、Java仮想マシンの最適化、Webサーバーの最適化、データベースの最適化など。

より大規模なインターネット企業ほど、技術の幅に焦点を当てるほど、調査はより広範囲に及ぶ可能性があり、基準は高くなります。

2.技術的な幅の迅速な準備

これで、この技術的な広がりの意味を習得したので、この技術的な広がりに対処するために、短期間ですばやく実践して計画するにはどうすればよいでしょうか。

この問題は、2つの特定の状況に分かれています。

あなたも平日なら、あなたは非常に勤勉で勤勉であり、過去2年間継続的に勉強している人々なので、おめでとう、この100%はあなたを助けることができません

あなたは過去2年間継続的に勉強してきたので、技術的な幅のポイントのいくつかを自分ですでに探求しているかもしれませんが、それは必然的に少し経験になるでしょう。

あなたが学んだことや実践したことについて、あなたは明らかに多くの抜粋を記録しました。

最適な準備方法は、自分の要約をすばやく要約し、要約レビューに従ってさまざまな一般的なテクノロジーのコア原則とプロジェクトの実践をすばやく思い出し、脳内に知識ネットワークを形成することです。

一生懸命働いていないエンジニアや、1年か2年しか働いておらず、世界にかかわっていない青年がまだ蓄積されている場合は、どうすればよいでしょうか。

それは不可能ではありません、古い格言を思い出してください:一時的に仏の足を握り、不幸で軽い。蓄積するものは何もありませんが、インタビューする必要がありますが、どのようにして奇襲をかけることができますか?

以下もあなたを教える方法です:

技術的な幅が関係するすべてのポイントを列挙し、インターネットを検索して、各技術的なポイントに関するいくつかの一般的なインタビューの質問、またはいくつかの基本的なコアコンテンツの原則を検索する必要があります。

Baiduのさまざまな技術的なポイントを通じて、さまざまな技術的なブログから技術的な方法をすばやく理解することで、技術的な幅に関係するさまざまなポイントの基本的な知識とコア原則をすばやく確立できるため、インタビュー中に1つの質問をし、3つの質問を知らないようにしてください。

もちろん、誰もがテクノロジーが迅速に実行されないことも知っています。2番目の方法を使用して攻撃し、最初のケースでは数年の蓄積を蓄積しました。最後に、インタビューに到達すると、パフォーマンスは大きく異なります。また、さまざまな人々が会社のさまざまなレベルに入ると直接決定します。

2番目のケースの生徒はインタビュー中に質問をする場合があり、1〜2分しか話せませんが、最初のケースの生徒は通常、平時であり、レビューが行われている限り、インタビュー中に質問することがよくあります。類推すると、一度に10分以上話すことができます。

これが違いです。

ただし、1〜2分しか話さない場合でも、1つの質問をし、3つは知らないで質問し、面接担当者に目を細めるよりはましでしょう。

最後に、成功への近道はないことを強調したいと思います。優れたテクニカルエンジニアとして最も重要なことは、年間365日勉強して蓄積し、何年も存続することです。

苦労の末、人は最高で、初期の頃に技術を蓄積した時も同じようにここに来ました。私は毎朝午前1時か2時まで勉強し、土曜日と日曜日は一日中勉強し、何年も続けてきました。

数年の蓄積の後にのみ、あなたは薄い髪を蓄積し、量的に質的に変化し、そして新人を大きな牛に変えることができます。

3.技術的な深さ

技術的な深さはどういう意味ですか?簡単に言えば、上記の最初の項目で述べた技術的な幅がある場合、それはあなたがどれほど優れているかを意味するものではありません。面接の最も基本的な要件が満たされていると言えます。採用後、すぐに就業できます。あまりにも多くのトレーニングコスト。

将来のテクノロジーがどの程度高くなるか、そしてチームのバックボーンになることができるかどうかを決定するのは、技術的な深さです

技術の深さは、その名前が示すように、最も簡単な例を示すために、技術の習熟の深さを意味します。

あなたの会社のシステムでkafkaのテクノロジーが使用されている場合、問題が発生します。オンラインの本番環境では、ピークが来るたびに、kafkaを作成すると例外がスローされることがある理由がわかりません。 kafkaに書き込まれるデータが毎日少なくなる理由がわかりません。

オンラインの本番環境でこのような奇妙な問題が発生すると、多くの場合、チームの技術力が発揮されます。

技術の大物は、さまざまな技術について詳細な研究を行っている人でなければなりません。技術的な問題が発生したときに、本質から直接問題を分析し、最後にチームが問題を解決するように導くことができます。

たとえば、上記の問題について、解決したい場合は、まずカフカのソースコードについて、ある程度の専門知識が必要な技術専門家が必要です。次に、障害箇所とその時のログをもとに、ソースコードの操作を組み合わせる問題を分析して特定するための段階的なプロセス

結局のところ、いくつかのカフカパラメータを調整することにより、上記の困難な製造上の問題を解決できる可能性があります。

上記のシナリオと機能は、テクノロジーの深さを反映しています。たとえば、特定のテクノロジーに関する完全かつ包括的で詳細なソースコード調査がある場合、これはすでに到達できない技術的な深さです。

多くの人がソースコードを読んだと言っていますが、実際には少し見たことがあり、理解があまり深くありません。

同時に、特定のテクノロジーのオンライン実稼働環境でまだいくつかの困難な問題が発生しており、ソースコード分析を通じて問題を解決した経験がある場合、それはテクノロジーの深さのより良い実施形態です。

技術的な深さの卓越性は、ソースコードを読んだ後、これが式の1つにすぎないことを必ずしも意味するわけではなく、企業のような非常に困難な技術シナリオなど、他にも1秒あたり11百万のQPS同時要求などがあります。次に、あなたは支払いシステムを担当し、超高並行性にうまく対処します。

このプロセスでは、システムアーキテクチャの設計、およびシステムの多数の同時最適化とパフォーマンス最適化が、現在の技術分野の技術的な深みになる可能性があります。

第四に、短期的な準備の技術的な深さ

次のインタビューの技術的な深さをすばやく準備するにはどうすればよいですか?

実際、これも非常に単純で、2つのケースに分けて説明します。

過去数年間にオープンソース技術のソースコードをたくさん読んだことがあれば、ソースコードを読む過程で、たくさんの図を手作業で描いたこともあります。

次に、この時点で、過去数年のソースコード調査ノートを完全に裏返し、すぐに通過して、さまざまなテクノロジのソースコードアーキテクチャ図とフローチャートを、インタビューサイトのホワイトボードに手動で描く方法を練習できます。

あるいは、過去数年の間に、特定の技術分野で技術的に困難な複雑なシステムを作成し、その技術分野で詳細な調査を行った場合は、過去のノートをすばやく取得することもできます。レビューのために、面接サイトに絵を描いて、複雑なシステムとこれまでに行った技術的な困難を説明する必要があります。

しかし、過去数年間に上記のいずれも蓄積していない場合はどうなりますか?

まだ文:戦いで銃を粉砕すると、それは不幸で軽くなります。

技術の深さを調べるとき、一般的なインタビュアーはあなたに尋ねるかもしれません:どの技術をよりよく知っていますか?

この問題に遭遇したときは、皆が頭のいい人であり、頭が熱くなって気楽に話さないようにしてください。たとえば、特定のテクノロジーを言うと、通常はダボを使うようになると、精神的に準備する必要があります。さらに、インタビュアーはソースレベルで10のコンボモードをオンにすることができます。

たとえば、インタビュアーはすぐに、あなたがよく知っている特定のテクノロジー、さまざまな基本的なメカニズムと原則を尋ね始め、ソースコードの理解について話し、さまざまな技術的課題の下でこのテクノロジーに対処する方法などを教えてくれます。等々。

経験の浅い学生がなじみのあるテクニックをさりげなく言うのを見かけましたが、実際には彼はそれを使うだけですが、質問を掘り下げると、基本的にはわからない状況に陥ります。

これが起こると、面接官のあなたに対する印象と態度は非常に悪くなります、誰もがそれを覚えておく必要があります!

ですから、テクノロジーを詳細に蓄積していない場合は、ここに銃を磨く方法もあります。
履歴書から、使用することが多い特定のテクノロジーを選び、少しのテクノロジーに慣れてから、ユニバーサルBaiduを直接使用して、「XXテクノロジーのソースコード分析」および「XXテクノロジーの基本原理」を検索します。

数日間の急速な「死记硬背#+軟らかい硬い泡」を通して、私たちはテクノロジーを比較的低レベルで理解できるよう努めています。

このようにして、少なくとも面接中に技術的な深さを求められた場合、通常のエンジニアの回答よりも優れた分析が得られます。少なくとも面接中に、より良いオファーの確率を得ることができます。比較的大きくなります。

繰り返しますが、うまくやらないよりはやるほうがいいです。

。最下層の準備をし、ある程度理解して、表面に浮かぶAPIのみを使用するエンジニアより常に優れていることができます。

同様に、著者はここで言いたいのですが、テクノロジーの本質に戻るために、テクノロジーの深さを蓄積するための近道はなく、数ヶ月で完了することもできません。(誰かがあなたを導くのでなければ)

なぜなら、もしあなたが本当に技術的な深みを持っているなら、いくつかの基本的な技術を下から研究するために少なくとも2年を費やす必要があるかもしれないからです。

低レベルのテクノロジーを通過した後、ダボ、ズーキーパー、スプリングクラウド、redis、rocketmq、elasticsearchなどの一般的なオープンソーステクノロジーに関する詳細なソースコード調査を実施できます

数年の蓄積の後、あなたが最終的にインタビューするとき、技術的な深さが実際に蓄積されます。

基本スキル

社会から採用された経験豊富なエンジニアが大手インターネット企業に面接に行くとき、データ構造やアルゴリズムをよく調べなければならないことがよくあります。

5つの基本スキルの迅速な準備

この作品をすばやく準備する方法は?

私が提案するのは、本当にインタビューに行くのに1か月ある場合、少なくとも数日かけてインターネットで最も一般的で典型的なアルゴリズムの質問を探し、それらを繰り返し練習することです。

どれだけ上手ですか?

繰り返し練習する必要があり、最後にホワイトペーパーにバグなしでコードを手書きできます。

最も一般的で典型的なトピックはどれですか?たとえば、古典的な並べ替えアルゴリズムと時間と空間の複雑さの分析、古典的な検索アルゴリズム、スタック、キュー、リンクリスト、バイナリツリーなどの一般的なデータ構造のアルゴリズムの問​​題。これらの関連する基本的な質問を習得する必要があります。

もちろん、基本的なアルゴリズムなどの蓄積に最適なのは、まだ平時です。たとえば、リートコードまたはリントコードに毎日30分を費やしてアルゴリズムの質問をブラッシュする場合は、1年に固執すると、少なくとも300のアルゴリズムをブラッシュします質問は2年間続き、700から800の算術質問を蓄積しました。

現時点では十分に蓄積されています。少なくとも、インタビューの基本的な手書きアルゴリズムについて心配する必要はありません。実際、カンフーはまだ平時です。

アルゴリズムトピックの難易度の選択については、 LeetCodeまたはLintcodeの簡単な難易度と中程度の難易度のみが必要です。
ソーシャルリクルートには、学校の採用よりも低いアルゴリズムとデータ構造が必要です。学校の採用は、学生がプロジェクトの経験があまりなく、データ構造アルゴリズムを調べて賢いかどうかしか確認できないためです。
インターネットで格言がありました:****簡単な質問と中程度の質問をすべて手書きで3回以内に合格すると、GoogleやFacebookなどのトップ企業のインタビューを含む、シリコンバレーのほとんどの企業の技術面接を受けることができます。中国でも同様です。**


回答、公開アカウントの下のQRコードに従って、


おすすめ

転載: www.cnblogs.com/look-look/p/12720604.html