JavaRush /Java Blog /Random-JA /Java の経隓がなくおも䞭玚 Java 開発者ずしお仕事を埗るコツ、たたは方法
ЮрОй
レベル 30
МПсква

Java の経隓がなくおも䞭玚 Java 開発者ずしお仕事を埗るコツ、たたは方法

Random-JA グルヌプに公開枈み
Java の孊生および専門家の皆様、こんにちは。おそらく私の話は、それを行う方法ず、そうでない方法の䟋ずなるでしょう。2021幎10月19日、今日私は倧䌁業のJavaミドル開発者ずしおの詊甚期間3ヶ月を終了したした。私には Java 開発の経隓がありたせんでした。2020 幎 6 月 4 日たで、私は Java に぀いお䜕も知りたせんでした。Javaist ずしお採甚されたずき、詊甚期間を過ぎたら成功事䟋を曞くず玄束したした。この蚘事は 2 ぀の論理的な郚分に分かれおいたす: キャリアの背景 (第1 章から第 5 章、Java ずは関係ありたせん)、ただし、自分のキャリアに関する知識を埗るこずができたす。Javaist になる (第 6 章から第 9 ç«  - Java の孊習、面接、就職、初めおの実際の経隓)。<h3>第 1 ç« . ゚コノミスト</h3>私がどのレベルの知識を持っお JavaRush に来たのかを理解するには、私自身に぀いおの経歎を述べる必芁がありたす。2013幎11月、午前8時。私はタガンカ島のコヌヒヌショップに座っお SQL 呜什を繰り返しおいたす。1 時間埌に、銀行の財務郚門の䞻任゚コノミストのポゞションの面接を受けたす。これは私が招埅された唯䞀の面接であり、100答える必芁がありたす。圌のために、私はサンクトペテルブルクから飛行機で行き、すでに少ない貯金を䜿い果たさないように、芪戚ず䞀緒に台所に滞圚したした。30分が経過し、ハムずチヌズのパンケヌキを食べたら、私たちは倧切な倢に向かっお進たなければなりたせん。しかし、すべおが揺れおいたす。面接に萜ちたらどうすればいいですかわかりたした、そうではありたせんでした。私は銀行に行き、パスを受け取り、䌚議宀で面接察象者を埅ちたす。ずおも長い時間が経っおしたいたす。35歳くらいの男性ず同幎代の女性が入っおきた。圌らは自己玹介をし、自分自身に぀いお話しおほしいず蚀いたした。「ナリ、それは嬉しいです。」私は 21 歳で、サンクトペテルブルクの倧孊でパヌトタむムで勉匷しおおり、銀行で窓口係ずしお 3 か月間働きたした。これは私が勉匷しおきたこずではないこずに気づき、就職垂堎に目を向け始めたずころ、モスクワでは経枈孊者が SQL を芁件ずしおいるこずを知りたした。それで私はそれを勉匷し、コヌスMS SQL Administration - それが私が持っおいたものであり、それを目指しおいたしたに参加し、そしおあなたは私に電話をかけおきたした。圌らは䌚瀟のこず、䌚瀟の仕事に぀いお話しほずんどの蚀葉は理解できたせん、その埌テストを受けるように求めたす。このテストには SQL に関する 3 ぀の質問がありたす。 1. 䞎えられたテヌブル、ID = 10 のすべおのレコヌドを取り出したす。 2. 䞎えられた 2 ぀のテヌブル、それらを接続し、それぞれの列を衚瀺したす。3. 郚門をグルヌプ化し、各郚門の埓業員数を指定したす。このような芁望を曞くのは非垞に恥ずかしいこずです。続いお、仕事に察する私の期埅に぀いお話したす。そしお圌らは私に魔法のフレヌズを教えおくれたした。「面接を受けおくれおありがずう、折り返し電話したす。」1週間が経過し、圌らは私に䞀緒に仕事に来ないかず申し出おきたした。倚幞感、衝撃、喜びそしお、䜕のお金で7䞇ルヌブルを手に入れたしたそうだ、金持ちになれるよ私はモスクワに来お定䜏し、䞭心郚に郚屋を借りたした。最初の数日間は倚幞感に満ちおいたす。10日埌、自分はどこに来たのかずいうこずに気づき始めたす。党く䜕も分かりたせん毎月、銀行党䜓の管理報告曞を䜜成しなければなりたせんでした。圓然のこずながら、私にずっおも、芪愛なる読者の皆さんにずっおもそれは同じでした。私は銀行間信甚、スワップ、経費配分、コストなどの甚語をラテン語の呪文だず認識しおいたした。その過皋で、私はこの問題の技術的な偎面を習埗する必芁がありたした。MS Access (すべおのレポヌト䜜成は VBA を通じお行われたした)、MS SQL (Access の代わりに新しいストレヌゞずしお)、Oracle (最初は Oracle ず呌んでいたため、ヒステリックな状態が発生したした)プログラマヌの間で。そしお突然、私にずっお技術的な偎面の方がはるかに興味深いものであるこずがわかり始めたした。耇雑なク゚リを䜜成しようずする詊みもありたす (その結果、スクリプトによっおデヌタベヌスがハングし、激怒した管理者が誰がク゚リを実行したかを把握しようず走り回りたす)。でも本業は金融なので、それは私を怒らせ始めたす。1か月半経ちたすが、䜕も成果をあげるこずができないので、蟞衚を曞きたす正盎に蚀うず、圌らは私に䜕も期埅しおいたせんでした。財務郚門の責任者はそれを砎り、「くだらないこずは気にしないでください」ず蚀いたした。1か月埌、私が再び声明を曞くず、その厚かたしい行為にショックを受けた郚門長埌に銀行取締圹䌚䌚長ずなった人物が極床の圓惑ずずもに眲名した。教育を受け、絊料も信頌も䞎えられおいるのに、圌はこのように振る舞う。解雇の理由は、さらに 2 ぀の芁因でした。1 ぀は䞊叞の傲慢さで、私は冷静に察応できたせんでした。もう 1 ぀は、座り心地の悪い怅子で腰が痛くなり始めたした。これは非垞に面癜いのですが、動機は次のずおりです。蟞めたずきは、もっず楜になれるず思っおいたした。しかし、そこにはありたせんでした。<h3>第 2 章。70 件のむンタビュヌ</h3>銀行を出お、私は深呌吞をしたした。「こうアレンゞしおみたす、みんなびっくりしたすよ。」面接は予定されおおり、絊料も高く、報告に取り組む必芁もなさそうだった。面接は4回ありたすが、誰も採甚したせん。5、6回の面接 - 同じこず。私は女の子ず䞀緒に郚屋を借りお暮らしおいたしたが、圌女は仕事を芋぀けたので、私の収入䞍足を補うこずができたした。しかし、い぀たで収入がなくなるかはただ分かりたせんでした。私は面接 (アナリストの求人) に行きたしたが、䞻に SQL ず VBA に぀いお質問されたした。ご存じない方のために説明するず、VBA は Excel、Access、およびその他の MS Office 補品に含たれるプログラミング蚀語です。面接は 10 回行われたしたが、䜕もありたせんでした。20、30 - 䜕もありたせん。誰もが経隓や高等教育の䞍足を恥ずかしがりたす私にずっおは小さなこずのように思えたす。40回の面接を経お、絶望が忍び蟌み始める。5560回の面接の間に、私は1Cの勉匷を始めたす。すでに劻になっおいる少女は、少なくずもそこに自分の䜏居があるので、サンクトペテルブルクに向けお出発するように頌みたす。そしお 70 回目の面接で、私はサンクトペテルブルクの工業地垯にある小さな䌚瀟で 1C デヌタベヌス管理者 (1C 開発者になる芋蟌み) ずしお 50,000 ルヌブルで招埅されたした。これからはキャリアの成長です<h3>第 3 ç« . 䌝説の垰還</h3>ミニバス (䌁業茞送甚) の窓から灰色のサンクトペテルブルク工業地垯を眺め、片道 1 時間 40 分かけお移動したずき、私はこれでは無理だず悟りたした。そうやっお生きおください。1C ぞの興味は、自分で䜜成したシステムに最初に觊れた時点で消えおしたいたした。蚈画が必芁でした。そしお圌は成長し、倜には SQL を勉匷し、同時に有名な珟堎を監芖したした。解雇の最終的な匕き金ずなったのは、チケットはすでに賌入されおいたにもかかわらず、総監督が私を予定の䌑暇に行かせたくなかったずいう状況だった。䌑暇の埌、私は応募曞類を曞き、モスクワの求人に再床履歎曞を送りたす。再び私はモスクワ時間に倧手銀行での面接のオファヌを受けたした。私は再び芪戚の台所に来お、面接に行きたす。hr がその䜏所を曞いたずき、私は目を疑いたした。これは私が働くこずを倢芋おいた建物でしたモスクワでの最埌の䜏居の時、ちょうど建蚭䞭でした。このポゞションは䞻任情報システムサポヌトスペシャリストず呌ばれおいたした。オフィスに行きたす おしゃれなゞャケットずゞヌンズを着た30歳くらいの男性が出迎えおくれたした。私たちは15階に䞊がり、街のパノラマを芋たずき、息をのんだ。スタヌリン䞻矩の高局ビルがすべお芋えた。建物党䜓のスタむルは非垞にモダンでした。䞊叞のオフィスにはワむン甚の冷蔵庫、おしゃれな氎族通、癜黒の裞の女性の絵がありたした。これは「すごい」効果を匕き起こしたした。䞊叞ずの䌚話はい぀ものように行われたせんでした。玄 40 分間、圌は銀行で䜕が起こっおいるかに぀いお話したした。私は䜕も理解できたせんでしたが、うなずきたした。私が尋ねるず、「い぀から聞き始めたすか」圌は泚意を払っおいたせんでした。もう䞀床蚀いたすが、「技術面接はい぀ですか」ずいう私の質問に察する答えは、「はい、ずにかくあなたを採甚したす。もしあなたがそれに耐えられないなら、私たちはあなたを解雇したす。」でした。ず笑顔で蚀われお、すべおが、たた倢が叶ったんだ、ず実感したした<h3>第 4 ç« . IT 分野での自分探し</h3>新しい職堎に到着したずき、なぜ圌らが私をすぐに雇っおくれたのか理解できたした。郚門の埓業員の兞型的な人物像を説明したす。平均幎霢 55 歳、癜雲母、モスクワ州立倧孊で教育を受け、゜連時代に防衛研究所で働き、90 幎代に銀行郚門に転身し、ここで 20 幎間働いおいたす。半分が男性、半分が女性です。圌らは呚囲のむンテリアず完党に䞍協和音を起こしたした。私たちは䌚蚈甚のレポヌト プログラムの保守に携わっおいたした。圓然のこずながら、これはすべお 90 幎代埌半から 2000 幎代前半に開発者によっお曞かれた叀代の VBA および SQL スクリプトで行われたした。それは 2015 幎で、自動化は MS Access によっお行われおいたした。぀たり、非垞に貧匱に芋えたした。しかし、埮劙な違いがありたした - 圌らは顧客 (䌚蚈) が望むものを提䟛したした。そしお正確に時間通りに、そしお必芁な圢匏で。それがどのように機胜するかを知っおいたのは圌らだけであり、オノトヌルですら圌らの開発の耇雑さを想像するこずができたせんでした。そしお、どんな IT 管理者も、たずえどんなに匷く望んでも、圌らを解雇するこずはできたせんでした。䞻任䌚蚈士は銀行の取締圹䌚に行き、䌚蚈郚門の利益に奉仕する埓業員を擁護したした。マネヌゞャヌは私にトロむの朚銬の圹割を果たしおほしいず蚀いたした。私は圌らの開発をすべお調査し、デヌタを新しいシステムに移行したした。そうすれば、叀い埓業員を解雇でき、私は新しいシステムに異動できたす。たず、プロセスを詳しく調べお VBA コヌドを調べたした。埐々に VBA コヌドを読めるようになりたした。1 幎埌、私はすでにコヌド自䜓の曞き方を知っおいたした。䞀般的なタスク: デヌタベヌスを指定し、そこからデヌタを抜出し、特定の圢匏で Excel に入力したす。さお、ザドルノフ氏が蚀ったように、深呌吞しおください。すべおの郚門のレポヌト (日次レポヌトが 50 件、月次レポヌトが 20 件にもなりたす!) はすべお手動で実行されおいたした。カヌル、人々は 50 件のレポヌトを手䜜業で毎日日付を +1 に倉曎するこずを理解しおいたすか。圌らは座っお、1 ぀のレポヌトの結果を 1  10 分間埅ち、別のレポヌトを開始したす。さらに、日次レポヌトは特定の時間に開始する必芁があり、遅刻は犁物です。圌らはレポヌトを䜜成するだけでなく、倉数を䜿甚せずにデヌタベヌス内のプロシヌゞャを手動で実行したす。぀たり、@startDate = '2015-01-01' 倉数を䜿甚する代わりに、同じ日付を 20 か所手動で倉曎したす。これをすべお芋た埌、私は Python を孊び始めたした。VBA、SQL、タスク スケゞュヌラを䜿甚しお、これを 2 幎間ですべお自動化したした。自動化されるだけでなく、倚くのレポヌトも高速化されたす。MS Access + VBA を攟棄しお MS SQL + TSQL を遞択するず、生産性が䜕倍にも向䞊したす。私の蚘録により、レポヌト䜜成が高速化されおいたす100䞀床しかし、私の同僚はそのような自動化に非垞に䞍満を持っおいたため、私は囜民の敵であるず宣蚀されたした圌らは退職するたで静かに座っおいたいず考えおいたした。時間が経ち、デヌタ移行は成功したした。マネヌゞャヌは私をずおも高く評䟡しおくれたした。キャリアの初めに朝8時に出勀しおいたずしおも、しばらくするず12時たでい぀でも出勀できるようになり、絊䞎ず地䜍は垞に䞊がり、週末の仕事の支払いも増えたした。 2倍以䞊の金額、仕事で遅れたらタクシヌで家たで送る、モバむル通信、芁するに゚リヌトです<h3>第 5 ç« . 黄金の檻</h3>3 幎半埌、突然、新しい IT 管理者がやっお来お、デヌタを移行したシステムはもう必芁ないず蚀いたした。しかし、叀いシステムは残りたす。私のマネヌゞャヌはキャリアのはしごを䞊っおいお、より進歩的な郚門に異動するように私を誘っおくれたす。進歩的な郚門の責任者ずの䌚議で、この郚門のテクノロゞスタックが私には未知であるこずを理解したした: Oracle、.net、C#、Linux など + 朜圚的な䞊叞に察する反感。私はマネヌゞャヌに、進歩的な郚門には興味がないず蚀いたしたが、圌は郜合よく私のこずを忘れおしたいたした。そしお問題は次のずおりです。次に䜕をすべきか? 収入はすでにそこそこありたしたが、ゞュニア開発者はその絊料では私を雇わないでしょう。自分のスキルに぀いお考えた結果、機械孊習を孊ぶ必芁があるこずに気づきたした。数孊的統蚈ずの最初の出䌚いたでは、すべおが興味深いものでしたが、それは研究所に嫌悪感をもたらすだけでした。以䞊、6か月間昏睡状態でした時が経ち、ある日、歩きながらモスクワの地図䞊に矎味しいレストランを衚瀺するりェブサむトを思い぀いた。HTML、CSS、JSを孊び始めたした。本栌的なWebサむトを䜜成できるほどの知識はありたせんでしたが、仕事で実践できる皋床には3か月間勉匷したした。そこで、䌚蚈士向けのポヌタルを䜜成し、䌚蚈士がボタンを䜿甚しおレポヌトをダりンロヌドできるようにするずいうアむデアが生たれたした。ポヌタルの䜜成には 2 か月かかり、SPA (シングル ペヌゞ アプリケヌション) Web アプリケヌションが Node.js バック゚ンドを備えた React js で誕生したした。SQL スクリプトをバック実行し (Hibernate などのフレヌムワヌクに぀いおは知りたせんでした)、Python を起動し、远加情報 (サむト ナヌザヌなど) を MongoDb に保存したした。倖芋的には、このサむトは非垞にたずもに芋えたした (ブヌトストラップ 4、ファッショナブルなアニメヌション)。私は今でもこのプロゞェクトを誇りに思っおいたす。しかし、銀行の Web 開発者にコヌドを芋せたずころ、圌らは驚いおいたした。あなただけのクラスはありたせん! 機胜だけ、ハヌドコアだけ圌らは私を耒めおくれたしたが、ミドルのフルスタック開発者になるにはただたくさん勉匷する必芁があるず蚀っおいたした。アナリストずしお就職しようずしたしたが、特別なオファヌはありたせんでした。私はこう思いたす。私はそこにいたせんでした。フルスタック開発者の履歎曞を投皿したす。電話はかかっおきたしたが、むンタビュヌ䞭、私はパリの䞊空をベニダ板のように飛び回っおいたした。たずえば、HashMap や HashSet が䜕なのか、なぜそれらが必芁なのかがわかりたせんでした。OOP、プログラミング パタヌン、アルゎリズム、テスト、Git に぀いおはたったく考えおいたせんでした。私は長い間忘れおいた、基本的なこずを知らなかった恥の感情を思い出したした。突然、金融䌚瀟の顧客分析責任者ずしおの仕事のオファヌが舞い蟌みたした。パンデミックによる囜家閉鎖の1週間前。私は金融䌚瀟に就職したしたが、絊料が高い䞀方で、技術的な面での発展は最小限だずいう二重の感情がありたした。機噚を導入し、リモヌトワヌクを導入しおから1週間が経過したした。金融郚門は䌑業日が適甚されなかったので、通垞通り勀務したした。新しい䞊叞は非垞にクレむゞヌな人であるこずが刀明したした。圌は、Facebook をスクレむピングし、クラむアントを調査するための独自のニュヌラル ネットワヌクを䜜成するず申し出たした (デヌタ サむ゚ンティストはスタッフにいたせんでした)。新入瀟員には 1 週間で Python を孊ぶこずが提案され、無絊䌑暇が垞態化したした。蟞めるのは愚かだった。パンデミックの最䞭にどこで仕事を芋぀けられるだろうかしかし、2 か月埌に四半期ボヌナスがなくなるず発衚され、我慢も限界になりたした。ニュアンスずしおは、採甚時に絊䞎に぀いお合意した際に、絊䞎は絊䞎60ず四半期ごずのボヌナス40に分けられ、垞に支払われるず人事が蚀ったずいうこずです。遞択が間違っおいたこずが明らかになり、新しい仕事を探し始める必芁がありたした。<h3>第 6 ç« . Java のマスタヌの開始</h3>5 月のある晎れた日、私は「開発者」ずいう求人の面接ぞの招埅状を受け取りたした。保険業界の䌚瀟では、保険商品を開発する人材が必芁です。プログラミング経隓は必芁ですが、圓瀟独自の開発のため、特定の蚀語は必芁ありたせん。Gitなども必芁です。2 日埌に面接の予定を立お、空いた時間に Git の基瀎を勉匷したした。面接ではPython、JS、Git、SQLに぀いお質問されたした。「メ゜ッドのオヌバヌロヌド」ずいう抂念以倖のすべおに回答し、2 週間埌に仕事に招埅されたした。その䌚瀟がずっず前にそのシステムを賌入しおいたこずが刀明した。Java (衚ず裏) で曞かれおおり、プログラミング蚀語を知らなくおも (より正確には、組み蟌みの Jelly プログラミング蚀語を䜿甚しお) ビゞネス プロセスを䜜成できたす。いいように聞こえたすが、実際にはすべおが歪んでいたした。䜙談ですが、どんなテクノロゞヌにも独自の時代ず独自の芏暡がありたす。2000 幎のすべおのレポヌト䜜成を Excel だけで行うのは玠晎らしいこずです。2021幎に同じこずをするのはあたり良くありたせん。玔粋な HTML による䌁業 Web サむトは 1999 幎にはクヌルでしたが、2021 幎にはそうではありたせん。぀たり、同瀟が蚭立時 (2005 幎) に䜿甚しおいたテクノロゞヌは非垞にクヌルなものでした。Java はサヌバヌ郚分ずクラむアント郚分 (いわゆる Java サヌブレット ペヌゞ) の䞡方を担圓しおいたした。さらに、新しいビゞネス プロセス (独自の UI を持぀) を䜜成するず、そのプロセスはファむル内のコヌドではなくデヌタベヌス内に保存されたす。これがどれほど䞍䟿であるかを理解するには、Intellij idea で Java コヌドを䜜成し、それをデヌタベヌスに保存しおから想像しおください。コヌドを実行する堎合、プログラム カヌネルはデヌタベヌスに移動し、そこからコヌドを読み取りたす。したがっお、アプリケヌションを完党にデバッグするこずはできたせん。ヒント #1: コヌドをテストベンチに送信する堎合は、䞀方で、技術面での開発は最小限に抑えられたす。機噚を導入し、リモヌトワヌクを導入しおから1週間が経過したした。金融郚門は䌑業日が適甚されなかったので、通垞通り勀務したした。新しい䞊叞は非垞にクレむゞヌな人であるこずが刀明したした。圌は、Facebook をスクレむピングし、クラむアントを調査するための独自のニュヌラル ネットワヌクを䜜成するず申し出たした (デヌタ サむ゚ンティストはスタッフにいたせんでした)。新入瀟員には 1 週間で Python を孊ぶこずが提案され、無絊䌑暇が垞態化したした。蟞めるのは愚かだった。パンデミックの最䞭にどこで仕事を芋぀けられるだろうかしかし、2 か月埌に四半期ボヌナスがなくなるず発衚され、我慢も限界になりたした。ニュアンスずしおは、採甚時に絊䞎に぀いお合意した際に、絊䞎は絊䞎60ず四半期ごずのボヌナス40に分けられ、垞に支払われるず人事が蚀ったずいうこずです。遞択が間違っおいたこずが明らかになり、新しい仕事を探し始める必芁がありたした。<h3>第 6 ç« . Java のマスタヌの開始</h3>5 月のある晎れた日、私は「開発者」ずいう求人の面接ぞの招埅状を受け取りたした。保険業界の䌚瀟では、保険商品を開発する人材が必芁です。プログラミング経隓は必芁ですが、圓瀟独自の開発のため、特定の蚀語は必芁ありたせん。Gitなども必芁です。2 日埌に面接の予定を立お、空いた時間に Git の基瀎を勉匷したした。面接ではPython、JS、Git、SQLに぀いお質問されたした。「メ゜ッドのオヌバヌロヌド」ずいう抂念以倖のすべおに回答し、2 週間埌に仕事に招埅されたした。その䌚瀟がずっず前にそのシステムを賌入しおいたこずが刀明した。Java (衚ず裏) で曞かれおおり、プログラミング蚀語を知らなくおも (より正確には、組み蟌みの Jelly プログラミング蚀語を䜿甚しお) ビゞネス プロセスを䜜成できたす。いいように聞こえたすが、実際にはすべおが歪んでいたした。䜙談ですが、どんなテクノロゞヌにも独自の時代ず独自の芏暡がありたす。2000 幎のすべおのレポヌト䜜成を Excel だけで行うのは玠晎らしいこずです。2021幎に同じこずをするのはあたり良くありたせん。玔粋な HTML による䌁業 Web サむトは 1999 幎にはクヌルでしたが、2021 幎にはそうではありたせん。぀たり、同瀟が蚭立時 (2005 幎) に䜿甚しおいたテクノロゞヌは非垞にクヌルなものでした。Java はサヌバヌ郚分ずクラむアント郚分 (いわゆる Java サヌブレット ペヌゞ) の䞡方を担圓しおいたした。さらに、新しいビゞネス プロセス (独自の UI を持぀) を䜜成するず、そのプロセスはファむル内のコヌドではなくデヌタベヌス内に保存されたす。これがどれほど䞍䟿であるかを理解するには、Intellij idea で Java コヌドを䜜成し、それをデヌタベヌスに保存しおから想像しおください。コヌドを実行する堎合、プログラム カヌネルはデヌタベヌスに移動し、そこからコヌドを読み取りたす。したがっお、アプリケヌションを完党にデバッグするこずはできたせん。ヒント #1: コヌドをテストベンチに送信する堎合は、䞀方で、技術面での開発は最小限に抑えられたす。機噚を導入し、リモヌトワヌクを導入しおから1週間が経過したした。金融郚門は䌑業日が適甚されなかったので、通垞通り勀務したした。新しい䞊叞は非垞にクレむゞヌな人であるこずが刀明したした。圌は、Facebook をスクレむピングし、クラむアントを調査するための独自のニュヌラル ネットワヌクを䜜成するず申し出たした (デヌタ サむ゚ンティストはスタッフにいたせんでした)。新入瀟員には 1 週間で Python を孊ぶこずが提案され、無絊䌑暇が垞態化したした。蟞めるのは愚かだった。パンデミックの最䞭にどこで仕事を芋぀けられるだろうかしかし、2 か月埌に四半期ボヌナスがなくなるず発衚され、我慢も限界になりたした。ニュアンスずしおは、採甚時に絊䞎に぀いお合意した際に、絊䞎は絊䞎60ず四半期ごずのボヌナス40に分けられ、垞に支払われるず人事が蚀ったずいうこずです。遞択が間違っおいたこずが明らかになり、新しい仕事を探し始める必芁がありたした。<h3>第 6 ç« . Java のマスタヌの開始</h3>5 月のある晎れた日、私は「開発者」ずいう求人の面接ぞの招埅状を受け取りたした。保険業界の䌚瀟では、保険商品を開発する人材が必芁です。プログラミング経隓は必芁ですが、圓瀟独自の開発のため、特定の蚀語は必芁ありたせん。Gitなども必芁です。2 日埌に面接の予定を立お、空いた時間に Git の基瀎を勉匷したした。面接ではPython、JS、Git、SQLに぀いお質問されたした。「メ゜ッドのオヌバヌロヌド」ずいう抂念以倖のすべおに回答し、2 週間埌に仕事に招埅されたした。その䌚瀟がずっず前にそのシステムを賌入しおいたこずが刀明した。Java (衚ず裏) で曞かれおおり、プログラミング蚀語を知らなくおも (より正確には、組み蟌みの Jelly プログラミング蚀語を䜿甚しお) ビゞネス プロセスを䜜成できたす。いいように聞こえたすが、実際にはすべおが歪んでいたした。䜙談ですが、どんなテクノロゞヌにも独自の時代ず独自の芏暡がありたす。2000 幎のすべおのレポヌト䜜成を Excel だけで行うのは玠晎らしいこずです。2021幎に同じこずをするのはあたり良くありたせん。玔粋な HTML による䌁業 Web サむトは 1999 幎にはクヌルでしたが、2021 幎にはそうではありたせん。぀たり、同瀟が蚭立時 (2005 幎) に䜿甚しおいたテクノロゞヌは非垞にクヌルなものでした。Java はサヌバヌ郚分ずクラむアント郚分 (いわゆる Java サヌブレット ペヌゞ) の䞡方を担圓しおいたした。さらに、新しいビゞネス プロセス (独自の UI を持぀) を䜜成するず、そのプロセスはファむル内のコヌドではなくデヌタベヌス内に保存されたす。これがどれほど䞍䟿であるかを理解するには、Intellij idea で Java コヌドを䜜成し、それをデヌタベヌスに保存しおから想像しおください。コヌドを実行する堎合、プログラム カヌネルはデヌタベヌスに移動し、そこからコヌドを読み取りたす。したがっお、アプリケヌションを完党にデバッグするこずはできたせん。ヒント #1: コヌドをテストベンチに送信する堎合は、クラむアントを調査するための独自のニュヌラル ネットワヌクを䜜成したす (デヌタ サむ゚ンティストがスタッフにいない堎合)。新入瀟員には 1 週間で Python を孊ぶこずが提案され、無絊䌑暇が垞態化したした。蟞めるのは愚かだった。パンデミックの最䞭にどこで仕事を芋぀けられるだろうかしかし、2 か月埌に四半期ボヌナスがなくなるず発衚され、我慢も限界になりたした。ニュアンスずしおは、採甚時に絊䞎に぀いお合意した際に、絊䞎は絊䞎60ず四半期ごずのボヌナス40に分けられ、垞に支払われるず人事が蚀ったずいうこずです。遞択が間違っおいたこずが明らかになり、新しい仕事を探し始める必芁がありたした。<h3>第 6 ç« . Java のマスタヌの開始</h3>5 月のある晎れた日、私は「開発者」ずいう求人の面接ぞの招埅状を受け取りたした。保険業界の䌚瀟では、保険商品を開発する人材が必芁です。プログラミング経隓は必芁ですが、圓瀟独自の開発のため、特定の蚀語は必芁ありたせん。Gitなども必芁です。2 日埌に面接の予定を立お、空いた時間に Git の基瀎を勉匷したした。面接ではPython、JS、Git、SQLに぀いお質問されたした。「メ゜ッドのオヌバヌロヌド」ずいう抂念以倖のすべおに回答し、2 週間埌に仕事に招埅されたした。その䌚瀟がずっず前にそのシステムを賌入しおいたこずが刀明した。Java (衚ず裏) で曞かれおおり、プログラミング蚀語を知らなくおも (より正確には、組み蟌みの Jelly プログラミング蚀語を䜿甚しお) ビゞネス プロセスを䜜成できたす。いいように聞こえたすが、実際にはすべおが歪んでいたした。䜙談ですが、どんなテクノロゞヌにも独自の時代ず独自の芏暡がありたす。2000 幎のすべおのレポヌト䜜成を Excel だけで行うのは玠晎らしいこずです。2021幎に同じこずをするのはあたり良くありたせん。玔粋な HTML による䌁業 Web サむトは 1999 幎にはクヌルでしたが、2021 幎にはそうではありたせん。぀たり、同瀟が蚭立時 (2005 幎) に䜿甚しおいたテクノロゞヌは非垞にクヌルなものでした。Java はサヌバヌ郚分ずクラむアント郚分 (いわゆる Java サヌブレット ペヌゞ) の䞡方を担圓しおいたした。さらに、新しいビゞネス プロセス (独自の UI を持぀) を䜜成するず、そのプロセスはファむル内のコヌドではなくデヌタベヌス内に保存されたす。これがどれほど䞍䟿であるかを理解するには、Intellij idea で Java コヌドを䜜成し、それをデヌタベヌスに保存しおから想像しおください。コヌドを実行する堎合、プログラム カヌネルはデヌタベヌスに移動し、そこからコヌドを読み取りたす。したがっお、アプリケヌションを完党にデバッグするこずはできたせん。ヒント #1: コヌドをテストベンチに送信する堎合は、クラむアントを調査するための独自のニュヌラル ネットワヌクを䜜成したす (デヌタ サむ゚ンティストがスタッフにいない堎合)。新入瀟員には 1 週間で Python を孊ぶこずが提案され、無絊䌑暇が垞態化したした。蟞めるのは愚かだった。パンデミックの最䞭にどこで仕事を芋぀けられるだろうかしかし、2 か月埌に四半期ボヌナスがなくなるず発衚され、我慢も限界になりたした。ニュアンスずしおは、採甚時に絊䞎に぀いお合意した際に、絊䞎は絊䞎60ず四半期ごずのボヌナス40に分けられ、垞に支払われるず人事が蚀ったずいうこずです。遞択が間違っおいたこずが明らかになり、新しい仕事を探し始める必芁がありたした。<h3>第 6 ç« . Java のマスタヌの開始</h3>5 月のある晎れた日、私は「開発者」ずいう求人の面接ぞの招埅状を受け取りたした。保険業界の䌚瀟では、保険商品を開発する人材が必芁です。プログラミング経隓は必芁ですが、圓瀟独自の開発のため、特定の蚀語は必芁ありたせん。Gitなども必芁です。2 日埌に面接の予定を立お、空いた時間に Git の基瀎を勉匷したした。面接ではPython、JS、Git、SQLに぀いお質問されたした。「メ゜ッドのオヌバヌロヌド」ずいう抂念以倖のすべおに回答し、2 週間埌に仕事に招埅されたした。その䌚瀟がずっず前にそのシステムを賌入しおいたこずが刀明した。Java (衚ず裏) で曞かれおおり、プログラミング蚀語を知らなくおも (より正確には、組み蟌みの Jelly プログラミング蚀語を䜿甚しお) ビゞネス プロセスを䜜成できたす。いいように聞こえたすが、実際にはすべおが歪んでいたした。䜙談ですが、どんなテクノロゞヌにも独自の時代ず独自の芏暡がありたす。2000 幎のすべおのレポヌト䜜成を Excel だけで行うのは玠晎らしいこずです。2021幎に同じこずをするのはあたり良くありたせん。玔粋な HTML による䌁業 Web サむトは 1999 幎にはクヌルでしたが、2021 幎にはそうではありたせん。぀たり、同瀟が蚭立時 (2005 幎) に䜿甚しおいたテクノロゞヌは非垞にクヌルなものでした。Java はサヌバヌ郚分ずクラむアント郚分 (いわゆる Java サヌブレット ペヌゞ) の䞡方を担圓しおいたした。さらに、新しいビゞネス プロセス (独自の UI を持぀) を䜜成するず、そのプロセスはファむル内のコヌドではなくデヌタベヌス内に保存されたす。これがどれほど䞍䟿であるかを理解するには、Intellij idea で Java コヌドを䜜成し、それをデヌタベヌスに保存しおから想像しおください。コヌドを実行する堎合、プログラム カヌネルはデヌタベヌスに移動し、そこからコヌドを読み取りたす。したがっお、アプリケヌションを完党にデバッグするこずはできたせん。ヒント #1: コヌドをテストベンチに送信する堎合は、<h3>第 6 ç« . Java のマスタヌの開始</h3>5 月のある晎れた日、私は「開発者」ずいう求人の面接ぞの招埅状を受け取りたした。保険業界の䌚瀟では、保険商品を開発する人材が必芁です。プログラミング経隓は必芁ですが、圓瀟独自の開発のため、特定の蚀語は必芁ありたせん。Gitなども必芁です。2 日埌に面接の予定を立お、空いた時間に Git の基瀎を勉匷したした。面接ではPython、JS、Git、SQLに぀いお質問されたした。「メ゜ッドのオヌバヌロヌド」ずいう抂念以倖のすべおに回答し、2 週間埌に仕事に招埅されたした。その䌚瀟がずっず前にそのシステムを賌入しおいたこずが刀明した。Java (衚ず裏) で曞かれおおり、プログラミング蚀語を知らなくおも (より正確には、組み蟌みの Jelly プログラミング蚀語を䜿甚しお) ビゞネス プロセスを䜜成できたす。いいように聞こえたすが、実際にはすべおが歪んでいたした。䜙談ですが、どんなテクノロゞヌにも独自の時代ず独自の芏暡がありたす。2000 幎のすべおのレポヌト䜜成を Excel だけで行うのは玠晎らしいこずです。2021幎に同じこずをするのはあたり良くありたせん。玔粋な HTML による䌁業 Web サむトは 1999 幎にはクヌルでしたが、2021 幎にはそうではありたせん。぀たり、同瀟が蚭立時 (2005 幎) に䜿甚しおいたテクノロゞヌは非垞にクヌルなものでした。Java はサヌバヌ郚分ずクラむアント郚分 (いわゆる Java サヌブレット ペヌゞ) の䞡方を担圓しおいたした。さらに、新しいビゞネス プロセス (独自の UI を持぀) を䜜成するず、そのプロセスはファむル内のコヌドではなくデヌタベヌス内に保存されたす。これがどれほど䞍䟿であるかを理解するには、Intellij idea で Java コヌドを䜜成し、それをデヌタベヌスに保存しおから想像しおください。コヌドを実行する堎合、プログラム カヌネルはデヌタベヌスに移動し、そこからコヌドを読み取りたす。したがっお、アプリケヌションを完党にデバッグするこずはできたせん。ヒント #1: コヌドをテストベンチに送信する堎合は、<h3>第 6 ç« . Java のマスタヌの開始</h3>5 月のある晎れた日、私は「開発者」ずいう求人の面接ぞの招埅状を受け取りたした。保険業界の䌚瀟では、保険商品を開発する人材が必芁です。プログラミング経隓は必芁ですが、圓瀟独自の開発のため、特定の蚀語は必芁ありたせん。Gitなども必芁です。2 日埌に面接の予定を立お、空いた時間に Git の基瀎を勉匷したした。面接ではPython、JS、Git、SQLに぀いお質問されたした。「メ゜ッドのオヌバヌロヌド」ずいう抂念以倖のすべおに回答し、2 週間埌に仕事に招埅されたした。その䌚瀟がずっず前にそのシステムを賌入しおいたこずが刀明した。Java (衚ず裏) で曞かれおおり、プログラミング蚀語を知らなくおも (より正確には、組み蟌みの Jelly プログラミング蚀語を䜿甚しお) ビゞネス プロセスを䜜成できたす。いいように聞こえたすが、実際にはすべおが歪んでいたした。䜙談ですが、どんなテクノロゞヌにも独自の時代ず独自の芏暡がありたす。2000 幎のすべおのレポヌト䜜成を Excel だけで行うのは玠晎らしいこずです。2021幎に同じこずをするのはあたり良くありたせん。玔粋な HTML による䌁業 Web サむトは 1999 幎にはクヌルでしたが、2021 幎にはそうではありたせん。぀たり、同瀟が蚭立時 (2005 幎) に䜿甚しおいたテクノロゞヌは非垞にクヌルなものでした。Java はサヌバヌ郚分ずクラむアント郚分 (いわゆる Java サヌブレット ペヌゞ) の䞡方を担圓しおいたした。さらに、新しいビゞネス プロセス (独自の UI を持぀) を䜜成するず、そのプロセスはファむル内のコヌドではなくデヌタベヌス内に保存されたす。これがどれほど䞍䟿であるかを理解するには、Intellij idea で Java コヌドを䜜成し、それをデヌタベヌスに保存しおから想像しおください。コヌドを実行する堎合、プログラム カヌネルはデヌタベヌスに移動し、そこからコヌドを読み取りたす。したがっお、アプリケヌションを完党にデバッグするこずはできたせん。ヒント #1: コヌドをテストベンチに送信する堎合は、玔粋な HTML による䌁業 Web サむトは 1999 幎にはクヌルでしたが、2021 幎にはそうではありたせん。぀たり、同瀟が蚭立時 (2005 幎) に䜿甚しおいたテクノロゞヌは非垞にクヌルなものでした。Java はサヌバヌ郚分ずクラむアント郚分 (いわゆる Java サヌブレット ペヌゞ) の䞡方を担圓しおいたした。さらに、新しいビゞネス プロセス (独自の UI を持぀) を䜜成するず、そのプロセスはファむル内のコヌドではなくデヌタベヌス内に保存されたす。これがどれほど䞍䟿であるかを理解するには、Intellij idea で Java コヌドを䜜成し、それをデヌタベヌスに保存しおから想像しおください。コヌドを実行する堎合、プログラム カヌネルはデヌタベヌスに移動し、そこからコヌドを読み取りたす。したがっお、アプリケヌションを完党にデバッグするこずはできたせん。ヒント #1: コヌドをテストベンチに送信する堎合は、玔粋な HTML による䌁業 Web サむトは 1999 幎にはクヌルでしたが、2021 幎にはそうではありたせん。぀たり、同瀟が蚭立時 (2005 幎) に䜿甚しおいたテクノロゞヌは非垞にクヌルなものでした。Java はサヌバヌ郚分ずクラむアント郚分 (いわゆる Java サヌブレット ペヌゞ) の䞡方を担圓しおいたした。さらに、新しいビゞネス プロセス (独自の UI を持぀) を䜜成するず、そのプロセスはファむル内のコヌドではなくデヌタベヌス内に保存されたす。これがどれほど䞍䟿であるかを理解するには、Intellij idea で Java コヌドを䜜成し、それをデヌタベヌスに保存しおから想像しおください。コヌドを実行する堎合、プログラム カヌネルはデヌタベヌスに移動し、そこからコヌドを読み取りたす。したがっお、アプリケヌションを完党にデバッグするこずはできたせん。ヒント #1: コヌドをテストベンチに送信する堎合は、SQL скрОпт, これにはコヌドが含たれたす。䞍快だが蚱容範囲か魅力 #2: デヌタベヌスは、盞互に接続されおいる 200 を超えるテヌブルで構成されおいたす。これは、どのテヌブルにコヌドをスロヌするか、どの゚ンティティを他のテヌブルに䜜成する必芁があるかを知る必芁があるこずを意味したす。出力は、玄 1000 行の長さの SQL スクリプトです。これは実に嫌なこずだ。遺産に泚意しおください。぀たり、すべおが Java で行われおいるこずに気づき、JavaRush にアクセスしたした (぀いにサむトのテヌマに到達したした!)。2020 幎 6 月から 7 月。根本的に新しいものは䜕もなかったため、最初の 10 レベルはすぐに (おそらく 1 か月ほど) 閉じられたした。その埌、速床が遅くなりたした。2020 幎 7 月10 月。レベル 10  20 は閉鎖されたした。2021 幎 10 月から 3 月。レベル 20  30 は閉鎖されたした。ここからが楜しみの始たりです。2021 幎 3 月に Java の求人情報を調べ始めたずころ、そこにはなじみのない単語がたくさんあるこずに気づきたした。ある皮の Spring、SpringBoot、Hibernate、JUnit。有名な Web サむトでビデオ コヌスを賌入したので、Spring に觊れたばかりで、これですべおがわかり、できるようになったず思いたした。その埌、Grigory Kislin 氏の TopJava コヌスに出䌚いたした。圌の Web サむトでは、テスト タスクの完了を詊みるこずができ、成功した堎合はコヌスを受講するこずができたす。このコヌスでは、本栌的な Web アプリケヌションを䜜成し、むンタヌネット䞊に公開するこずもできたす。このお金を支払えば、レビュヌ (より経隓豊富なプログラマヌによるコヌドのレビュヌ) を提䟛し、フィヌドバックを提䟛し、問題が発生した堎合にはヒントを提䟛したす。宿題3たで行っおやめたした。理由は簡単です。圌らはあなたに倚くのこずを芁求したすが、知識はたったく䞎えないからです。宿題の芁件は非垞にわかりにくいです。情報は非垞に䞀貫性なく衚瀺されたす。私の䞻芳的な意芋では、このコヌスは、他の同様の蚀語を䜿甚するかなり経隓豊富な開発者に必芁です。なぜなら、圌のコヌスでは、圌が䜿甚するよう求めるテクノロゞヌに぀いおの説明がほずんどないからです。たた、Git に぀いおよく知る必芁がありたす (すべおが個人リポゞトリに送信されたす)。2021 幎 4 月末に、私は Java 開発者向けの履歎曞を投皿しおいたす (垌望絊䞎は䞭玚以䞊)。その䞭で、前の仕事で Java でプログラミングしたこずを瀺しおいたす (嘘を぀きたした)。同じ日に、銀行は Java 開発者のポゞションぞの応募を受け取りたした。<h3>第 7 ç« . Java 面接ずスキル磚き</h3>それでは、どのような蚈画を立おたのでしょうか? 私はすでにかなりの収入ずロヌンで生掻するこずに慣れおいるので、良い絊料を埗る必芁がありたす。したがっお、ゞュニアのポゞションは私には向いおいたせん。䞭間のポゞションを獲埗する必芁がある。しかし、未経隓の私を誰が雇っおくれるでしょうかこの決断は自然なものでした。私の雇甚蚘録によれば、前職では 1 幎間開発者ずしお働き、さらに 4 幎間 IT 郚門の専門家ずしお働いおいたした。぀たり、私は 1 幎間 Java で開発しおきたずしたす。そしお、新補品に぀いお尋ねられたら、叀い Java (7) は存圚しおいたしたが、䜕もサポヌトしおいなかった、ず答えるでしょう。初めおのリモヌト面接の前は緊匵しおいたした。経隓も知識もほずんどなく、高額な金額を芁求しおいたす。私はこう思いたす気にしないでください、ネガティブな経隓も経隓です。Skype で連絡し、2 人の郚門長が面接を受けるこずになりたす。それが私をさらに怖くさせたした。質問の始たり: OOP、HashMap デバむス、ストリヌム、デヌタ構造、Spring、Hibernate、AOP ずは䜕か。そしお、春以前は倚かれ少なかれ耐えられたしたが、春には完党に厩壊したした。人々は私に尋ねたす、「春のこずをよく知らないのに、どうやっお成長したのですか」私: コピヌしお貌り付けたした。うたくいきたした。ありがずうございたす。この答えは圌らを面癜がりたした。次に圌らは SQL に぀いお尋ねたしたが、私は氎を埗たアヒルのようなものでした。次に Git ずリベヌス、チェリヌピック (これも知りたせんでした) に関する質問があり、JS に぀いおは履歎曞に蚘茉されおいたので終わりたした。ここでも、OOP JS に぀いお質問されたため、完党に倱敗したした。面接の結果に基づいお、私の知識は正圓なものではないこずが明らかになったので、私はこの求人に応募する資栌はありたせん。倕方、人事郚から私の立候補が承認され、電話する準備ができおいるずの連絡が入りたした。実はマクドナルドのハンバヌガヌで窒息しおしたいたした。うれしかったのですが、3日埌に人事郚から別の候補者を遞んだず報告がありたした。私の経隓䞊、内定が取り䞋げられたのは初めおです。Java での最初の面接の埌、私はさらにステップアップしお、ビデオ コヌスを販売する有名なサむトで Colt Steele の Git コヌスを受講したした (そしお完党に修了したした!)。これにより、Git に察する私の認識が倉わりたした。次に、Zaur Tregulov による Spring+Hibernate の (すばらしい) コヌスを受講したした。トレヌニング蚈画: ビデオず同じように芋お、自分のコンピュヌタヌでも同じこずを行いたすが、他の人のコヌドを愚かにコピヌしないように、倉数ずクラスには別の名前を付けたす。私はすべおの䜜品を Github にアップロヌドしたす (それによっお Git を緎習したす)。5月䞭旬になり、hrからの電話が入り始めた。私たちは䞀人ず぀面接のスケゞュヌルを立お始めたした。倚くの招埅は次の理由でキャンセルされなければなりたせんでした。人事郚は私の履歎曞の説明を読たず、私を䞊玚職に招埅したした。たた、別の人事カヌスト、぀たり Java ず JavaScript を混同する人々に぀いおも蚀及する䟡倀がありたす。だからこそ、履歎曞のタむトルに「ミドル Java 開発者」ず曞きたした。<h3>第 8 ç« . 兞型的な質問のリストず面接の進め方</h3>私は面接に行き始め、途䞭から埐々に基本的な質問を集めおいきたした。必須: 0. OOP - 定矩、OOP の各原則に぀いお説明したす (+ 珟実の䟋を瀺したす)。1. Equals ず hashcode - それらの間の契玄 (関係) は䜕ですか? 2. HashMap - オブゞェクトがどのバケットに入るのか、衝突ずは䜕か、デヌタが HashMap 内にどのようなデヌタ構造で保存されるのか、暙準サむズ、バケットの数がどのように増加するのかを理解する方法。3. ストリヌム - 操䜜の皮類ずそれらの違いは䜕ですか。各皮類の操䜜の䟋を瀺したす。4. 文字列プヌル、敎数プヌル - それは䜕ですか? 5. ヒヌプ、スタック - それは䜕ですか、違いは䜕ですか? 6. Runnable、Thread、Future の違い。7. 揮発性、原子性。8. ゜リッド、キス、ドラむ - 定矩、実生掻からの䟋。9. Java のアクセス修食子。10. 抜象クラスずむンタヌフェむスの違いは䜕ですか。むンタヌフェむスをプラむベヌトにするこずはできたすか? 11. 機胜的なむンタヌフェヌス。12. すべおのオブゞェクト メ゜ッドをリストし、それらが必芁な理由を説明したす。クロヌン方匏の特城。13. シリアル化ず逆シリアル化ずは䜕ですか。14. リ゜ヌスを䜿甚しお catch を詊したす - それが䜕であるかを説明し、Closeable むンタヌフェヌスを䜿甚しお䌝えたす。15. Final、finally、finalizeの違いは16. オヌバヌロヌド、メ゜ッドのオヌバヌラむドが違いたす。17. String が䞍倉になった理由、StringBuilder ず StringBuffer に぀いお教えおください。18. 時間蚈算量 O(1)、メモリ蚈算量ずは䜕ですか。19. デヌタ構造: マップ、セット、キュヌ、デキュヌ、リストず Java でのそれらの実装 (treeMap、hashSet、hashMap、arrayList、linkedList、priorityQueue、blockingQueue) に぀いお説明し、挿入の耇雑さ (最悪、平均、最高) を説明したす。怜玢し、各構造内の芁玠を削陀したす。20. Java のプリミティブ デヌタ型。それぞれがなぜ必芁なのでしょうか? 21. ゚ラヌの皮類。チェックされた䟋倖ずチェックされおいない䟋倖。22. JVM、JRE、JDKずは䜕ですか? 23. どのコレクタヌず協力したしたか? Maven - ラむフサむクルを構築したす。24. Spring - Ioc 定矩、Di、Bean ラむフサむクル、コンテキスト、@Bean アノテヌション、@Configuration、@Autowired、@Advice、@Aspect、@Service、@Repository。25. ゞェネリック - 䞋限ず䞊限の定矩は䜕ですか? 26. プログラミング パタヌン - 少なくずもシングルトン (なぜこれがアンチパタヌンであるかを説明する意欲) + ビルダヌ、アダプタヌ、ファクトリヌ、デコレヌタヌ、プロクスト。望たしい: 26. テスト - テストの皮類、どのラむブラリ (JUnit) が䜿甚されたか。モック、スタブ、スパむずは䜕ですか? 27. Spring Boot - SpringBoot が必芁な理由、SpringBoot アプリケヌションをオンラむンにする準備。28. Hibernate - なぜ必芁なのか、゚ンティティ、列の結合、遅延ロヌドず積極的なロヌド、キャッシュ レベル (ハヌド)。29. Spring Rest - なぜ必芁なのか、@post、@get ゚ンドポむントの䜜り方。パラメヌタ/リク゚ストボディを読み取るにはどうすればよいですか? json圢匏で送信するにはどうすればよいですか? 30. デヌタ構造 - ツリヌずそのタむプ。31. アルゎリズム - 䞊べ替えの皮類。Java に加えお、次のような質問もされるかもしれたせん。 1. (必須!) Git - なぜ必芁なのか、操䜜のマヌゞ、リベヌス、チェリヌピック、プッシュ、プル、コミット、ログ、チェックアりト、ブランチ、リセット、元に戻す、リフレッシュ。2.SQL - ク゚リを䜜成する機胜: 2 ぀のテヌブルを 1 ぀に結合したす (内郚結合、巊結合)。3. デヌタベヌス - 3 ぀の暙準圢匏、むンデックス (必芁な理由、タむプ)、䞻キヌ、倖郚キヌ 䞀般的なリモヌト面接はどのように行われたすか: 人事担圓者がZoom (Skype、Google Meeting) にリンクを送信したす。特定の時間たでに接続するず、そこには 1  3 人 (技術専門家、䞊叞、人事担圓者) がいたす。特に頑固な堎合は8人たで。最初に自分自身に぀いお話し、次に技術的な郚分を話し、次に欠員に぀いおの話ず別れの話をしたすい぀連絡するか、たたは次のステップは䜕かを蚀いたす。別れの際に、知識に぀いおのフィヌドバックを求めるこずができたす。「答えおいる間、耳が痛む堎所を教えおもらえたすか」ず私は尋ねたした。倚くの人が反応したすが、拒吊されるこずを芚悟しおください。面接では、次のこずが評䟡されたす。 1. あなたの考えを衚珟する胜力ずロシア語の知識 (私は、候補者がロシア語の知識が乏しいために拒吊された䟋を知っおいたす)。2. これたでの経隓前の仕事で䜕をしたか詳しく尋ねられる堎合がありたす。3. プレッシャヌをかけられたずきの適切な反応ある面接では、人々が倱瀌な話をし始めたこずがありたした。私の回答を無芖したり、自分の立堎を抌し付けようずしたりなど。私は開始から 15 分で面接を終えたしたが、圌らは次のように蚀いたした。ストレスの倚い面接でした!) 4. 知識のレベル。ここでさらに詳しく説明したす。トピックの定矩を知っおいるだけでは、期埅されおいるこずの 10% にすぎたせん。それがどのように機胜するかを (少なくずもトップレベルで) 理解する必芁がありたす。開発のどの時点でこれたたはその゜リュヌションを遞択するかを説明する意欲。これは定矩の正確さよりもはるかに重芁です。2 ぀の䟋を䜿甚しおこの論文を分析したす。最初の䟋: むンタビュヌ䞭に HashMap に぀いお質問されたので、「これはキヌず倀のバンドルを栌玍するデヌタ構造です」ず定矩したした。次にむンタビュアヌは「TreeMap ずの違いは䜕ですか?」ず尋ねたした。回答: 違いは、HashMap がキヌをハッシュし、ハッシュ化によりアクセスが高速になるこずです。面接官はすぐに、HashMap の内郚構造を教えおほしいず蚀い、同時に hashCode ず equals に぀いおも尋ねたした。そしお、あなたが答えに満足するか、やめおしたうたで、さらに深く掘り䞋げおいきたす。私が HashMap に぀いお正しく答えられるようになったのは、2 か月のむンタビュヌず hexlet のデヌタ構造に関するコヌスの埌でした。2 番目の䟋: SOLID コンセプト。圌らは私に、私が芚えおいる定矩を答えるように求めたす。しかし、実際の䟋になるずすぐに問題が発生したした。 ВМОЌаМОе!知らない堎合は、それをでっち䞊げずに、次のように蚀っおください。「私はこのトピックを知りたせんが、これは次のように機胜するず掚枬できたす。」ある人がそのテヌマを理解しおいるかのように異説を語るず、倚くの技術専門家は激怒したす。5. 仕事に぀いおの話し合い䞭のあなたの熱意のレベル。あなたはその求人に興味を持ち、その求人に぀いお質問するこずが期埅されおいたす架空の求人だけでなく。6. ナヌモア話題のみや共通の関心事がコミュニケヌションに圹立぀堎合がありたす。あなたの趣味に぀いお自由に話しおください。おそらく面接察象者も Dota/フットボヌル/ファンタゞヌが倧奜きです。そしおこれは候補者であるあなたにずっおプラスになりたす。私は、利益団䜓が面接官の䞍十分な技術蚓緎を芋お芋ぬふりをしたケヌスを知っおいたすあなたは普通の人です、私たちが蚓緎したす。<h3>第 9 ç« . 就職、炎の掗瀌</h3>面接は 4 月䞋旬から 7 月䞭旬たで行われたした。最初の面接は恥ずかしかったですが、埐々に状況は蚱容できるレベルたで改善されたした。よくある質問やフィヌドバックを勉匷するこずで、自分自身を実感したした。最初の25回の面接は䞍合栌だった。この埌、絶望の瞬間が始たりたした。感情: その絊料で私を雇っおくれなかったらどうする? 突然、事態は急展開し始めたした。1 週間以内に 3 瀟が提案曞を提出したした。私は、詳现を知っおいお、絊料も高く、リモヌトで働く機䌚もあった䌚瀟を遞びたした。面接䞭、Java コアず Spring に぀いお玄 30 の質問を受け、97% に正解したした。その埌、䞊玚圓局ずの連絡があり、1.5週間埌に私は圌らず仕事を埗るこずができたした。たず第䞀に、仕事に就くず、必芁なすべおのシステムにアクセスし、必芁なツヌルをむンストヌルし始めたす。1週間半かかり、私に䞎えられた最初のタスクは、教宀内の静的テキストを倉曎するこずでした。プロゞェクトを開いたずき、気分が悪くなりたした。1 ぀のプロゞェクト内に倚数のモゞュヌル、倚数のクラス、テストなどが含たれおいたした。この時点で私は道に迷っおいたしたが、2 人目の開発者が助けおくれお、スムヌズに進めるこずができたした。バグは 10 分で修正され、Git で公開され、プル リク゚スト (他の開発者がコヌドをチェックする 2 ぀のブランチをマヌゞするリク゚スト) が䜜成され、メむン ブランチにマヌゞされたした。すべおはそれほど難しくないこずがわかりたした。最初の本栌的なタスクたで... 今埌 2 週間のタスクを蚈画するずきに、圌らは私にこう蚀いたした。OpenShift 䞊にある別のシステムずの統合を行うこずになりたす。ここからが本圓に恐ろしいずころです。OpenShift は、Docker、Kubernetes、Linux などのテクノロゞヌの集合䜓です。冷や汗が背䞭を流れたした。そう、私はゞョヌむストずしお働いおいたした。䌚議の盎埌、私は開発者に電話したした。開発者は私を安心させたした。このシステム甚のアダプタヌは䜜成されおおり、特定のクラスをプロゞェクトにむンポヌトするだけで十分で、その埌は統合を安党に䜿甚できるようになりたした。開発者が兞型的な統合を瀺すたでは、たた楜しくなっおきたした。同様の統合のために 20 を超えるクラスが䜜成されおいるのを芋たした。さらに、これたで芋られなかったアノテヌション @Value、@Builder、@NoArgsConstructor、@Getter が泚目されたした。@Sl4f - それは Lombook プロゞェクトであるこずが刀明したした (むンタヌネットで読みたした)。開発者がその方法を説明したずき、すべおのクラスの接続を曞き留めようずしたしたが、たったく頭に残りたせんでした。最も恥ずかしかったのは、プロゞェクトをグロヌバルに怜玢する方法、コヌドのリファクタリングなど、Intellij Idea に関する知識が䞍足しおいたこずです。このタスクを匕き受けおみお、なぜ OOP が必芁なのかを理解したした。これほど倧量のコヌドの堎合、それをクラスに分割する必芁がありたす。クラス倖で䜿甚されないメ゜ッドは、別のクラスなどで誀っお実行されないように、プラむベヌトずしお宣蚀する必芁がありたす。別の統合ず同様に統合を䜜成したので、スタむルをチェックする特別なプラグむンである CheckStyle の存圚に぀いお知りたした。゚ラヌ (䜙分なスペヌス、倧文字の倉数名、短すぎる倉数名など) を修正するたで、プロゞェクトをコンパむルできたせん。CheckStyle に勝利した埌、レビュヌのためにコヌドを䞊玚開発者に送り、1 週間以内に間違いを修正したした。䞀般的に、私のチヌムでは 2 人目の開発者ず良奜な関係にあり、倚くのこずを説明しおくれたのは非垞に幞運でした。デバむスの 1 か月埌、私の最初の統合は統合機胜スタンドで起動され (すべおのアプリケヌションの連携動䜜がテストされおいたす)、そこではすべおが機胜したした。勝利次のタスクは、json 内のキヌによっおデヌタを非衚瀺にするクラスを䜜成するこずでした。䟋: json {text:"JavaRush"} -> 凊理 -> {text:"****Rush"} がありたす。ここには 2 ぀の耇雑な問題がありたす。{text:{mytext:"JavaRush"}} のネストが存圚する可胜性があり、さらに䞍快なのは、配列内でのネストです: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (もちろん、text.mytext をすべお非衚瀺にする必芁がありたす)。この問題を解決するのはかなり難しいこずが刀明したしたが、私は解決できたした。ここで 2 番目の開発者は次のように述べおいたす: この開発をテストでカバヌしたす。目には圓惑があった。これが私が戊闘で JUnit ラむブラリを知るようになった方法です。単䜓テストの本質: デヌタを入力し、それをメ゜ッドに枡し、受け取ったデヌタず正しい結果を比范したす (正しい結果を持぀倉数を䜜成したす)。私は自分のラむブラリ甚に 11 のケヌスを䜜成し、アプリケヌションが NullPointException でクラッシュしないこず、およびあらゆるタむプのネストでデヌタが正しく隠蔜されるこずを確認したした。このタスクを完了した埌、新しい統合が䞎えられたした。その特城は次のずおりです。倖郚ラむブラリから Spring Bean を゚クスポヌトする必芁がありたした。この時点で、私は Stack OverFlow Web サむトの垞連顧客になりたした。あるずきは、公匏の Spring 開発者さえも反応したした。この統合を実装した埌、詊甚期間は終了したした。䞊叞から詊甚期間終了を祝っおもらい、この蚘事を曞き始めたした。この蚘事を曞くのに合蚈 8 時間かかりたした) ご枅聎ありがずうございたした。この蚘事がお圹に立おば幞いです。すべおのクラスの぀ながりを曞き留めおみたしたが、たったく頭に残りたせんでした。最も恥ずかしかったのは、プロゞェクトをグロヌバルに怜玢する方法、コヌドのリファクタリングなど、Intellij Idea に関する知識が䞍足しおいたこずです。このタスクを匕き受けおみお、なぜ OOP が必芁なのかを理解したした。これほど倧量のコヌドの堎合、それをクラスに分割する必芁がありたす。クラス倖で䜿甚されないメ゜ッドは、別のクラスなどで誀っお実行されないように、プラむベヌトずしお宣蚀する必芁がありたす。別の統合ず同様に統合を䜜成したので、スタむルをチェックする特別なプラグむンである CheckStyle の存圚に぀いお知りたした。゚ラヌ (䜙分なスペヌス、倧文字の倉数名、短すぎる倉数名など) を修正するたで、プロゞェクトをコンパむルできたせん。CheckStyle に勝利した埌、レビュヌのためにコヌドを䞊玚開発者に送り、1 週間以内に間違いを修正したした。䞀般的に、私のチヌムでは 2 人目の開発者ず良奜な関係にあり、倚くのこずを説明しおくれたのは非垞に幞運でした。デバむスの 1 か月埌、私の最初の統合は統合機胜スタンドで起動され (すべおのアプリケヌションの連携動䜜がテストされおいたす)、そこではすべおが機胜したした。勝利次のタスクは、json 内のキヌによっおデヌタを非衚瀺にするクラスを䜜成するこずでした。䟋: json {text:"JavaRush"} -> 凊理 -> {text:"****Rush"} がありたす。ここには 2 ぀の耇雑な問題がありたす。{text:{mytext:"JavaRush"}} のネストが存圚する可胜性があり、さらに䞍快なのは、配列内でのネストです: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (もちろん、text.mytext をすべお非衚瀺にする必芁がありたす)。この問題を解決するのはかなり難しいこずが刀明したしたが、私は解決できたした。ここで 2 番目の開発者は次のように述べおいたす: この開発をテストでカバヌしたす。目には圓惑があった。これが私が戊闘で JUnit ラむブラリを知るようになった方法です。単䜓テストの本質: デヌタを入力し、それをメ゜ッドに枡し、受け取ったデヌタず正しい結果を比范したす (正しい結果を持぀倉数を䜜成したす)。私は自分のラむブラリ甚に 11 のケヌスを䜜成し、アプリケヌションが NullPointException でクラッシュしないこず、およびあらゆるタむプのネストでデヌタが正しく隠蔜されるこずを確認したした。このタスクを完了した埌、新しい統合が䞎えられたした。その特城は次のずおりです。倖郚ラむブラリから Spring Bean を゚クスポヌトする必芁がありたした。この時点で、私は Stack OverFlow Web サむトの垞連顧客になりたした。あるずきは、公匏の Spring 開発者さえも反応したした。この統合を実装した埌、詊甚期間は終了したした。䞊叞から詊甚期間終了を祝っおもらい、この蚘事を曞き始めたした。この蚘事を曞くのに合蚈 8 時間かかりたした) ご枅聎ありがずうございたした。この蚘事がお圹に立おば幞いです。すべおのクラスの぀ながりを曞き留めおみたしたが、たったく頭に残りたせんでした。最も恥ずかしかったのは、プロゞェクトをグロヌバルに怜玢する方法、コヌドのリファクタリングなど、Intellij Idea に関する知識が䞍足しおいたこずです。このタスクを匕き受けおみお、なぜ OOP が必芁なのかを理解したした。これほど倧量のコヌドの堎合、それをクラスに分割する必芁がありたす。クラス倖で䜿甚されないメ゜ッドは、別のクラスなどで誀っお実行されないように、プラむベヌトずしお宣蚀する必芁がありたす。別の統合ず同様に統合を䜜成したので、スタむルをチェックする特別なプラグむンである CheckStyle の存圚に぀いお知りたした。゚ラヌ (䜙分なスペヌス、倧文字の倉数名、短すぎる倉数名など) を修正するたで、プロゞェクトをコンパむルできたせん。CheckStyle に勝利した埌、レビュヌのためにコヌドを䞊玚開発者に送り、1 週間以内に間違いを修正したした。䞀般的に、私のチヌムでは 2 人目の開発者ず良奜な関係にあり、倚くのこずを説明しおくれたのは非垞に幞運でした。デバむスの 1 か月埌、私の最初の統合は統合機胜スタンドで起動され (すべおのアプリケヌションの連携動䜜がテストされおいたす)、そこではすべおが機胜したした。勝利次のタスクは、json 内のキヌによっおデヌタを非衚瀺にするクラスを䜜成するこずでした。䟋: json {text:"JavaRush"} -> 凊理 -> {text:"****Rush"} がありたす。ここには 2 ぀の耇雑な問題がありたす。{text:{mytext:"JavaRush"}} のネストが存圚する可胜性があり、さらに䞍快なのは、配列内でのネストです: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (もちろん、text.mytext をすべお非衚瀺にする必芁がありたす)。この問題を解決するのはかなり難しいこずが刀明したしたが、私は解決できたした。ここで 2 番目の開発者は次のように述べおいたす: この開発をテストでカバヌしたす。目には圓惑があった。これが私が戊闘で JUnit ラむブラリを知るようになった方法です。単䜓テストの本質: デヌタを入力し、それをメ゜ッドに枡し、受け取ったデヌタず正しい結果を比范したす (正しい結果を持぀倉数を䜜成したす)。私は自分のラむブラリ甚に 11 のケヌスを䜜成し、アプリケヌションが NullPointException でクラッシュしないこず、およびあらゆるタむプのネストでデヌタが正しく隠蔜されるこずを確認したした。このタスクを完了した埌、新しい統合が䞎えられたした。その特城は次のずおりです。倖郚ラむブラリから Spring Bean を゚クスポヌトする必芁がありたした。この時点で、私は Stack OverFlow Web サむトの垞連顧客になりたした。あるずきは、公匏の Spring 開発者さえも反応したした。この統合を実装した埌、詊甚期間は終了したした。䞊叞から詊甚期間終了を祝っおもらい、この蚘事を曞き始めたした。この蚘事を曞くのに合蚈 8 時間かかりたした) ご枅聎ありがずうございたした。この蚘事がお圹に立おば幞いです。このような倧量のコヌドの堎合は、コヌドをクラスに分割する必芁がありたす。クラス倖で䜿甚されないメ゜ッドは、別のクラスなどで誀っお実行されないように、プラむベヌトずしお宣蚀する必芁がありたす。別の統合ず同様に統合を䜜成したので、スタむルをチェックする特別なプラグむンである CheckStyle の存圚に぀いお知りたした。゚ラヌ (䜙分なスペヌス、倧文字の倉数名、短すぎる倉数名など) を修正するたで、プロゞェクトをコンパむルできたせん。CheckStyle に勝利した埌、レビュヌのためにコヌドを䞊玚開発者に送り、1 週間以内に間違いを修正したした。䞀般的に、私のチヌムでは 2 人目の開発者ず良奜な関係にあり、倚くのこずを説明しおくれたのは非垞に幞運でした。デバむスの 1 か月埌、私の最初の統合は統合機胜スタンドで起動され (すべおのアプリケヌションの連携動䜜がテストされおいたす)、そこではすべおが機胜したした。勝利次のタスクは、json 内のキヌによっおデヌタを非衚瀺にするクラスを䜜成するこずでした。䟋: json {text:"JavaRush"} -> 凊理 -> {text:"****Rush"} がありたす。ここには 2 ぀の耇雑な問題がありたす。{text:{mytext:"JavaRush"}} のネストが存圚する可胜性があり、さらに䞍快なのは、配列内でのネストです: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (もちろん、text.mytext をすべお非衚瀺にする必芁がありたす)。この問題を解決するのはかなり難しいこずが刀明したしたが、私は解決できたした。ここで 2 番目の開発者は次のように述べおいたす: この開発をテストでカバヌしたす。目には圓惑があった。これが私が戊闘で JUnit ラむブラリを知るようになった方法です。単䜓テストの本質: デヌタを入力し、それをメ゜ッドに枡し、受け取ったデヌタず正しい結果を比范したす (正しい結果を持぀倉数を䜜成したす)。私は自分のラむブラリ甚に 11 のケヌスを䜜成し、アプリケヌションが NullPointException でクラッシュしないこず、およびあらゆるタむプのネストでデヌタが正しく隠蔜されるこずを確認したした。このタスクを完了した埌、新しい統合が䞎えられたした。その特城は次のずおりです。倖郚ラむブラリから Spring Bean を゚クスポヌトする必芁がありたした。この時点で、私は Stack OverFlow Web サむトの垞連顧客になりたした。あるずきは、公匏の Spring 開発者さえも反応したした。この統合を実装した埌、詊甚期間は終了したした。䞊叞から詊甚期間終了を祝っおもらい、この蚘事を曞き始めたした。この蚘事を曞くのに合蚈 8 時間かかりたした) ご枅聎ありがずうございたした。この蚘事がお圹に立おば幞いです。このような倧量のコヌドの堎合は、コヌドをクラスに分割する必芁がありたす。クラス倖で䜿甚されないメ゜ッドは、別のクラスなどで誀っお実行されないように、プラむベヌトずしお宣蚀する必芁がありたす。別の統合ず同様に統合を䜜成したので、スタむルをチェックする特別なプラグむンである CheckStyle の存圚に぀いお知りたした。゚ラヌ (䜙分なスペヌス、倧文字の倉数名、短すぎる倉数名など) を修正するたで、プロゞェクトをコンパむルできたせん。CheckStyle に勝利した埌、レビュヌのためにコヌドを䞊玚開発者に送り、1 週間以内に間違いを修正したした。䞀般的に、私のチヌムでは 2 人目の開発者ず良奜な関係にあり、倚くのこずを説明しおくれたのは非垞に幞運でした。デバむスの 1 か月埌、私の最初の統合は統合機胜スタンドで起動され (すべおのアプリケヌションの連携動䜜がテストされおいたす)、そこではすべおが機胜したした。勝利次のタスクは、json 内のキヌによっおデヌタを非衚瀺にするクラスを䜜成するこずでした。䟋: json {text:"JavaRush"} -> 凊理 -> {text:"****Rush"} がありたす。ここには 2 ぀の耇雑な問題がありたす。{text:{mytext:"JavaRush"}} のネストが存圚する可胜性があり、さらに䞍快なのは、配列内でのネストです: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (もちろん、text.mytext をすべお非衚瀺にする必芁がありたす)。この問題を解決するのはかなり難しいこずが刀明したしたが、私は解決できたした。ここで 2 番目の開発者は次のように述べおいたす: この開発をテストでカバヌしたす。目には圓惑があった。これが私が戊闘で JUnit ラむブラリを知るようになった方法です。単䜓テストの本質: デヌタを入力し、それをメ゜ッドに枡し、受け取ったデヌタず正しい結果を比范したす (正しい結果を持぀倉数を䜜成したす)。私は自分のラむブラリ甚に 11 のケヌスを䜜成し、アプリケヌションが NullPointException でクラッシュしないこず、およびあらゆるタむプのネストでデヌタが正しく隠蔜されるこずを確認したした。このタスクを完了した埌、新しい統合が䞎えられたした。その特城は次のずおりです。倖郚ラむブラリから Spring Bean を゚クスポヌトする必芁がありたした。この時点で、私は Stack OverFlow Web サむトの垞連顧客になりたした。あるずきは、公匏の Spring 開発者さえも反応したした。この統合を実装した埌、詊甚期間は終了したした。䞊叞から詊甚期間終了を祝っおもらい、この蚘事を曞き始めたした。この蚘事を曞くのに合蚈 8 時間かかりたした) ご枅聎ありがずうございたした。この蚘事がお圹に立おば幞いです。倉数名が短すぎたす)。CheckStyle に勝利した埌、レビュヌのためにコヌドを䞊玚開発者に送り、1 週間以内に間違いを修正したした。䞀般的に、私のチヌムでは 2 人目の開発者ず良奜な関係にあり、倚くのこずを説明しおくれたのは非垞に幞運でした。デバむスの 1 か月埌、私の最初の統合は統合機胜スタンドで起動され (すべおのアプリケヌションの連携動䜜がテストされおいたす)、そこではすべおが機胜したした。勝利次のタスクは、json 内のキヌによっおデヌタを非衚瀺にするクラスを䜜成するこずでした。䟋: json {text:"JavaRush"} -> 凊理 -> {text:"****Rush"} がありたす。ここには 2 ぀の耇雑な問題がありたす。{text:{mytext:"JavaRush"}} のネストが存圚する可胜性があり、さらに䞍快なのは、配列内でのネストです: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (もちろん、text.mytext をすべお非衚瀺にする必芁がありたす)。この問題を解決するのはかなり難しいこずが刀明したしたが、私は解決できたした。ここで 2 番目の開発者は次のように述べおいたす: この開発をテストでカバヌしたす。目には圓惑があった。これが私が戊闘で JUnit ラむブラリを知るようになった方法です。単䜓テストの本質: デヌタを入力し、それをメ゜ッドに枡し、受け取ったデヌタず正しい結果を比范したす (正しい結果を持぀倉数を䜜成したす)。私は自分のラむブラリ甚に 11 のケヌスを䜜成し、アプリケヌションが NullPointException でクラッシュしないこず、およびあらゆるタむプのネストでデヌタが正しく隠蔜されるこずを確認したした。このタスクを完了した埌、新しい統合が䞎えられたした。その特城は次のずおりです。倖郚ラむブラリから Spring Bean を゚クスポヌトする必芁がありたした。この時点で、私は Stack OverFlow Web サむトの垞連顧客になりたした。あるずきは、公匏の Spring 開発者さえも反応したした。この統合を実装した埌、詊甚期間は終了したした。䞊叞から詊甚期間終了を祝っおもらい、この蚘事を曞き始めたした。この蚘事を曞くのに合蚈 8 時間かかりたした) ご枅聎ありがずうございたした。この蚘事がお圹に立おば幞いです。倉数名が短すぎたす)。CheckStyle に勝利した埌、レビュヌのためにコヌドを䞊玚開発者に送り、1 週間以内に間違いを修正したした。䞀般的に、私のチヌムでは 2 人目の開発者ず良奜な関係にあり、倚くのこずを説明しおくれたのは非垞に幞運でした。デバむスの 1 か月埌、私の最初の統合は統合機胜スタンドで起動され (すべおのアプリケヌションの連携動䜜がテストされおいたす)、そこではすべおが機胜したした。勝利次のタスクは、json 内のキヌによっおデヌタを非衚瀺にするクラスを䜜成するこずでした。䟋: json {text:"JavaRush"} -> 凊理 -> {text:"****Rush"} がありたす。ここには 2 ぀の耇雑な問題がありたす。{text:{mytext:"JavaRush"}} のネストが存圚する可胜性があり、さらに䞍快なのは、配列内でのネストです: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush" "} ] } (もちろん、text.mytext をすべお非衚瀺にする必芁がありたす)。この問題を解決するのはかなり難しいこずが刀明したしたが、私は解決できたした。ここで 2 番目の開発者は次のように述べおいたす: この開発をテストでカバヌしたす。目には圓惑があった。これが私が戊闘で JUnit ラむブラリを知るようになった方法です。単䜓テストの本質: デヌタを入力し、それをメ゜ッドに枡し、受け取ったデヌタず正しい結果を比范したす (正しい結果を持぀倉数を䜜成したす)。私は自分のラむブラリ甚に 11 のケヌスを䜜成し、アプリケヌションが NullPointException でクラッシュしないこず、およびあらゆるタむプのネストでデヌタが正しく隠蔜されるこずを確認したした。このタスクを完了した埌、新しい統合が䞎えられたした。その特城は次のずおりです。倖郚ラむブラリから Spring Bean を゚クスポヌトする必芁がありたした。この時点で、私は Stack OverFlow Web サむトの垞連顧客になりたした。あるずきは、公匏の Spring 開発者さえも反応したした。この統合を実装した埌、詊甚期間は終了したした。䞊叞から詊甚期間終了を祝っおもらい、この蚘事を曞き始めたした。この蚘事を曞くのに合蚈 8 時間かかりたした) ご枅聎ありがずうございたした。この蚘事がお圹に立おば幞いです。この問題を解決するのはかなり難しいこずが刀明したしたが、私は解決できたした。ここで 2 番目の開発者は次のように述べおいたす: この開発をテストでカバヌしたす。目には圓惑があった。これが私が戊闘で JUnit ラむブラリを知るようになった方法です。単䜓テストの本質: デヌタを入力し、それをメ゜ッドに枡し、受け取ったデヌタず正しい結果を比范したす (正しい結果を持぀倉数を䜜成したす)。私は自分のラむブラリ甚に 11 のケヌスを䜜成し、アプリケヌションが NullPointException でクラッシュしないこず、およびあらゆるタむプのネストでデヌタが正しく隠蔜されるこずを確認したした。このタスクを完了した埌、新しい統合が䞎えられたした。その特城は次のずおりです。倖郚ラむブラリから Spring Bean を゚クスポヌトする必芁がありたした。この時点で、私は Stack OverFlow Web サむトの垞連顧客になりたした。あるずきは、公匏の Spring 開発者さえも反応したした。この統合を実装した埌、詊甚期間は終了したした。䞊叞から詊甚期間終了を祝っおもらい、この蚘事を曞き始めたした。この蚘事を曞くのに合蚈 8 時間かかりたした) ご枅聎ありがずうございたした。この蚘事がお圹に立おば幞いです。この問題を解決するのはかなり難しいこずが刀明したしたが、私は解決できたした。ここで 2 番目の開発者は次のように述べおいたす: この開発をテストでカバヌしたす。目には圓惑があった。これが私が戊闘で JUnit ラむブラリを知るようになった方法です。単䜓テストの本質: デヌタを入力し、それをメ゜ッドに枡し、受け取ったデヌタず正しい結果を比范したす (正しい結果を持぀倉数を䜜成したす)。私は自分のラむブラリ甚に 11 のケヌスを䜜成し、アプリケヌションが NullPointException でクラッシュしないこず、およびあらゆるタむプのネストでデヌタが正しく隠蔜されるこずを確認したした。このタスクを完了した埌、新しい統合が䞎えられたした。その特城は次のずおりです。倖郚ラむブラリから Spring Bean を゚クスポヌトする必芁がありたした。この時点で、私は Stack OverFlow Web サむトの垞連顧客になりたした。あるずきは、公匏の Spring 開発者さえも反応したした。この統合を実装した埌、詊甚期間は終了したした。䞊叞から詊甚期間終了を祝っおもらい、この蚘事を曞き始めたした。この蚘事を曞くのに合蚈 8 時間かかりたした) ご枅聎ありがずうございたした。この蚘事がお圹に立おば幞いです。
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION