ホームページ  >  記事  >  Java  >  アリババの採用面接ではどのような質問が行われますか? Javaプログラマーが独学で勉強する際の注意点

アリババの採用面接ではどのような質問が行われますか? Javaプログラマーが独学で勉強する際の注意点

php是最好的语言
php是最好的语言オリジナル
2018-08-01 17:22:573352ブラウズ

学校を出て2年間働きましたが、自分が何をしているのか全く分かりませんでしたし、技術的なスキルも学びませんでした。その後、友達からプログラマーという職種について知り、その方法を教えてもらいました。給料がとても高かったので、それを知った後、とても興奮してプログラマーのグループに加わりたいと思い、インターネットをサーフィンし始めました。半年ほど熱心に勉強した結果、素晴らしい仕事を見つけました。その後、少しずつ経験を積んで、今ではこの仕事に就くことができました。ふふふ、ここでは詳しくは書かずに、本題に入ります。ポイント。 apache php mysql

始めましょう!

アリババの採用面接で聞かれる質問は何ですか?

まず、アリババのソーシャル採用面接で聞かれることについて話しましょう。実際、このトピックはアリババで面接を受けたすべての学生が 1 つまたは 2 つの質問に答えることができます。

第一段階はメイン言語であり、第二段階はプロジェクトです。

面接のプロセスでは多くの人がすでに経験していると思いますが、各段階の面接の難易度は企業やポジションによって異なります。当然、尋ねられる質問も異なります。

面接の難易度に関しては、ネットで見たコメントによると、面接の技術的な難易度に関しては、Ali>Baidu>の順です。テンセント。

これについては、筆者もBaiduとAlibabaのインタビューに参加したことがあるので、上記と一致しますが、個人的な感覚としては、BaiduよりもAlibabaの方が難しいです。

ただし、著者がアリババの方が百度より難しいと言っているのは、あくまで著者の特定の面接に限った話であり、実際には両社の面接の具体的な難易度はそう単純に比較することはできません。

面接の難易度は、役職(ジュニアエンジニアやシニアなど)、部門(事業部門や純粋な研究開発部門など)、雇用ニーズ(急務や人材予備など)、面接官の好みによって異なります。 (見栄っ張りな人か優しい人かなど)など、同じ企業でも難易度は異なるため、単純に2社の面接の難易度を比較することはできません。

難しいか難しいかは、やってみないと分からない!

それでは、Alibaba ミドルウェア チームがあなたを歓迎します! (ああ、なぜこの文を追加したのかは聞かないでください。0-0 とは言えません)

アリババの採用面接の準備はどうすればよいですか?

LZ はこの問題を 4 つのパートに分けて説明します。LZ 自身が Java 出身であるため、主要言語に関する質問はすべて Java に関連しており、他の言語の学生は選択的に無視してかまいません。また、面接中、面接官の質問は一般的に連動しており、徐々に深まっていくのが以下でより明確に感じられます。

1. メイン言語自体とその高度な機能。

平日にお金を稼ぐために使うのはもちろん言語がメインです。 LZ に、自分には主要言語がないとか、N 個の言語を知っているとか、N 個の言語に堪能だと言わないでください。そう言いたいのであれば、杭州に来て試してみてください。 LZ はあなたを殴り殺すことはせず、せいぜい障害を与えることを約束します。

LZの主な言語は明らかにJavaです。では、Javaについて、その言語自体と、面接で質問されやすい高度な機能は何ですか?

通常であれば、以下のような主な知識点が出題されやすいです。 (追記:学校の採用ではなく、社会採用について話しているため、以下は Java に関する比較的高度な知識ポイントです)

1) Java のデータ構造に関連するクラスの実装原則、たとえば、LinkedList、ArrayList、HashMap、TreeMapなど。以下は、データ構造のシリアル大砲を単純にシミュレートします。

たとえば、面接官は最初に、HashMap は正しいかどうかを尋ねます。

順番ではないと答えなければなりません。その後、面接官は続けて「逐次的な Map 実装クラスはありますか?」と尋ねます。

現時点では分からないという方は、この質問はここで終わります。と言うとTreeMapとLinkedHashMapがあります。

次に、面接官は、TreeMap と LinkedHashMap はどのようにして順序を保証するのかと尋ねるかもしれません。

答えられないならここでやめてください。それでも答えると、面接官は「2 つのうちのどちらがより秩序正しく実施されると思いますか?」と質問し続けます。

それでも答えられる場合、面接官は続けて「もっと良い、あるいはより効率的な実装方法はあると思いますか?」と尋ねます。

まだ言えるのであれば、確かに今おっしゃった実装方法についてはまだまだたくさん質問できます。

上記は面接官による段階的な質問の例です。したがって、あまり知識がない場合は、次の質問にさらされる可能性があるため、おざなりにしないでください。ノーと言って問題を終了し、すぐに慣れている分野に切り替えることをお勧めします。

2) Java 並行パッケージのクラス、その機能、およびその実装原則 これらのクラスは java.concurrent パッケージの下にあります。上記と同様に、同時パッケージのシリアル大砲も単純にシミュレートします。

たとえば、面接官は最初に、すべてのスレッドがイベントの発生を一緒に待機し、イベントが発生するとすべてのスレッドが一緒に実行を開始するようにしたいのですが、何か良い方法はありますか?と尋ねるかもしれません。

この時点で、バリア (Java の同時実行パッケージの CyclicBarrier) を使用できると言うと、面接官は引き続き「その実装原理を知っていますか?」と尋ねます。

答え続けると、面接官は「他の実装方法を知っていますか?」と質問し続ける可能性があります。

それを達成するための方法をまだたくさん挙げることができる場合は、これらの方法のうちどれがより良いと思いますか? と尋ね続けてください。

ある方法の方が良いと言った場合でも、面接官はあなたにそれを書くように求められたら、それを達成するためのより良い方法があると思いますか?と尋ね続けることができます。

この時点でまだ自分なりのより良い実装方法を伝えることができれば、面接官は間違いなくそれについて質問し続けます。

面接では面接官を誘導すべきと言われるのはこのためです。なぜなら、面接官の質問は追跡可能であることが多く、面接官が次に何を質問するかを推測できれば、Go talk に答えるときに話したい方向に進むことができます。こうすることで、面接中にあなたはより穏やかで安心しているように見えます。

3) IOパッケージとNIOパッケージの内容。この部分では NIO に焦点を当てます。ほとんどの IO パッケージは馴染みのあるものなので、スキップして NIO の内容について直接質問しても構いません。

IO パッケージと NIO パッケージの内容は比較的小さいです。まず、NIO モデル、特にセレクターについて、その責任と実装原則についてよく理解しておく必要があります。実際、NIO の中心となるのは IO スレッド プールです。この重要な点を覚えておく必要があります。面接官は、IO パッケージのデザイン パターン (デコレータ パターン) について質問することもあります。なぜこのように設計されているのですか?

面接官によっては、「もっと良いデザインはありますか?」と尋ねられることもありますが、この時点で分からない場合は、現在のレベルでは限界があり、これ以上良いデザインが思いつかないとはっきりと言ってください。くだらない話をしたり、カジュアルなコメントをしたりする。

4) Java仮想マシンの内容。この部分には主に、GC、クラスロード機構、メモリの 3 つの部分が含まれます。

GC部分を備えたシンプルなシリアルキャノン。

面接官はまず、オブジェクトはいつ GC になるのかを尋ねることができます。

それでは、なぜこの時点でオブジェクトが GC されるのかを続けて尋ねます。

それでは引き続き、GC 戦略の分類は何ですか?

もし声を上げるなら、続けて質問させてください、これらの戦略のそれぞれの長所と短所は何ですか?どのようなシナリオに適用できますか?

あなたが発言し続けた後、実際的なシナリオを示し、GC 戦略を選択させますか?

それを選んだのであれば、続けて聞きたいのですが、なぜこの戦略を選んだのですか?

以下は、クラスロードメカニズムに関する簡単な一連のショットです。

まず最初に、Java のクラスローダーとは何ですか?

これらに答えた後、各クラスローダーによってどのクラスがロードされるのかを尋ねられるかもしれません。

話が終わった後、これらのクラスローディングの親子関係は何ですか?と尋ねられるかもしれません。

回答するときに親委任モデルについて言及することができるので、引き続き親委任モデルとは何ですか?

説明が終わった後も、なぜ Java のクラスローダーは親委任モデルを使用するのかという疑問が残るかもしれません。

回答した後も、独自のクラス ローダーをカスタマイズする方法や、独自のクラス ローダーと Java 付属のクラス ローダーとの関係にどう対処するかという質問が続くかもしれません。

記憶に関するシリーズをもう一つ。

まず、メモリはどの部分に分割されており、その部分にはどのようなデータが保存されているのかを聞かなければなりません。

それでは、オブジェクトがどのようにして生き残り、創造から破壊までこれらの部分に移されるのかを続けて尋ねますか?

それでは、メモリのどの部分が GC リサイクルに参加するのかと尋ねられるかもしれません。

これを終えたら、Java のメモリ モデルがどのように設計されているかを聞いてもいいでしょうか?

あなたが答えた後も、なぜそのように設計したのかを尋ね続けます。

質問した後、メモリモデルの設計と併せて、volatileキーワードの役割についても話してもらうかもしれませんね?

話しているときは必ず可視性について言及します。次に、可視性という 3 つの単語の後で、同時コンテンツについて尋ねることができます。

基本的に、Java 言語自体と、その少し高度な内容は上記の部分です。上記の 4 つの部分を十分に理解できれば、Java のこの部分は基本的に上記の内容なので問題ありません。それだけで十分です あなたは面接官と長い間おしゃべりをしていました。こういう話を長くしてしまうと、当然他の質問をする時間も短くなってしまいます。

これらの質問を LZ で書く過程からも、それを感じることができるはずです。面接官は何度も同じような質問をします。この質問に慣れていないと感じたら、向きを変えるべきです。面接を案内する時間です。警察官に他の質問をさせてください。飛び出せなくなるまで深く潜り続けないでください。そうしないと恥ずかしいことになります。

2. 質問を交えながら、あなたのプロジェクトについて教えてください

この部分は面接プロセスの中で必ず聞かれなければならない部分であり、最も長い会話が行われる段階でもあります。ただし、あなたのこれまでの言語部分が非常にしっかりしていて、面接官が 1 ~ 2 時間質問し続けても、あなたがその言語自体をどの程度深く理解しているのかがまだ分からないほどしっかりしている場合は別です。そうしないと、自分のプロジェクトのハードルから逃れることはできなくなりますし、一般にチャットが短すぎることはありません。

この部分の一般的なパターンは、あなたが自分で行ったプロジェクトについて話した後、面接官が突然その一部の説明を求める、例えば、なぜあなたが何をしたのか説明するよう求めるというものです。それとも今どう思うか尋ねます。これらの散りばめられた質問のほとんどは、プロジェクトで使用されているテクノロジーに関連しています。あなたがしなければならないことは、これまでに行ったプロジェクト (特に最近の 1 つまたは 2 つのプロジェクト) を徹底的に要約し、1 つまたは N 個のハイライトを掘り出し、面接官に明るい印象を与えることができるようにすることです。この効果を達成できれば、基本的には成功からそう遠くありません。

コンテンツのこの部分は皆さん自身の経験と密接に関係しているため、ここで尋ねられる可能性のある質問をリストすることは不可能です。この記事「プログラマー面接体験: 面接前に質問に答えるべきか、面接前の準備方法」は、面接前の要約方法について簡単に説明したものです。興味がある方はご覧ください。

3. 追加ポイント

基本的に上記の 2 段階が必要ですが、いくつかの追加ポイントがあります。これらのボーナス ポイントのうち、面接官は一部の内容 (TCP/IP プロトコル、アルゴリズムなど) についても質問しますが、ほとんどの場合、最初に理解したかどうかを尋ねられます。理解できたら、会話を続けてください。理解していない場合はスキップしてください。この種の問題のために直接地獄に投げ込まれることはありません。

以下に、LZはこれらのボーナスポイントをリストします、可能であれば、これらのボーナスポイントはまだ争われるべきです。

1. コンピュータシステムの原理。

2.ネットワーク通信プロトコル(TCP/IP、HTTPなど)。

3. データ構造とアルゴリズム。

4. 有名なオープンソースプロジェクトのソースコード。

5. あなたは独自の素晴らしいオープンソース プロジェクトを持っています。

6.あなたの個人的なブログ。

7. コメント欄に追記します。

このうち、最初の1〜3項目については、以前はよく知っていたけど時間の関係で忘れてしまったという場合でも、一時的に行うことができます。次の4~6については日々の積み重ねが必要であり、短期間でできるものではありません。毎日お金を貯めないと、次の3つのボーナスポイントは捨てるしかありません。

4. あなたのポジションに関連するコンテンツ

実際、この最後の項目は、前の 3 つの項目を補足するものであり、面接を受けているポジションに関連するコンテンツに焦点を当てる必要があります。たとえば、リアルタイム コンピューティングのポジションの面接を受ける場合は、アルゴリズムが強力である必要があり、有名なリアルタイム コンピューティングのオープン ソース プロジェクトに精通している必要があり、ソース コードを読んでいることが最善であり、次の知識が必要です。分散システムに関する特定の洞察。

したがって、このパート 4 には具体的な内容はありません。面接のポジションについて明確にしている場合は、面接前の準備でそのポジションのニーズに近づけるよう努めるのが最善であることを思い出してください。成功する可能性が高くなります。

これを読んだ後でも、シリアルキャノンの部分について簡単な言葉をいくつか付け加えておきたいと思います。上にシリアルキャノンの例がたくさんある理由は、実際には、皆さんに覚えてもらうためではなく、見てもらうためです。ソーシャルリクルーティングの面接ルーチンを体験してみます。

結局のところ、これらの連続大砲の例は、特定の知識ポイントをどれだけ深く理解しているかをテストするものです。著者の個人的な経験に関する限り、実際には、上記の連続大砲をそれぞれ深く理解する必要はありません。比較的深い、またはインタビュアーの理解を超えているポイントを 1 つまたは 2 つ理解するだけで十分です。要件は満たされています。

多くの場合、面接官はあなたがあらゆる知識点について深く理解する必要はなく、単にあなたの理解力と技術的な蓄積があるかどうかをテストしています。

1 つまたは 2 つの技術的な知識点だけを理由に面接官があなたを拒否した場合、可能性は 2 つしかありません。1 つ目は、その点が実際に面接対象のポジションにおいて非常に重要な知識点である可能性があるということです。アルゴリズムのポジションの面接の場合は、優れたアルゴリズムを持っていないとその職に就くことはできません。また、運用とメンテナンスを好む技術職の面接の場合は、適任ではありません。 Linux を上手にプレイできる。

2つ目の可能性は、-彼は見せびらかしている、-_-です。

独学または研修機関?

プログラマーには「正規軍」のプログラマーにはない多くの共通点がある 最も典型的な共通点の一つは、プログラマーは社会に出た後に学習と入門段階を経るということです。

だからこそ、社会には数多くの養成機関が登場しているわけですが、「野生の」プログラマーが業界に入りたての最初の悩みは、独学で学ぶべきか、それとも養成機関を選ぶべきか、ということです。

実際、この問題は一般化することはできませんが、簡単に大雑把に言うと、あなたの家族に研修費が不足していないことを前提としています。 、訓練機関に行く、あるいはその逆も同様です。

結局のところ、お金を使えば常により多くの学習リソースが得られ、少なくとも何もしないよりはマシです。

だから、この質問を平たく言えば、お金があるなら頑張れ、お金がないなら自分で勉強しなさいということです。

古典的なジョークと同じように、物を買うときに選択恐怖症があると言う学生は、実際には選択恐怖症ではありません。理由はただ 1 つだけです、可哀想です、ハハハ。

アルゴリズムは重要ですか?

上記の共通点に加えて、「野生の」プログラマーにはもう 1 つの共通点があります。つまり、学習曲線が「正規軍」のプログラマーとは異なります。前者は実践から理論へ、後者は理論から理論への学習です。このため、一般的に「野生の」プログラマは、アルゴリズム、コンピュータ システムの原理、コンピュータ ネットワークなどの基本的なスキルをあまり身につけていないことになります。

プライベートでは、数え切れないほどの学生が私に同じ質問をしてきました。アルゴリズムは重要ですか?アリババの面接ではアルゴリズムがテストされるのでしょうか?

実際、最初の質問、アルゴリズムは重要かどうかについて、私はここで2つの答えを持っています。この質問をしに来た学生が互いに対峙すると、著者の答えは人によって少しずつ異なることに気づくかもしれません。 。

学生が尋ねたら、著者はアルゴリズムはとても重要だから一生懸命勉強しなければならないと教えるだろう。

そして、長年この仕事に携わっている人に尋ねられたら、著者は通常、「必要に応じて勉強すればいいです。あなたの仕事がアルゴリズムに大きく関係しているのであれば、当然そうすべきです」と言います。たとえば、アルゴリズムエンジニアをしている場合、アルゴリズムは重要かどうか教えてください。 もちろんそれは重要です!

そして、毎日追加、削除、変更、クエリを書いてビジネスにもっと注意を払うなら、そのエネルギーを費やさないでください、アルゴリズムを学ぶエネルギーがあるなら、もっとビジネスを勉強して、もっと考えてください。テクノロジーとビジネスの組み合わせは、アルゴリズムを学ぶよりも効果的かもしれません。

2 番目の質問、アリババの面接でアルゴリズムがテストされるかどうかについては、面接官が「アルゴリズムについてよく知っていますか?」というような質問をしたことを著者ははっきりと覚えています

そして、その時の著者の答えは次のとおりでした。 「Sorry , I don't know how to do this.」

これを見て、生徒の中には「作者、こんなことをするのは良くないよ。アルゴリズムはこうだということをみんなに伝えているわけではない」という疑問を持つ人もいるかもしれません。重要ではありませんし、学習しなくても入学できます。アリですか?」 この種の疑問を抱いている学生は、アルゴリズムが重要であるかどうかと、それを学習するためにエネルギーを費やす必要があるかどうかの間に直接の関係がないことを理解していません。

さらに、アルゴリズムを知らない人がアリババに入社するのは普通のことです。アリババの何千人ものエンジニアがアルゴリズムに精通していると思いますか?あえて言いますが、あなたはそれを信じることができますか?

多くの人が抱いている誤解もありますが、それは「アルゴリズムが得意な人は給料が高い」ということです

これについて、私が言いたいのは、この人がアルゴリズムの仕事に従事しているなら、それはそれで悪いことではありませんが、追加、削除、修正、確認に従事しているのであれば、アルゴリズムを勉強しながら別のことを学べば給与は高くなる可能性があると断言できます。

だから、彼の給料が高いのは本質的には暇な時間に勉強しているからであり、アルゴリズムを研究しているからではない。

よく言われるように、お金を賢く使うだけでなく、時間はお金よりも貴重なので、賢く学ぶ必要があります

もちろん、アルゴリズムはオンデマンドで学習すべきであるという上記の議論は、何年も前に卒業して職場に入った学生にのみ適しています。学校の学生であれば、アルゴリズムを表す言葉はただ 1 つだけです。死から学べ!

Java プログラマーの学習方法

日課を終えたので、実際のビジネス、「ワイルドな」プログラマーがどのように勉強とキャリアを費やしているかについて話しましょう。

今回の内容については、前回の記事の内容を引用させていただきますが、2年が経過したこともあり、若干の追記をさせていただきます。

この部分が今日の焦点です。LZ さん、どのようにして Java を学んだのですか?という質問に答えます。

今日のLZは実践的な情報について話しますので、学習方法やテクニックについてではなく、各段階で学ぶべき内容やいくつかの本について直接話しましょう。このパートの内容は、Java にキャリアを切り替えたい一部の学生にも当てはまります。

皆さんに読んでいただく前に、LZ は 2 つの点を指摘しておきたいと思います。

1. LZ自身がJavaバックエンド開発者であるため、推奨学習内容はJava WebおよびJavaバックエンド開発のルートとなっており、Java WebおよびJavaバックエンド開発に携わっていない学生は彼の学習を参考にしてください。アイデアを適当にコピーしないでください。

2. 以下の【パート 1】の推奨コンテンツは、できるだけ早く仕事ができる Java 開発者になることを目的としており、失業中で Java への移行を準備している学生に適しています。学校の学生の場合は、以下の学習を検討する前に、必ず基礎 (コンピュータ システム、アルゴリズム、コンパイル原理など) を学習してください。

第一段階 - 働いていない学生

1. Java の基本

まず、基本的な Java チュートリアルにアクセスして学習してください。ここでアドレスを推奨するか、このアドレスを参照してください。対応するビデオのアドレスは http://www.php.cn/course/884.html です。

Java の基本を学ぶときは、当たり前だと思っていることを、実際に書き出して実行してみると、そうではないことが分かることがよくあります。信じられない、試してみてください。

上記の内容を学習すると、Java の基本を理解できるようになります。Java 言語でいくつかの簡単なプログラムを作成し、メモ帳などの最も簡単なエディタを使用できます。

現時点では、急いで次の部分に進まないでください。いくつかのプログラムを作成して、これらの基本的な内容にできるだけ慣れてください。

2. Web 開発

プログラムを数日間書いた後、単純な計算機の実装、ファイルの読み取りなど、書いた内容が無駄に思えて混乱することがよくあります。この時期は自分が面白いと思うものを書くことを学ぶ必要があるので、より多くの知識を学ぶ必要があります。

これらの内容は主にWeb開発に関連しており、HTML/CSS/JS(フロントエンドページ)、Servlet/JSP(J2EE)、Mysql(データベース)関連の知識が含まれます。

学習する順序は前から後ろにあるので、最初に学習するのはHTML/CSS/JS(フロントエンドページ)です。この部分は上記のrunoob Webサイトで見つけることができます。自分でいくつかのページを書いてみることもできますし、もちろん、それを最も美しくするために最善を尽くすこともできます。コンテンツのこの部分は理論的にはバックエンド Java にとって特に重要ではありませんが、少なくとも自分でいくつかの簡単なページを作成できるレベルに達する必要があります。

次に学習する必要があるのは、サーブレット/JSP (J2EE) 部分です。この部分は、Java バックエンド開発で非常に習熟する必要がある部分です。そのため、この部分は 3 つの部分の中で最もエネルギーを必要とします。現時点では、メモ帳の代わりに開発ツールの使用方法を学ぶには、Eclipse を選択できます。

Eclipse をダウンロードしてインストールしたら、ビデオのチュートリアルを段階的に実行し、さらに実行してください。サーブレット/JSP ビデオの選択に関しては、Ma Soldier のビデオが業界で認められているため、皆様にお勧めします。もちろん、LZ 自身は彼のビデオを見ていないので、より良い選択がある場合は、LZ に干渉されずに自分の意見を貫くことができます。

当初LZも教育ビデオを公開する予定でしたが、時間の問題で断念しました。ただし、ビデオの視聴中に問題が発生した場合は、LZ のコミュニケーション グループに来て質問するか、Douyu にアクセスして LZ のライブ ブロードキャストを視聴して質問してください。ライブ ブロードキャストのアドレスとグループ番号は、左側にあります。 LZの個人ブログです。

最後のステップは、データベースの使用方法を学ぶことです。MySQL は優れた入門選択であり、Java 分野の主流のリレーショナル データベースは MySQL です。この部分は通常、Servlet/Jsp を学習する際に明らかになります。JDBC 部分はデータベース関連の部分です。 JDBC を使用してデータベースを操作する方法を学ぶだけでなく、navicat や sqlyog などのデータベース クライアント ツールの使用方法も学ぶ必要があります。2 つのうちの 1 つを選択してください。

3. 開発フレームワーク

上記の内容を学習した後は、現時点では作業に参加するのに十分ではなく、まだ学習を続ける必要があります。開発効率を向上させるために、企業はいくつかの Java Web フレームワークを使用するため、開発フレームワークもいくつか学ぶ必要があります。

現在、より主流なのは SSM フレームワーク、つまり spring、springmvc、mybatis です。これら 3 つのフレームワークを構築し、それらを使用して Web プロジェクトを簡単に追加、削除、変更、クエリする方法を学ぶ必要があります。これらの構成が何を意味するのか、なぜそれを行う必要があるのか​​を理解する必要はありません。後で学習できます。ただし、Web フレームワークを構築するには、これら 3 つをすぐに使用できる必要があります。最初の構築プロセスを記録できます。必ず使用します。

SSM を構築する過程で、maven と呼ばれるツールに頻繁に触れる可能性があることにも言及したいと思います。このツールは今後の作業でほぼ使用することになるツールでもあるため、SSM を構築しながら Maven について学ぶこともできます。現段階では、インターネット上での Maven の基本的な使用法について学ぶだけで済みます。仕事の経験が増えるにつれて、徐々に高度な使用法に触れるようになります。

SSM フレームワークを学ぶためのアドレスをお勧めします。アドレスは http://edu.51cto.com/lesson/id-76468.html です。

4. 仕事を探す

開発フレームワークの勉強が終わったら、学校に通っている人はインターンシップ、卒業した人はフルタイムの仕事を見つける必要があります。同時に、就職活動中に勉強をやめるべきではありません。正確に言うと、将来勉強をやめるべきではありません。

あなたは上記のコンテンツの使い方を急いで学んだだけですが、インターネットはあなたの最も重要な教師です。

実際、この学習ルートはあまり変わっていません。唯一の変化は、以前のフレームワーク統合作業の多くを節約できる Spring-Boot の人気です。

2011 年にトレーニングしていたときのことを思い出します。SSH フレームワークを構築したい場合は、jar パッケージを自分で整理し、多くの設定を統合する必要がありました。注意しないと、さまざまな設定が必要になってしまいました。多くの場合、単純な NPE ではありませんでした。心配する必要はありません。

だから、クラスメイトの皆さん、今の生活を大切にしてください、ははは。

第 2 段階 – 0 年から 1 年働いた学生

この段階のプログラマーは、多くの場合、非常に複雑な心を抱えており、仕事を見つけて明るい気持ちで座っています。ここでは、まるでテレビシリーズの主人公になったかのような高揚感が漂いますが、同時に、自分が元に戻されるのではないかという、小さな恐怖も感じてしまいます。気をつけないと元の形に戻ってしまいます。

このように感じたら、緊張しないでください。これは誰もが経験することです。あなたがしなければならないのは、今、仕事と勉強に没頭することだけです。まだ独身の犬です、-_-。

おめでとうございます。この時点で、あなたはすでに Java ジョブを持っています。この段階は成長が非常に早く、残業も多くなる時期です。

しかし、残業するからといってリラックスできるわけではありません。業界に入った瞬間から学び続けなければならない、という LZ の言葉を常に思い出してください。今年中には少なくとも「Java Programming Thoughts」という本を読む必要があります。この本の内容は、Java をより深く理解するのに役立つものであり、Java の基礎のアップグレード版です。

この本はとても分厚いです。LZ はこの本を読むのに丸 3 か月かかりました。普通のスピードなら半年くらいで終わるはずです。 LZ では、1 年以内にこの本を読み終える限り、それほど高い要件はありません。もちろん、LZが読んだ後に言ったのは、一度読むのではなく、完全に吸収するということですので、内容によっては複数回読んでも構いません。

全体として、この段階での中心的な学習アイデアは、職場で実践し、Java の基本をより深く理解することです。

本を読むときは、ただ本を読むのではなく、自分が書いたコードが本の内容と関連しているかどうかを考えるなど、常に本について考える必要があることを付け加えておきます。

具体的な例を挙げると、静的な部分を見たとき、現在開発中のプロジェクトに目を通し、静的な部分が使われている箇所はないか、使用目的は何か、使用されているかどうかを確認します。同じように正しいです。

このように読むことによってのみ、本を本当に理解することができます。 読書の最終的な目的は、自分の思考を刺激することです。何も考えずに読むだけの場合、それは読書ではなく、承認と呼ばれます。 。

そういえば、多くの学生が著者にこの質問をしました、「本が読めなくなったらどうすればいいですか?何か良い方法はありますか?」

ここで著者が責任を持って教えます。 ? 何年も静かです、ただ誰かがあなたの代わりに重荷を背負っているだけです。

だから、幸せになることを期待しないで、あなたがとても美しいと思うものを楽しく読んでください。

これを行う良い方法はありません。特に最初が最も困難ですが、自分の内なる信念に頼って、それを自分自身に強制するだけです。その期間が経過すると、将来的には比較的良くなります。よりスムーズになりました。

最初は何事も難しいですが、読書や勉強にも当てはまります。

第3段階 入社1~2年目の学生

この段階では、入社当初の意気揚々とした作業とは異なり、追加・削除・修正・見直しを1年ほど続けています。この時期になると将来の進路について考え始めますが、この時期はまだ先が見えにくいため、少し不安になるかもしれません。

もしそのような不安を抱えているなら、心配しないで、プログラマーとしての道において、学ぶことでより充実感が得られることを思い出して、学びの海に浸り続けてください。

この期間の学生はすでに Java についての理解を深めています。しかし、オブジェクト指向の経験はまだ浅く、プログラミングする際には機能を完成させるレベルに留まり、設計の問題を考慮することはほとんどありません。

この時点でデザインパターンが来ます。当時、LZ は「Dahua Design Patterns」という本を読んで、デザインパターンのブログの完全版を書きました。したがって、LZ では、長くても 1 年以内にブログを開始する必要があり、デザイン パターンがブログの始まりとなります。

LZ が提示するものは基本的に最低限の要件であることを覚えておいてください。そうでない場合は、5 年後に自分より給料が高い人を羨んだり、入社した人を羨んだりすべきではありません。とある会社。

さらに、今年の課題はデザインパターンだけではありません。コード記述の最適化に関する本も読む必要があります。たとえば、「既存のコードの設計を改善するためのリファクタリング」や「効果的な Java」などです。

全体として、この段階での中心的なタスクは、コーディング能力を向上させ、エレガントなコードを書けるようになることです。

この段階では、著者が推奨する 3 冊の本が実際にコードの書き方と設計方法を教えてくれます。また、デザイン パターン シリーズは問題​​を抽象化する能力も鍛えます。

Java のようなオブジェクト指向言語を使用する場合、抽象化能力は非常に重要な能力です。上記のように、著者はデザイン パターン、リファクタリング、Effective Java に関する本を読んだ後、それを自分のプロジェクトと組み合わせる必要があると推奨しています。深く考えてみましょう。

考えずに働くだけの人は、一見勤勉に見えるかもしれませんが、実際は単なる機械ですので、遅かれ早かれ置き換えられます。

考え続け、過去を総括し、未来を導く者だけが、やがてこの社会のリーダーとなるでしょう。

第 4 段階 - 2 ~ 3 年働いた学生

この段階はプログラマーにとって非常に重要な段階です。著者の学習パス計画では、この段階の学習の目的は、初級および中級のエンジニアから上級レベルに移行し、質的な向上を達成できるようにすることです。したがって、この部分の学習は前の 2 つよりも難しくなります。年。

しかし、この道に足を踏み入れてしまった以上、そこには操縦の余地はなく、前に進むことしかできません。

ですから、心の準備をして、挑戦に立ち向かってください。

生徒の中には、この時点ですでにとても上手になったと感じているため、思わずリラックスし始める人もいます。覚えておいてください、あなたはまだずっと若いのです。

この段階で必ず読んでおくべき本があります。それは「Java 仮想マシンの詳細」です。この本は間違いなく Java 開発者にとって最も重要な本です。 LZ の目には、この本は「Java プログラミングの思想」よりも重要です。

さらに、過去 2 年間の仕事の中で、多かれ少なかれ同時実行性にさらされてきたはずです。この時点で、並行処理関連の知識をより深く理解する必要があります。この部分については、LZ は「Java Concurrent Programming in Practice」という書籍をお勧めします。この本を読めば、並行性の部分は基本的に理解できます。

同時に、この段階でしなければならないことはたくさんあります。この時点では、使用しているフレームワークと Java クラス ライブラリについての理解を深める必要があります。したがって、使用しているフレームワークのソース コードを含め、JDK の一部のクラスのソース コードを確認する必要があります。

これらのソース コードを理解するための前提条件は、デザイン パターンをよく理解している必要があります。そうしないと、ソースコードを見るときに、なぜこのコードがこのように書かれているのかという疑問が常に発生します。冗長に見えるのに、なぜこのインターフェイスを定義するのでしょうか?

これらの学習プロセスは連動していることもわかりますが、どこかの段階で失敗すると、本当についていけなくなるか、一歩ずつ速度が落ちてしまいます。そして、LZ は、現段階で、ここに記載されている以上のことを学んだことを皆さんに伝えることに非常に責任があります。したがって、LZ が述べたことは最小限の要件にすぎないとは考えないでください。LZ だけでなく、多くの人がこの記事の範囲よりもはるかに多くのことをこの期間に学びました。

このペースについていけないと、数年後、プログラマーの市場が良くなければ、おそらく他の人よりも給料が低く、会社も他の人より良くないことになるでしょう。また、仕事をまったく見つけることができなくなります。

つまり、この段階で行う必要があるのは、基礎となる Java および Java クラス ライブラリを深く理解することです (たとえば、同時実行に関する書籍は、Java 同時実行パッケージ java.concurrent の内容です)。 、つまり、JVM と JDK の関連コンテンツです。また、使用しているフレームワークをより深く理解する必要があります。ソースコードを読むか、公式ドキュメントを読むことをお勧めします。

また、2年生の段階でも取り入れるべき学習方法がもう一つあり、それは車輪を作ることです。

「車輪の再発明をするな」という議論には耳を貸さないでください。それは企業が時間とコストを節約するためにでっちあげたものです。あなたが作成する車輪はすでに存在している可能性があり、一般に、あなたが作成する車輪は既存の車輪ほど優れていないため、車輪の再発明は他の人にとって価値がない可能性があります。しかし、他人にとって価値がないからといって、自分にとって価値がないわけではありません。

ホイールを作る工程は、ゼロから何かを作る工程です。このプロセスでは、コーディング能力をテストするだけでなく、ホイールをスケーラブルで堅牢にする必要もあります。

そしてホイールを作る過程では様々な問題に遭遇しますが、それらの問題は多くの場合学びの機会となります。実際にホイールを組み立ててみると、実際に多くのことが得られたことに必ず気づくでしょう。

したがって、この段階では、上記の JVM、JDK、およびフレームワークのソース コードを理解することに加えて、他の人の優れたソース コードに基づいて想像できるホイールを構築することも求められます。

この段階で、作成者には JVM、同時実行性、JDK クラス ライブラリを理解する必要があるだけでなく、自分でホイールを構築する必要があることがわかります。

この記事を注意深く読むと、アリババの採用面接で著者が言及したシリアルガンのほとんどは、この段階で学んだものであることがわかります。それらのシリアルガンは、基本的には、いくつかのクラスライブラリのコンテンツです。

偶然ですが、アリババの採用要件のほとんどは3年以上を必要としています。

これはどういう意味ですか?

反応が早い学生は、著者の学習計画を 3 年以内に完了できれば、3 年になったらアリババに来て学習成果をテストできるということを理解していると思います。

それでは、Alibaba ミドルウェアがあなたを歓迎します! (違反の感覚もなく2回移植され、今年は3.75歳になります、-_-)

第5段階 - 3〜4年働いた学生

この段階の多くの学生はすでに頭打ちになっています。以前は、段階的に勉強し、IQ に欠陥がない限り、生徒の 90% 以上 (残りの 10% はどこにあるのかと誰かが尋ねました。言いたいのですが、どうやって知ることができるのですか? / 恥ずかしいです) )、3年間勤務すると、年収30W程度の範囲に達する可能性があります(2015年以降の北京、上海、深センの一線都市のみを指します)。

そして、年収をより高いレベル(一般的に10Wは40W、50Wなどのレベルです)に引き上げたい場合は、これまでの蓄積に頼るだけでは十分ではなく、自分のコアを構築する必要があります競争力。

この段階の生徒が上達することはすでに困難であり、この段階での学習はより多様であることがよくあります。

過去 3 年間に、ビッグ データ、分散キャッシュ、分散メッセージング サービス、分散コンピューティング、ソフト ロード バランシングなど、多かれ少なかれ他のテクノロジーにさらされてきたはずだからです。これらのテクノロジーのいずれかに習熟していれば、今後の面接で大きなアドバンテージとなるため、特定のテクノロジーに興味がある場合は、この時点でそれについて深く学ぶことができます。テクノロジーは仕事で使用しているものである必要はありませんが、関連性がなければなりません。

そして、新しい技術を研究するときは、無計画に行動しないようにしてください。今日、一部の学生はビッグデータに取り組み、Hadoop や hbase などに取り組みました。しばらくして、退屈に感じて、redis などの分散キャッシュについて勉強し始めました。それからしばらくして、MapReduce や Storm などの分散コンピューティングを再び勉強し始めました。

結局、私はすべてを知っているような気がして、ビッグデータ、分散キャッシュ、分散コンピューティングについて知っていると履歴書で自慢していましたが、実際にはどれも表面的なものにすぎませんでした。いざというとき、面接官は何気ない質問で答えを導き出します。

プログラマーとして、日常的に多くのテクノロジーにさらされる可能性があることを必ず覚えておいてください。しかし、テクノロジーを自分の利点にしたいのであれば、このテクノロジーに対するあなたの理解は、ほとんどの才能のある人よりも優れている必要があります。 。 わかりました。

したがって、この段階では、過去 3 年間の内容を単純に学習することはできませんが、これまでの学習が十分に深まっていない場合でも、この時点で自分の長所を構築することをさらに考慮する必要があります。そしてそれは違いとも言えます。

違いを理解するのは難しいことではなく、自分をユニークにすることだと私は信じています。最初の 3 年間の学習は、基本的に資格のある Java 開発者になるには十分ですが、優れた Java 開発者になるにはまだ程遠いです。

いわゆる優秀とは、他の人ができないことができることを意味します。最初の 3 年間で学んだことは、数年間 Java 開発を行っている多くの人が習得できます。したがって、自分自身を差別化するには、別の方法を見つけて深く勉強する方向を見つけ、将来、分散コンピューティングの分野の専門家、専門家など、この分野の専門家になれることを期待する必要があります。ビッグデータ分野、同時実行性などの分野の専門家。

さらに、違いを確立することに加えて、基本的な不足を補う必要もあります。これまで、LZ は基本的な知識について言及していませんでした。その理由は、基礎を早く学びすぎると混乱しやすいだけでなく、混乱したときに心理的な影を引き起こしやすく、将来これらの基礎を学びたくないからです。しかし、分散コンピューティングを研究したい場合、アルゴリズムを理解していない場合は、基礎を習得する必要があります。たとえば、分散キャッシュを実行したいが、コンピューター システムのメモリがわからない場合、どうすればキャッシュを実行できるでしょうか?

あなたの基礎がすでに非常に強固である場合は、おめでとうございます。これまでの仕事でこれらの基礎の助けを十分に理解していると思います。しかし、LZ は、ほとんどの人は、専攻を卒業した人であっても、アルゴリズム、コンピュータ システムの原理、コンパイルの原理など、元々の基礎知識がどれほど強いかを敢えて語ろうとしないと考えています。

しかし、誰にとっても時間は限られており、これらの基本的な本をそれぞれ読むには1年半かかりますので、やはり選択をしなければなりません。アートは負担ではありませんが、問題は、アートには代償が伴い、それには時間とエネルギーを費やす必要があり、LZ は個人的に同じコストで最大の利益を得ることを好みます。

まず、LZが強く推奨する基本書籍は『コンピュータシステムの徹底理解』『Tcp/IP詳解 上・下・下巻』『データの構造とアルゴリズム』の3冊です。その中に TCP/IP に関する書籍が 3 冊ありますが、ここではこの 3 冊を 1 つの大きな書籍として扱います。

これら 3 冊の本は、それぞれ 3 つのタイプの人に適しています。「コンピュータ システムの詳細」は、Java Web 開発と APP バックエンド開発に従事している人に適しています。 「Tcp/IP 詳解 第 1 巻、2 巻、3 巻」は、たとえば netty を使って開発する場合、TCP/IP についての深い理解が必要になる人に適しています。 『データ構造とアルゴリズム』という本は、先ほど述べた分散コンピューティングなどのコンピューティングの研究を行う人に適しています。

さらに、LZ は、ここで述べた適合性は、他の 2 冊の本があなたにとって役に立たないという意味ではないことを強調したいと思います。たとえば、Java Web および APP のバックエンド開発を行う場合は、書籍「Tcp/IP 詳解 1、2、3 巻」も役立ちます。これはあくまで優先順位ですので、時間があれば3冊を集中的に読んでいただければと思います。ただし、時間が限られている場合は、最も役立つ本を選んで最初に読んでください。

理論的に言えば、今年この 3 冊のうち 1 冊を集中的に読むことができれば、非常に強力になります。基礎とこれまでの実務経験を活かして、自分の分野を開拓することができます。

今年は、自分の分野を計画し、自分の利点を確立し、違いを生み出す必要があります。自分の分野について十分に理解していないと、長く仕事をすればするほど、より多くのテクノロジーにさらされることになり、簡単にテクノロジーの海に溺れてしまうようです。より多くのテクノロジーにさらされると、より多くのテクノロジーを使用するようになりますが、メリットはありません。

学生の中には「LZ、自分の専門分野がわからない?どうすればいいの?」と尋ねる人もいるかもしれません

このような人に対して、LZはこう言いたいだけです。どうしてですか? 私が代わりに勉強してみませんか? 「

この段階で、著者が 3 冊の基本的な本 (オペレーティング システムの原理、ネットワーク プロトコル、アルゴリズム) について言及していることがわかります。これら 3 冊の本を読めば、より知識が深まります。」 1階。

この記事で述べた学習ルートを注意深く味わってみると、著者があなたに、浅いものから深いものへ学ぶことを求めている、つまり、知識の深さではなく、知識の深さを向上させることを求めていることに気づくでしょう。知識の広さ。

これは、多くの学生が著者に抱いた質問に対する答えです。「まず幅を持ってから深さを持った方が良いですか、それとも最初に深さを持ってから幅を持った方が良いですか?」

まず、多くの人が考えているとき。この質問について、私たちがこの問題自体に苦しんでいるという誤解があります。自分の幅を広げる前に、まず深く学ぶ必要があると言う人もいますが、改善するには、まずもっと理解し、視野を広げる必要があると言う人もいます。もっと自分自身の深さ。

実際、この議論は本末転倒です。この質問に対する答えは非常に簡単で、市場でどのようなタイプが必要かによって決まります。

つまり、上記の質問を変えると、次のような答えが簡単に得られます。「経験が 5 年未満のプログラマーと面接するように頼まれた場合、特定の分野で深く勉強した人を好みますか、それとも、みんなが好きなの? 何か知っている人? 「

」 答えは明白です。ほとんどの人は、特定の分野、特に一部の一流および二流のインターネット企業を選ぶと思います。

おそらくこの時点で、「フルスタックエンジニア」という概念を使って反論しようとする学生もいるでしょう。結局のところ、フルスタックエンジニアという概念はしばらくの間非常に人気があり、多くの企業がこれを追加しました。彼らの採用 - —フルスタックエンジニアが優先されます。

フルスタックエンジニアという概念は、実は中小企業(あるいは大企業の小部門)が人件費を節約し、プログラマーに雑用をしてもらいたいためにでっち上げた美しい嘘なのですが、彼らに直接言うのは恥ずかしいのです。悲しいことに、フルスタックの本当の意味を知らない一部のプログラマは、依然としてフルスタックであることを誇りに思っており、フルスタックが実際に販売されており、依然として人々のお金を稼ぐのに役立っていると感じています。

ここで筆者が責任を持って言えるのは、職場に入ってから最初の数年間は、深さを高めることに注力するのが正解です フルスタックエンジニアの傾向は、型破りな手法を使うことで有名な一部の人たちと同じです。最近では、インターネットの有名人は一般的に短命になる運命にあり、長期的な解決策となるのは 1 つのスキルだけです。

第6段階 - 4~5年勤務した学生

4~5年というのは、実は比較的重要な段階です。

昨年の経験を経て、あなたはすでに研究している分野について一定の洞察を獲得していると思いますが、この時点で技術的なボトルネックに直面しているはずです。

今は自分のスキルを向上させるために急ぐ必要はありません。自分の経歴を向上させるために、いくつかの有名な企業に行って、より多くの人に影響を与えるようにしてください。もちろん、Github にアクセスして独自のオープンソース プロジェクトを作成し、独自の製品を構築することもできます。このオープンソース プロジェクトは、これまでのホイール作成とは異なり、他の人にとって真に価値のあるホイールを作成するために全力を尽くす必要があります。

技術学習のこの段階ではボトルネックに遭遇しやすく、学術研究に特化していない限り、ある程度のレベルに達するとさらに深めても効果が本当に小さいことが多いです。残念ながら、ほとんどのプログラマーはこれを行うことができません。

現時点で、影響力を向上させることは、技術的なボトルネックに遭遇しやすいからだけでなく、影響力によってより多くの機会を生み出すことができるからでもあります。プログラマーは、ある意味、有名人に似ています。優れたテレビシリーズや映画が、スターのグループを生み出すこともあります。

たとえば、中国には淘宝、Alipay、QQ、Baidu、WeChatなどの人気プロジェクトがいくつかあります。これらのプロジェクトごとにプログラマーのグループが作成されました。 LZ は、あなたがここのプロジェクトの中心的な開発者である場合、そのようなタイトルを持っているだけですでに大きな利点があると言います。さらに重要なのは、タイトルは結局のところ単なるタイトルであり、この種のプロジェクトを行う場合、それはあなたの経験にとって非常に強力なものでなければなりません。

そして、そのようなプロジェクトに参加したいのであれば、運に頼るだけでなく、影響力も非常に重要な手段です。例えば、分散コンピューティングの分野で一定の影響力を持っている場合、分散コンピューティングに関連する良いプロジェクトがあれば、相手も誘ってくれる可能性が高いです。たとえ誰かに誘われなかったとしても、あなたが率先して面接に行ったとしても、相手がこの分野におけるあなたの影響力を知っていれば、それは間違いなく大きな役割を果たし、その役割はあなたの現在の技術力を超える可能性さえあります。

ということで、現段階でのあなたの最大の課題は、自分の影響力を高め、今後10年間の社会人キャリアにおけるその日に備えることです。自分の影響力と過去に蓄積したスキルを頼りに素晴らしいプロジェクトに参加できれば、今後 5 年間は成功するでしょう。

もちろん、LZ は今、十分な準備ができており、プログラマになってまだ 4 年半しか経っていません。したがって、4 ~ 5 年の部分に関しては、LZ の意見が正しいとは限りません。誰にも適さない人間。ですので、皆さんもご自身の判断で今年をどのように過ごすか決めていただければと思います。

著者が提示した提案の中には、オペレーティングシステムの原理、ネットワークプロトコル、アルゴリズムに関する3冊の本など、すでに選択肢があり、勉強する予定の分野もすべてあなたが選ぶことができます。著者が直接どの本を読んでどの分野を勉強すべきかを指示するのではなく、

これは実は従来の学習経路に沿ったもので、初級・中級エンジニアのときは全員が同じことを学び、その後上級エンジニアに進むと自然と全員が別の分野に移ります。

子供の頃は同じことを学び、高校では教養の授業を受け始め、大学では大学院に進むと専攻を選び始めました。

そう、私は大学院に行ったことがないことを突然思い出しました。

ですから、4~5年というこの段階で、実は決まった道筋があるわけではないのですが、以前私が「影響力」を高めようと提案したのは、実は今考えてみるともっと深い理由があったんです。誰もが何かをしてくれることを願っています。たとえば…ああ、そうですね (これは完璧なヒントです。4 は多すぎないと思います)。

実際、3年目から5年目は、自分の核となる競争力を高めながら、「ホワイトウォッシュ」できる企業、つまり「影響力」を高められる企業に入社し始めるのがベストな選択です。

「白塗り」とは何ですか?

しかし、上に登ろうとするとき、つまり上級技術マネージャーになるとき、一定の経歴がなければ、どんなに力があっても役に立ちません。これが著者の言う「影響力」です。実はそれは「納得感」とも言えます。

CTO やテクニカル ディレクターが学歴もなく、大企業で働いたこともない貧乏学者である会社のことを聞いたことがありますか?

この時、手を挙げてこう言う人もいるかもしれません。「著者、あなたは間違っています。私はそのような人を見たことがあります。彼は学歴もなく、大企業に勤めたこともありません。しかし、彼は CTO であり、彼はとても強力です。」

状況は 2 つしかありません。1 つ目は、あなたが話している人物が強力すぎるため、この記事の範囲外であるということです。ははは、この CTO は 10 人または 20 人を管理するプロジェクト マネージャーです。 . 人間の偽CTO、会社には数が限られているので、-_-。

つまり、ここまで述べてきましたが、「ホワイトウォッシング」とは、学歴が十分に優れていない場合は、会社での経歴を改善する方法を見つけることを意味します。

少なくとも、いつか本当にCTOのポジションに就いたら、プロフィールに「私はかつて有名なXXXXの会社に勤め、XXXの役職を務めていました

」という一文を加えてもいいですよね。やりすぎな気がしますが、説得力はありますか?

ということで、またまた、Alibaba ミドルウェアがあなたを歓迎します! 5年が経ちました、クラスメイト、もう家に帰る時間です! (上司、私は今年5歳になりたいです、-_-)

第7段階 - 勤続5年以上の学生

この段階の学生は、5年前に初めて職場に入った学生と比べて、仕事の違いは別として、それ以外に最も大きな可能性があるのは、生活の変化です。

だから、この段階では、仕事や勉強の道について話すのではなく、人生について話しましょう。

5年前、あなたは独身で、自由で、一生懸命働き、転職し、ぶらぶらしていたかもしれませんが、5年が経過すると、結婚し、子供もいるかもしれません。いくつかの実際的な問題を考慮しません。

車を買いますか?家を買う?解決しましたか?

これらの項目はそれぞれ大きな山のように、第一線都市で苦労しているサラリーマンに重くのしかかっています。

特に家の購入に関しては、すでに年収 50W を持っているとしても、第一級都市で家を買うのは依然として非常に困難です。

あらゆる無駄から50Wが差し引かれるため、15W削減されると試算され、支出と合わせても35W程度しか得られないことになり、年間20W節約できるのはとても良いことです。 、一級住宅の場合、頭金は基本的に 最も安いものでも数百万ドル(つまり、合計価格は300Wで、すでに第一級のキャベツの価格です)、そしてそれが完了するまでに5年かかります。現時点で年収が 50W 未満の人がどれだけいるかは言うまでもありません。

さらに、今後5年間は住宅価格が上昇しないと保証できますか?過去 5 年間、大きな出費がないことを保証できますか?

手を挙げて「両親が北京の環二路に家を買ってくれた」と言いたい学生もいるかもしれません

そのとき、著者は「この学生、出てってください!ははは…」と言うしかありません。 ...』

ここで話しているのは主に二期生以外の学生たちですが、二期生に関しては一つだけアドバイスがありますので、仕事を取りに来ないでください。 -_-。

さて、本題に戻りますが、実際、家を買うのは最初の困難にすぎません。他の都市は知りませんが、北京では基本的に家を買うよりも定住するのが難しいと言えます。 no way out 先ほどポイント決済が発行されましたが、どう見ても役に立ちそうにありません。

そういえば、筆者が以前書いた「プログラマよ、行動しないと手遅れだ!」という記事にも触れなければなりません。 》では、実際、プログラマーがどのように落ち着くことができるかについて語っています。

ここでは詳細には触れませんが、興味のある学生は自分で読んでみてください。以下は記事からの引用です - 第一級都市でお金を節約し、第二級都市で平和に暮らし、満足して働きましょう-階層都市

プログラマーの最終目的地は一文ですでにわかりますが、二線都市の中で杭州が現在最適です。

杭州のインターネット産業はかなり発展しているが、賃金は第1層と比べてそれほど低いわけではなく、むしろ高いかもしれない。ただし、平均住宅価格は第1層の半分以下である。杭州には美しい景色があり、外で熱心に働く「ワイルドな」プログラマーにとって、平和で満足して暮らすのに最適な場所です。

そして、最前線から杭州に移動するときは、常に移行するための会社が必要です、言うまでもなく、これが最も適した会社です、ええと...ご存知ですか... (何も間違っていません。調和の感覚、-_-)

そして、他の有名なインターネット企業のほとんどは北京、上海、深センにあります。たとえ給料が高くても、生活のプレッシャーや幸福の点で、私は住みやすい都市だと思います。杭州の意志のように、比較する方法はありません。

5年経ちましたが、5年間の闘いは何のためにあったのでしょうか?もしかしたら、あなたが初めて職場に入ったときは、世界を変えたいと意気盛んであったかもしれませんが、結婚して子供が生まれた後は、世界を変える前に、まず平和で満足して暮らし、働く必要があることに気づくでしょう。 、-_-。

それではまた、咳咳…

アリババミドルウェアがあなたを歓迎します!

Java プログラマーの学習経路の概要

実際、今日著者が話しているのは、「野生の」Java プログラマーが勉強と努力を経てアリババに入社し、家を購入して杭州に定住する方法についてです。

はい、この学習パスの目的は、あなたが技術的なマスターになるのを助けることではなく、平和で満足して生活し、働くことを教えることです。

結局、外で仕事をしていると、大都市に根を張って定住したくなりませんか?

世界を変えるというあなたの元々の夢については、自分の生活が落ち着いてから世界を変えることについて話すのに遅すぎるということはありません。

もちろん、学習に関する部分(つまり最初の4年間)は、基本的にすべてのJava学習者がその時点での学習ルートを参照することができます。不可能ではありません。 (免責事項:あなたが学ぶことについて、著者は責任を負いません、-_-)

ただし、この定着の部分(つまり4年後)については、すべての人に当てはまるわけではないかもしれません、たとえば、ある人の出身地など。こんな一流都市にいるなら、わざわざ杭州に来る必要はありません、深センにもアリセンターがあります。

したがって、仕事を始めて最初の数年間は、著者の学習パスに従うことができますが、3〜4年の段階まで働くと(または妻が見つかったとき、-_-)、仕事をしている間、そして勉強するなら、将来どの都市に定住するか、どの会社に入社するかを計画する必要もあります。

ターゲットを特定したら、その都市の住宅価格、住宅購入政策、定住政策などを注意深く研究する必要があります。また、企業の面接やどの側面を好む傾向があるか(最初の面接の内容など)も研究する必要があります。この記事の一部、 -_-) 、そしてお金がほぼ貯まるまで待ちます...

さて、私が省略記号を後ろに使っている理由は、あなたの現在の上司が杭州に戦いに来るのではないかと心配だからです。それを見た後ですが、あなたは理解していると思います、- _-。

終わり:

最後に、学習すること自体は非常に難しいことですが、Java を学習することはさらに苦痛です。しかし、あなたはこの道を選んだのですから、歯を食いしばって取り組む必要があります。辛抱強く続けてください。そうすれば、最終的にはあなたの未来が本当に明るいことに気づくでしょう。

関連記事:

Javaの基礎学習

Java学習への道

関連動画:

JAVA Basic introチュートリアルビデオチュートリアル

以上がアリババの採用面接ではどのような質問が行われますか? Javaプログラマーが独学で勉強する際の注意点の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。