JavaRush /Blog Java /Random-MS /Caranya, atau bagaimana untuk mendapatkan pekerjaan sebag...
Юрий
Tahap
Москва

Caranya, atau bagaimana untuk mendapatkan pekerjaan sebagai pembangun java pertengahan tanpa pengalaman dalam Java

Diterbitkan dalam kumpulan
Salam kepada semua pelajar dan profesional Java. Mungkin kisah saya akan menjadi contoh untuk beberapa cara untuk melakukannya, dan untuk yang lain - bagaimana untuk tidak melakukannya. Ia adalah 19 Oktober 2021, dan hari ini saya melengkapkan tempoh percubaan (3 bulan) sebagai pembangun pertengahan Java di sebuah syarikat besar. Saya tidak mempunyai pengalaman sebelumnya dalam pembangunan Java. Sehingga 4 Jun 2020, saya tidak tahu apa-apa tentang Java. Apabila saya diupah sebagai Javaist, saya berjanji bahawa jika saya lulus tempoh percubaan, saya akan menulis kisah kejayaan. Artikel ini akan dibahagikan kepada dua bahagian logik: Latar belakang kerjaya ( bab 1-5, tidak berkaitan dengan Java, tetapi di mana anda boleh memperoleh pengetahuan tentang kerjaya anda). Menjadi Javaist (bab 6-9 - belajar Java, temu duga, mendapatkan pekerjaan, pengalaman sebenar pertama). <h3>Bab 1. Ahli Ekonomi</h3>Untuk memahami tahap pengetahuan yang saya gunakan untuk JavaRush, saya perlu memberikan nota biografi tentang diri saya. 2013, November, 8 pagi. Saya sedang duduk di kedai kopi di Taganka dan mengulangi arahan SQL. Dalam sejam saya ada temuduga untuk jawatan ahli ekonomi terkemuka di bahagian kewangan bank. Ini adalah satu-satunya temuduga yang saya jemput, dan saya perlu memberikannya 100%. Demi dia, saya terbang dari St. Petersburg dan tinggal bersama saudara-mara di dapur, supaya tidak menghabiskan simpanan saya yang sudah kecil. 30 minit berlalu, penkek dengan ham dan keju dimakan dan kita perlu bergerak ke arah impian kita yang dihargai. Tetapi semuanya bergegar. Bagaimana jika saya gagal temu duga? Okay, bukan. Saya pergi ke bank, mendapatkan pas, dan menunggu orang yang ditemuduga saya di bilik mesyuarat. Masa berlalu untuk masa yang sangat lama. Seorang lelaki berumur kira-kira 35 dan seorang wanita sebaya masuk. Mereka memperkenalkan diri mereka dan meminta untuk memberitahu anda tentang diri mereka: "Yuri, ia adalah satu keseronokan." Saya berumur 21 tahun, saya belajar sambilan di sebuah universiti di St. Petersburg, saya bekerja selama 3 bulan sebagai juruwang di sebuah bank. Saya menyedari bahawa ini bukan tujuan saya belajar, saya mula melihat pasaran kerja dan melihat bahawa di Moscow ahli ekonomi mempunyai SQL sebagai keperluan. Jadi saya mempelajarinya, pergi ke kursus (MS SQL Administration - itulah yang saya ada, itulah yang saya pergi), dan anda menelefon saya. Mereka bercakap tentang syarikat, apa yang mereka lakukan (kebanyakan perkataan tidak dapat difahami), dan kemudian meminta anda untuk mengambil ujian. Ujian ini mempunyai 3 soalan mengenai SQL: 1. Diberi jadual, cabut semua rekod dengan id = 10. 2. Diberi dua jadual, sambungkannya dan paparkan lajur daripada setiap satu. 3. Kumpulkan jabatan dan berikan bilangan pekerja bagi setiap jabatan. Sungguh memalukan saya menulis permintaan ini. Ini diikuti dengan perbincangan mengenai jangkaan saya daripada pekerjaan itu. Dan mereka memberitahu saya frasa ajaib: "Terima kasih atas temu bual, kami akan menghubungi anda kembali." Seminggu berlalu, dan mereka menawarkan saya untuk datang bekerja dengan mereka. Euforia, kejutan, kegembiraan! Dan untuk wang apa: 70 ribu rubel di tangan! Ya, saya akan menjadi kaya! Saya datang ke Moscow, menetap, menyewa bilik di tengah. Hari-hari pertama adalah euforia. Selepas 10 hari, kesedaran bermula: ke mana saya datang? Saya tidak faham apa-apa! Saya terpaksa menyediakan laporan pengurusan untuk keseluruhan bank setiap bulan. Sememangnya, bagi saya ia adalah sama seperti anda, pembaca yang budiman. Saya menganggap istilah kredit antara bank, swap, peruntukan perbelanjaan, kos, dsb. sebagai ejaan dalam bahasa Latin. Sepanjang perjalanan, saya perlu menguasai bahagian teknikal isu: MS Access (semua pelaporan dilakukan di sana melalui VBA), MS SQL (sebagai storan baharu, bukannya Access), Oracle (yang pada mulanya saya panggil Oracle, menyebabkan histeria dalam kalangan pengaturcara). Dan tiba-tiba saya mula memahami bahawa bahagian teknikal adalah lebih menarik kepada saya. Terdapat percubaan untuk mencipta pertanyaan yang kompleks (akibatnya, pangkalan data tergantung dari skrip saya, dan pentadbir yang marah berlari-lari cuba mencari tahu siapa yang melakukannya). Tetapi tugas utama adalah kewangan, yang baru mula membuat saya marah. Selepas sebulan setengah, saya menulis surat peletakan jawatan, kerana saya tidak dapat memberikan apa-apa keputusan (dan mereka tidak benar-benar mengharapkan apa-apa daripada saya, sejujurnya). Ketua jabatan kewangan mengoyakkannya dan berkata: "jangan ambil peduli dengan omong kosong." Sebulan kemudian, saya menulis kenyataan sekali lagi, dan ketua jabatan, yang terkejut dengan sikap kurang ajar itu (yang kemudiannya menjadi pengerusi lembaga bank), menandatangani dengan kebingungan yang melampau: lelaki itu berumur 21 tahun, tanpa lebih tinggi. pendidikan, mereka diberi gaji dan amanah, tetapi dia bersikap begini. Sebab-sebab pemecatan adalah dua lagi faktor: bos, yang keangkuhannya saya tidak dapat bertindak balas dengan tenang, dan kerusi yang tidak selesa, dari mana belakang saya mula sakit. Ini sangat lucu, tetapi inilah motifnya. Apabila saya berhenti, saya fikir sekarang saya akan menjadi lebih selesa. Tetapi ia tidak ada di sana. <h3>Bab 2. 70 wawancara</h3>Meninggalkan bank, saya menarik nafas panjang. "Saya akan mengaturnya dengan cara ini, semua orang akan terpegun." Temu bual telah dijadualkan, gaji mereka lebih tinggi, dan nampaknya tidak perlu berurusan dengan pelaporan. Terdapat 4 temuduga dan tiada siapa yang mengambil saya. 5, 6 temu bual - perkara yang sama. Saya tinggal bersama seorang gadis di bilik sewa, dan dia mendapat pekerjaan dan boleh menampung kekurangan pendapatan saya. Tetapi saya masih tidak tahu berapa lama saya tidak akan mempunyai pendapatan. Saya pergi ke temu duga (jawatan kosong ala penganalisis), dan mereka bertanya terutamanya tentang SQL dan VBA. Bagi mereka yang tidak sedar, VBA ialah bahasa pengaturcaraan dalam Excel, Access dan produk MS Office yang lain. 10 temuduga diadakan - tiada apa-apa. 20, 30 - tiada apa-apa. Semua orang berasa malu dengan kekurangan pengalaman dan pendidikan tinggi (yang kelihatan seperti perkara kecil bagi saya). 40 wawancara, dan keputusasaan mula menyelinap masuk. Dalam tempoh 55-60 temuduga saya mula belajar 1C. Gadis itu, yang sudah menjadi isteri, meminta untuk pergi ke St. Petersburg, kerana sekurang-kurangnya dia mempunyai perumahan sendiri di sana. Dan pada temu bual ke-70, saya telah dijemput untuk menjadi pentadbir pangkalan data 1C (dengan prospek menjadi pemaju 1C) di sebuah syarikat kecil di zon perindustrian St. Petersburg untuk 50,000 rubel. Sekarang itulah pertumbuhan kerjaya! <h3>Bab 3. Return of the Legend</h3>Melihat ke luar tingkap bas mini (pengangkutan korporat) di zon perindustrian St. Petersburg kelabu, dan melakukan perjalanan satu jam empat puluh satu arah, saya menyedari bahawa saya tidak dapat hidup macam tu. Minat terhadap 1C hilang pada sentuhan pertama sistem tulisan sendiri. Satu rancangan diperlukan. Dan dia matang: pada waktu petang dia belajar SQL, dan pada masa yang sama memantau tapak kerja yang terkenal. Pencetus terakhir untuk pemecatan adalah situasi: pengarah besar tidak mahu saya pergi bercuti yang dirancang, walaupun tiket telah dibeli. Selepas percutian saya, saya menulis permohonan dan sekali lagi menghantar resume saya untuk kekosongan Moscow. Sekali lagi saya ditawarkan temu duga di sebuah bank besar di Moscow masa. Sekali lagi saya datang ke dapur saudara saya dan pergi untuk temuduga. Apabila hr menulis alamat, saya tidak percaya mata saya - ini adalah bangunan yang saya impikan untuk bekerja (pada masa kediaman terakhir saya di Moscow ia baru dalam pembinaan). Jawatan itu dipanggil ketua pakar sokongan sistem maklumat. Saya pergi ke pejabat Saya disambut oleh seorang lelaki berusia kira-kira 30 tahun dengan jaket dan seluar jeans yang bergaya. Kami naik ke tingkat 15, dan apabila saya melihat panorama bandar, ia membuatkan saya tersentuh: semua bangunan bertingkat Stalinis kelihatan. Keseluruhan gaya bangunan itu sangat moden: di pejabat bos terdapat peti sejuk wain, akuarium bergaya, lukisan wanita telanjang dalam gaya hitam dan putih. Ini menyebabkan kesan "wow". Perbualan dengan bos tidak berlaku seperti biasa: selama kira-kira 40 minit dia bercakap tentang apa yang berlaku di bank. Saya tidak faham apa-apa, tetapi menganggukkan kepala saya. Apabila saya bertanya: bilakah anda akan mula bertanya kepada saya? Dia tidak memberi perhatian. Sekali lagi, untuk soalan saya "bila temuduga teknikal?", jawapannya ialah "ya, kami akan mengupah anda juga, jika anda tidak dapat mengendalikannya, kami akan memecat anda." Ia dikatakan dengan senyuman, dan saya menyedari bahawa segala-galanya, impian itu menjadi kenyataan semula! <h3>Bab 4. Mencari diri anda dalam IT </h3>Apabila saya tiba di tempat baharu, saya faham mengapa mereka mengupah saya dengan segera. Saya akan menerangkan potret tipikal pekerja jabatan: umur purata 55 tahun, Muscovite, pendidikan Universiti Negeri Moscow, bekerja di institut penyelidikan pertahanan pada zaman Soviet, dan peralihan ke sektor perbankan pada 90-an, telah bekerja di sini selama 20 tahun tahun.Separuh lelaki, separuh perempuan. Mereka memasuki percanggahan sepenuhnya dengan kawasan pedalaman di sekelilingnya. Kami terlibat dalam mengekalkan program pelaporan untuk perakaunan. Sememangnya, ini semua dalam skrip VBA dan SQL purba yang ditulis oleh pembangun pada akhir 90-an dan awal 2000-an. Ia adalah 2015, dan automasi adalah melalui MS Access. Iaitu, ia kelihatan sangat miskin. Tetapi ada satu nuansa - mereka menyediakan apa yang pelanggan (perakaunan) mahu. Dan tepat pada masanya dan dalam bentuk yang diperlukan. Hanya mereka yang tahu bagaimana ia berfungsi, malah Onotole tidak dapat membayangkan kerumitan perkembangan mereka. Dan mana-mana pengurus IT, walaupun dengan keinginan yang paling besar, tidak dapat memecat mereka - ketua akauntan pergi ke lembaga bank dan mempertahankan mana-mana pekerja yang berkhidmat untuk kepentingan jabatan perakaunan. Pengurus mahu saya memainkan peranan sebagai kuda Trojan: Saya mengkaji semua perkembangan mereka, dan kemudian memindahkan data ke sistem baharu. Kemudian pekerja lama boleh dipecat, dan saya boleh dipindahkan ke sistem baru. Pertama, saya menyelidiki proses mereka dan melihat kod VBA. Secara beransur-ansur saya belajar membaca kod VBA. Setahun kemudian saya sudah tahu cara menulis kod itu sendiri. Tugas biasa: diberi pangkalan data, ekstrak data daripadanya dan masukkan ke dalam Excel dalam format tertentu. Sekarang, seperti yang dikatakan Zadornov, tarik nafas dalam-dalam: semua pelaporan jabatan (dan itu 50 laporan harian, 20 bulanan!) telah dijalankan secara manual! Karl, adakah anda faham bahawa orang menukar tarikh kepada +1 setiap hari dengan tangan mereka dalam 50 laporan! Mereka duduk, menunggu keputusan satu laporan selama 1-10 minit, dan melancarkan satu lagi! Lebih-lebih lagi, laporan harian mesti dilancarkan pada masa tertentu, dan Allah melarang anda lewat! Mereka bukan sahaja membuat laporan, mereka menjalankan prosedur secara manual dalam pangkalan data tanpa menggunakan pembolehubah! Iaitu, daripada menggunakan pembolehubah @startDate = '2015-01-01', mereka akan menukar tarikh yang sama secara manual di 20 tempat! Selepas melihat semua ini, saya mula belajar Python, dan bersama-sama dengan VBA, SQL dan penjadual Tugas, saya mengautomasikan semua ini dalam dua tahun. Bukan sahaja mengautomasikan, tetapi juga mempercepatkan banyak laporan: jika anda meninggalkan MS Access + VBA memihak kepada MS SQL + TSQL, anda boleh mencapai peningkatan berganda dalam produktiviti. Rekod saya sedang mempercepatkan penciptaan laporan masuk100sekali! Tetapi rakan sekerja saya sangat tidak berpuas hati dengan automasi sedemikian, jadi saya diisytiharkan sebagai musuh rakyat (mereka mahu duduk diam sehingga bersara). Masa berlalu dan pemindahan data berjaya. Pengurus sangat menghargai saya: jika pada permulaan kerjaya saya saya datang bekerja pada pukul 8 pagi, maka selepas beberapa ketika saya boleh datang pada bila-bila masa sehingga pukul 12:00, kenaikan gaji dan kedudukan yang berterusan, bayaran untuk bekerja pada hujung minggu lebih banyak daripada dua kali ganda jumlah, teksi ke rumah jika anda lewat di tempat kerja, komunikasi mudah alih, ringkasnya - golongan elit! <h3>Bab 5. The Golden Cage</h3>Tiba-tiba, selepas 3.5 tahun, pengurusan IT baharu datang dan mengatakan bahawa sistem yang saya pindahkan data tidak lagi diperlukan. Tetapi sistem lama akan kekal. Pengurus saya sedang menaiki tangga kerjaya dan menjemput saya untuk berpindah ke jabatan yang lebih progresif. Pada pertemuan dengan ketua jabatan progresif, saya faham bahawa susunan teknologi jabatan ini tidak saya ketahui: Oracle, .net, C#, Linux, dll. + Antipati terhadap bakal bos. Saya memberitahu pengurus saya bahawa saya tidak berminat dengan jabatan progresif, dan dia mudah melupakan saya. Dan kemudian persoalannya menjadi: apa yang perlu dilakukan seterusnya? Pendapatan sudah lumayan, Junior dev tidak akan mengupah saya untuk gaji itu. Selepas memikirkan kemahiran saya, saya menyedari bahawa saya perlu pergi ke pembelajaran mesin. Segala-galanya menarik sehingga pertemuan pertama dengan statistik matematik, yang hanya menimbulkan rasa jijik di institut. Itu sahaja, pengsan selama enam bulan! Masa berlalu, dan suatu hari, semasa berjalan, saya terfikir tentang laman web yang akan memaparkan restoran yang bagus pada peta Moscow. Mula belajar HTML, CSS, JS. Saya menghabiskan 3 bulan belajar; Saya tidak mempunyai pengetahuan untuk mencipta tapak web yang lengkap, tetapi saya boleh mempraktikkannya di tempat kerja. Idea telah dilahirkan: untuk mencipta portal untuk akauntan supaya mereka boleh memuat turun sebarang laporan untuk diri mereka sendiri menggunakan butang. Ia mengambil masa 2 bulan untuk mencipta portal dan aplikasi web SPA (Single page application) dilahirkan dalam React js dengan bahagian belakang Node.js. Skrip SQL yang ditarik kembali (saya tidak tahu tentang rangka kerja seperti Hibernate), melancarkan Python dan menyimpan maklumat tambahan dalam MongoDb (contohnya, tentang pengguna tapak). Secara luaran, tapak itu kelihatan sangat baik (bootstrap 4, animasi bergaya). Saya masih berbangga dengan projek ini. Tetapi apabila saya menunjukkan kod saya kepada pembangun web bank, mereka terpegun. BUKAN SATU KELAS ANDA SENDIRI! Hanya ciri, hanya tegar! Mereka memuji saya, tetapi mengatakan bahawa saya masih perlu banyak belajar untuk menjadi pembangun susunan penuh Tengah. Saya cuba mendapatkan pekerjaan sebagai penganalisis, tetapi tiada tawaran istimewa. Saya fikir: Saya tidak berada di sana, saya akan menyiarkan resume saya bagi pembangun tindanan penuh. Panggilan datang, tetapi semasa temu bual saya terbang seperti papan lapis ke Paris: contohnya, saya tidak tahu apa itu HashMap, HashSet dan mengapa ia diperlukan. Tidak ada idea sedikit pun tentang OOP, corak pengaturcaraan, algoritma, ujian, Git. Saya teringat perasaan malu yang telah lama dilupakan kerana tidak mengetahui perkara asas. Tiba-tiba tawaran masuk untuk pekerjaan sebagai ketua analisis pelanggan di sebuah syarikat kewangan. Seminggu sebelum negara ditutup akibat pandemik. Saya mendapat pekerjaan di sebuah syarikat kewangan, tetapi terdapat perasaan berganda: di satu pihak, gaji yang tinggi adalah hangat, sebaliknya, akan ada pembangunan yang minimum dari segi teknikal. Seminggu berlalu selepas peranti dipasang dan kerja jauh diperkenalkan. Memandangkan hari tidak bekerja tidak terpakai kepada sektor kewangan, kami bekerja seperti biasa. Bos baru itu ternyata seorang yang sangat gila: dia menawarkan untuk mengikis Facebook, mencipta rangkaian sarafnya sendiri untuk mengkaji pelanggan (tanpa saintis data mengenai kakitangan). Pekerja baharu ditawarkan untuk belajar Python dalam seminggu, dsb. Hari cuti tanpa gaji menjadi kebiasaan. Adalah bodoh untuk berhenti: di mana anda akan mendapat pekerjaan semasa pandemik? Tetapi kesabaran telah habis selepas 2 bulan, apabila diumumkan bahawa tidak akan ada bonus suku tahunan. Nuansanya ialah apabila kita bersetuju dengan gaji, pada masa pengambilan pekerja, hr mengatakan bahawa gaji dibahagikan kepada gaji (60%) dan bonus suku tahunan (40%), yang selalu dibayar. Ia menjadi jelas bahawa pilihan yang salah telah dibuat dan kami perlu mula mencari pekerjaan baharu. <h3>Bab 6. Mula menguasai Java</h3>Suatu hari yang baik pada bulan Mei, saya menerima jemputan untuk temu duga untuk kekosongan "Pembangun". Sebuah syarikat dalam industri insurans memerlukan seseorang yang akan membangunkan produk insurans. Pengalaman pengaturcaraan diperlukan, tetapi kerana ini adalah pembangunan "unik" syarikat, tidak ada keperluan untuk bahasa tertentu. Git dan sebagainya juga diperlukan. Saya menjadualkan temu duga dalam dua hari, dan saya mempelajari asas Git pada masa lapang saya. Semasa temu bual, saya ditanya tentang Python, JS, Git, SQL. Saya menjawab segala-galanya kecuali konsep "membebankan kaedah", dan saya dijemput untuk bekerja dalam masa 2 minggu. Ternyata syarikat itu telah lama membeli sistem tersebut. ditulis dalam Java (depan dan belakang), yang mana anda boleh membuat proses perniagaan tanpa mengetahui bahasa pengaturcaraan (lebih tepat, menggunakan bahasa pengaturcaraan Jelly terbina dalam). Bunyinya bagus, tetapi sebenarnya semuanya telah diputarbelitkan. Penyimpangan lirik: mana-mana teknologi mempunyai eranya sendiri dan skalanya sendiri. Melakukan semua pelaporan pada tahun 2000 hanya dalam Excel adalah bagus. Melakukan perkara yang sama pada tahun 2021 adalah tidak begitu baik. Tapak web syarikat dalam HTML tulen adalah hebat pada tahun 1999, tetapi tidak pada tahun 2021. Jadi, teknologi yang digunakan syarikat pada masa penciptaannya (2005) adalah sangat keren - Java bertanggungjawab untuk kedua-dua pelayan dan bahagian klien (yang dipanggil halaman servlet Java). Selain itu, jika anda mencipta proses perniagaan baharu (yang mempunyai UI sendiri), maka ia disimpan di dalam pangkalan data, dan bukan dalam kod dalam fail. Untuk memahami betapa menyusahkan perkara ini, bayangkan anda menulis kod Java dalam idea Intellij, simpannya ke Pangkalan Data, dan kemudian. apabila anda ingin menjalankan kod anda, kernel program pergi ke pangkalan data dan membaca kod anda dari sana. Oleh itu, anda tidak boleh nyahpepijat aplikasi anda sepenuhnya. Petunjuk #1: Apabila anda ingin menyerahkan kod ke testbench, anda perlu mencipta sebaliknya, akan ada pembangunan yang minimum dari segi teknikal. Seminggu berlalu selepas peranti dipasang dan kerja jauh diperkenalkan. Memandangkan hari tidak bekerja tidak terpakai kepada sektor kewangan, kami bekerja seperti biasa. Bos baru itu ternyata seorang yang sangat gila: dia menawarkan untuk mengikis Facebook, mencipta rangkaian sarafnya sendiri untuk mengkaji pelanggan (tanpa saintis data mengenai kakitangan). Pekerja baharu ditawarkan untuk belajar Python dalam seminggu, dsb. Hari cuti tanpa gaji menjadi kebiasaan. Adalah bodoh untuk berhenti: di mana anda akan mendapat pekerjaan semasa pandemik? Tetapi kesabaran telah habis selepas 2 bulan, apabila diumumkan bahawa tidak akan ada bonus suku tahunan. Nuansanya ialah apabila kita bersetuju dengan gaji, pada masa pengambilan pekerja, hr mengatakan bahawa gaji dibahagikan kepada gaji (60%) dan bonus suku tahunan (40%), yang selalu dibayar. Ia menjadi jelas bahawa pilihan yang salah telah dibuat dan kami perlu mula mencari pekerjaan baharu. <h3>Bab 6. Mula menguasai Java</h3>Suatu hari yang baik pada bulan Mei, saya menerima jemputan untuk temu duga untuk kekosongan "Pembangun". Sebuah syarikat dalam industri insurans memerlukan seseorang yang akan membangunkan produk insurans. Pengalaman pengaturcaraan diperlukan, tetapi kerana ini adalah pembangunan "unik" syarikat, tidak ada keperluan untuk bahasa tertentu. Git dan sebagainya juga diperlukan. Saya menjadualkan temu duga dalam dua hari, dan saya mempelajari asas Git pada masa lapang saya. Semasa temu bual, saya ditanya tentang Python, JS, Git, SQL. Saya menjawab segala-galanya kecuali konsep "membebankan kaedah", dan saya dijemput untuk bekerja dalam masa 2 minggu. Ternyata syarikat itu telah lama membeli sistem tersebut. ditulis dalam Java (depan dan belakang), yang mana anda boleh membuat proses perniagaan tanpa mengetahui bahasa pengaturcaraan (lebih tepat, menggunakan bahasa pengaturcaraan Jelly terbina dalam). Bunyinya bagus, tetapi sebenarnya semuanya telah diputarbelitkan. Penyimpangan lirik: mana-mana teknologi mempunyai eranya sendiri dan skalanya sendiri. Melakukan semua pelaporan pada tahun 2000 hanya dalam Excel adalah bagus. Melakukan perkara yang sama pada tahun 2021 adalah tidak begitu baik. Tapak web syarikat dalam HTML tulen adalah hebat pada tahun 1999, tetapi tidak pada tahun 2021. Jadi, teknologi yang digunakan syarikat pada masa penciptaannya (2005) adalah sangat keren - Java bertanggungjawab untuk kedua-dua pelayan dan bahagian klien (yang dipanggil halaman servlet Java). Selain itu, jika anda mencipta proses perniagaan baharu (yang mempunyai UI sendiri), maka ia disimpan di dalam pangkalan data, dan bukan dalam kod dalam fail. Untuk memahami betapa menyusahkan perkara ini, bayangkan anda menulis kod Java dalam idea Intellij, simpannya ke Pangkalan Data, dan kemudian. apabila anda ingin menjalankan kod anda, kernel program pergi ke pangkalan data dan membaca kod anda dari sana. Oleh itu, anda tidak boleh nyahpepijat aplikasi anda sepenuhnya. Petunjuk #1: Apabila anda ingin menyerahkan kod ke testbench, anda perlu mencipta sebaliknya, akan ada pembangunan yang minimum dari segi teknikal. Seminggu berlalu selepas peranti dipasang dan kerja jauh diperkenalkan. Memandangkan hari tidak bekerja tidak terpakai kepada sektor kewangan, kami bekerja seperti biasa. Bos baru itu ternyata seorang yang sangat gila: dia menawarkan untuk mengikis Facebook, mencipta rangkaian sarafnya sendiri untuk mengkaji pelanggan (tanpa saintis data mengenai kakitangan). Pekerja baharu ditawarkan untuk belajar Python dalam seminggu, dsb. Hari cuti tanpa gaji menjadi kebiasaan. Adalah bodoh untuk berhenti: di mana anda akan mendapat pekerjaan semasa pandemik? Tetapi kesabaran telah habis selepas 2 bulan, apabila diumumkan bahawa tidak akan ada bonus suku tahunan. Nuansanya ialah apabila kita bersetuju dengan gaji, pada masa pengambilan pekerja, hr mengatakan bahawa gaji dibahagikan kepada gaji (60%) dan bonus suku tahunan (40%), yang selalu dibayar. Ia menjadi jelas bahawa pilihan yang salah telah dibuat dan kami perlu mula mencari pekerjaan baharu. <h3>Bab 6. Mula menguasai Java</h3>Suatu hari yang baik pada bulan Mei, saya menerima jemputan untuk temu duga untuk kekosongan "Pembangun". Sebuah syarikat dalam industri insurans memerlukan seseorang yang akan membangunkan produk insurans. Pengalaman pengaturcaraan diperlukan, tetapi kerana ini adalah pembangunan "unik" syarikat, tidak ada keperluan untuk bahasa tertentu. Git dan sebagainya juga diperlukan. Saya menjadualkan temu duga dalam dua hari, dan saya mempelajari asas Git pada masa lapang saya. Semasa temu bual, saya ditanya tentang Python, JS, Git, SQL. Saya menjawab segala-galanya kecuali konsep "membebankan kaedah", dan saya dijemput untuk bekerja dalam masa 2 minggu. Ternyata syarikat itu telah lama membeli sistem tersebut. ditulis dalam Java (depan dan belakang), yang mana anda boleh membuat proses perniagaan tanpa mengetahui bahasa pengaturcaraan (lebih tepat, menggunakan bahasa pengaturcaraan Jelly terbina dalam). Bunyinya bagus, tetapi sebenarnya semuanya telah diputarbelitkan. Penyimpangan lirik: mana-mana teknologi mempunyai eranya sendiri dan skalanya sendiri. Melakukan semua pelaporan pada tahun 2000 hanya dalam Excel adalah bagus. Melakukan perkara yang sama pada tahun 2021 adalah tidak begitu baik. Tapak web syarikat dalam HTML tulen adalah hebat pada tahun 1999, tetapi tidak pada tahun 2021. Jadi, teknologi yang digunakan syarikat pada masa penciptaannya (2005) adalah sangat keren - Java bertanggungjawab untuk kedua-dua pelayan dan bahagian klien (yang dipanggil halaman servlet Java). Selain itu, jika anda mencipta proses perniagaan baharu (yang mempunyai UI sendiri), maka ia disimpan di dalam pangkalan data, dan bukan dalam kod dalam fail. Untuk memahami betapa menyusahkan perkara ini, bayangkan anda menulis kod Java dalam idea Intellij, simpannya ke Pangkalan Data, dan kemudian. apabila anda ingin menjalankan kod anda, kernel program pergi ke pangkalan data dan membaca kod anda dari sana. Oleh itu, anda tidak boleh nyahpepijat aplikasi anda sepenuhnya. Petunjuk #1: Apabila anda ingin menyerahkan kod ke testbench, anda perlu mencipta cipta rangkaian saraf anda sendiri untuk mengkaji pelanggan (tanpa saintis data mengenai kakitangan). Pekerja baharu ditawarkan untuk belajar Python dalam seminggu, dsb. Hari cuti tanpa gaji menjadi kebiasaan. Adalah bodoh untuk berhenti: di mana anda akan mendapat pekerjaan semasa pandemik? Tetapi kesabaran telah habis selepas 2 bulan, apabila diumumkan bahawa tidak akan ada bonus suku tahunan. Nuansanya ialah apabila kita bersetuju dengan gaji, pada masa pengambilan pekerja, hr mengatakan bahawa gaji dibahagikan kepada gaji (60%) dan bonus suku tahunan (40%), yang selalu dibayar. Ia menjadi jelas bahawa pilihan yang salah telah dibuat dan kami perlu mula mencari pekerjaan baharu. <h3>Bab 6. Mula menguasai Java</h3>Suatu hari yang baik pada bulan Mei, saya menerima jemputan untuk temu duga untuk kekosongan "Pembangun". Sebuah syarikat dalam industri insurans memerlukan seseorang yang akan membangunkan produk insurans. Pengalaman pengaturcaraan diperlukan, tetapi kerana ini adalah pembangunan "unik" syarikat, tidak ada keperluan untuk bahasa tertentu. Git dan sebagainya juga diperlukan. Saya menjadualkan temu duga dalam dua hari, dan saya mempelajari asas Git pada masa lapang saya. Semasa temu bual, saya ditanya tentang Python, JS, Git, SQL. Saya menjawab segala-galanya kecuali konsep "membebankan kaedah", dan saya dijemput untuk bekerja dalam 2 minggu. Ternyata syarikat itu telah lama membeli sistem tersebut. ditulis dalam Java (depan dan belakang), yang mana anda boleh membuat proses perniagaan tanpa mengetahui bahasa pengaturcaraan (lebih tepat, menggunakan bahasa pengaturcaraan Jelly terbina dalam). Bunyinya bagus, tetapi sebenarnya semuanya telah diputarbelitkan. Penyimpangan lirik: mana-mana teknologi mempunyai eranya sendiri dan skalanya sendiri. Melakukan semua pelaporan pada tahun 2000 hanya dalam Excel adalah bagus. Melakukan perkara yang sama pada tahun 2021 adalah tidak begitu baik. Tapak web syarikat dalam HTML tulen adalah hebat pada tahun 1999, tetapi tidak pada tahun 2021. Jadi, teknologi yang digunakan syarikat pada masa penciptaannya (2005) adalah sangat keren - Java bertanggungjawab untuk kedua-dua pelayan dan bahagian klien (yang dipanggil halaman servlet Java). Selain itu, jika anda mencipta proses perniagaan baharu (yang mempunyai UI sendiri), maka ia disimpan di dalam pangkalan data, dan bukan dalam kod dalam fail. Untuk memahami betapa menyusahkan perkara ini, bayangkan anda menulis kod Java dalam idea Intellij, simpannya ke Pangkalan Data, dan kemudian. apabila anda ingin menjalankan kod anda, kernel program pergi ke pangkalan data dan membaca kod anda dari sana. Oleh itu, anda tidak boleh nyahpepijat aplikasi anda sepenuhnya. Petunjuk #1: Apabila anda ingin menyerahkan kod ke testbench, anda perlu mencipta cipta rangkaian saraf anda sendiri untuk mengkaji pelanggan (tanpa saintis data mengenai kakitangan). Pekerja baharu ditawarkan untuk belajar Python dalam seminggu, dsb. Hari cuti tanpa gaji menjadi kebiasaan. Adalah bodoh untuk berhenti: di mana anda akan mendapat pekerjaan semasa pandemik? Tetapi kesabaran telah habis selepas 2 bulan, apabila diumumkan bahawa tidak akan ada bonus suku tahunan. Nuansanya ialah apabila kita bersetuju dengan gaji, pada masa pengambilan pekerja, hr mengatakan bahawa gaji dibahagikan kepada gaji (60%) dan bonus suku tahunan (40%), yang selalu dibayar. Ia menjadi jelas bahawa pilihan yang salah telah dibuat dan kami perlu mula mencari pekerjaan baharu. <h3>Bab 6. Mula menguasai Java</h3>Suatu hari yang baik pada bulan Mei, saya menerima jemputan untuk temu duga untuk kekosongan "Pembangun". Sebuah syarikat dalam industri insurans memerlukan seseorang yang akan membangunkan produk insurans. Pengalaman pengaturcaraan diperlukan, tetapi kerana ini adalah pembangunan "unik" syarikat, tidak ada keperluan untuk bahasa tertentu. Git dan sebagainya juga diperlukan. Saya menjadualkan temu duga dalam dua hari, dan saya mempelajari asas Git pada masa lapang saya. Semasa temu bual, saya ditanya tentang Python, JS, Git, SQL. Saya menjawab segala-galanya kecuali konsep "membebankan kaedah", dan saya dijemput untuk bekerja dalam masa 2 minggu. Ternyata syarikat itu telah lama membeli sistem tersebut. ditulis dalam Java (depan dan belakang), yang mana anda boleh membuat proses perniagaan tanpa mengetahui bahasa pengaturcaraan (lebih tepat, menggunakan bahasa pengaturcaraan Jelly terbina dalam). Bunyinya bagus, tetapi sebenarnya semuanya telah diputarbelitkan. Penyimpangan lirik: mana-mana teknologi mempunyai eranya sendiri dan skalanya sendiri. Melakukan semua pelaporan pada tahun 2000 hanya dalam Excel adalah bagus. Melakukan perkara yang sama pada tahun 2021 adalah tidak begitu baik. Tapak web syarikat dalam HTML tulen adalah hebat pada tahun 1999, tetapi tidak pada tahun 2021. Jadi, teknologi yang digunakan syarikat pada masa penciptaannya (2005) adalah sangat keren - Java bertanggungjawab untuk kedua-dua pelayan dan bahagian klien (yang dipanggil halaman servlet Java). Selain itu, jika anda mencipta proses perniagaan baharu (yang mempunyai UI sendiri), maka ia disimpan di dalam pangkalan data, dan bukan dalam kod dalam fail. Untuk memahami betapa menyusahkan perkara ini, bayangkan anda menulis kod Java dalam idea Intellij, simpannya ke Pangkalan Data, dan kemudian. apabila anda ingin menjalankan kod anda, kernel program pergi ke pangkalan data dan membaca kod anda dari sana. Oleh itu, anda tidak boleh nyahpepijat aplikasi anda sepenuhnya. Petunjuk #1: Apabila anda ingin menyerahkan kod ke testbench, anda perlu mencipta <h3>Bab 6. Mula menguasai Java</h3>Suatu hari yang baik pada bulan Mei, saya menerima jemputan untuk temu duga untuk kekosongan "Pembangun". Sebuah syarikat dalam industri insurans memerlukan seseorang yang akan membangunkan produk insurans. Pengalaman pengaturcaraan diperlukan, tetapi kerana ini adalah pembangunan "unik" syarikat, tidak ada keperluan untuk bahasa tertentu. Git dan sebagainya juga diperlukan. Saya menjadualkan temu duga dalam dua hari, dan saya mempelajari asas Git pada masa lapang saya. Semasa temu bual, saya ditanya tentang Python, JS, Git, SQL. Saya menjawab segala-galanya kecuali konsep "membebankan kaedah", dan saya dijemput untuk bekerja dalam masa 2 minggu. Ternyata syarikat itu telah lama membeli sistem tersebut. ditulis dalam Java (depan dan belakang), yang mana anda boleh membuat proses perniagaan tanpa mengetahui bahasa pengaturcaraan (lebih tepat, menggunakan bahasa pengaturcaraan Jelly terbina dalam). Bunyinya bagus, tetapi sebenarnya semuanya telah diputarbelitkan. Penyimpangan lirik: mana-mana teknologi mempunyai eranya sendiri dan skalanya sendiri. Melakukan semua pelaporan pada tahun 2000 hanya dalam Excel adalah bagus. Melakukan perkara yang sama pada tahun 2021 adalah tidak begitu baik. Tapak web syarikat dalam HTML tulen adalah hebat pada tahun 1999, tetapi tidak pada tahun 2021. Jadi, teknologi yang digunakan syarikat pada masa penciptaannya (2005) adalah sangat keren - Java bertanggungjawab untuk kedua-dua pelayan dan bahagian klien (yang dipanggil halaman servlet Java). Selain itu, jika anda mencipta proses perniagaan baharu (yang mempunyai UI sendiri), maka ia disimpan di dalam pangkalan data, dan bukan dalam kod dalam fail. Untuk memahami betapa menyusahkan perkara ini, bayangkan anda menulis kod Java dalam idea Intellij, simpannya ke Pangkalan Data, dan kemudian. apabila anda ingin menjalankan kod anda, kernel program pergi ke pangkalan data dan membaca kod anda dari sana. Oleh itu, anda tidak boleh nyahpepijat aplikasi anda sepenuhnya. Petunjuk #1: Apabila anda ingin menyerahkan kod ke testbench, anda perlu mencipta <h3>Bab 6. Mula menguasai Java</h3>Suatu hari yang baik pada bulan Mei, saya menerima jemputan untuk temu duga untuk kekosongan "Pembangun". Sebuah syarikat dalam industri insurans memerlukan seseorang yang akan membangunkan produk insurans. Pengalaman pengaturcaraan diperlukan, tetapi kerana ini adalah pembangunan "unik" syarikat, tidak ada keperluan untuk bahasa tertentu. Git dan sebagainya juga diperlukan. Saya menjadualkan temu duga dalam dua hari, dan saya mempelajari asas Git pada masa lapang saya. Semasa temu bual, saya ditanya tentang Python, JS, Git, SQL. Saya menjawab segala-galanya kecuali konsep "membebankan kaedah", dan saya dijemput untuk bekerja dalam 2 minggu. Ternyata syarikat itu telah lama membeli sistem tersebut. ditulis dalam Java (depan dan belakang), yang mana anda boleh membuat proses perniagaan tanpa mengetahui bahasa pengaturcaraan (lebih tepat, menggunakan bahasa pengaturcaraan Jelly terbina dalam). Bunyinya bagus, tetapi sebenarnya semuanya telah diputarbelitkan. Penyimpangan lirik: mana-mana teknologi mempunyai eranya sendiri dan skalanya sendiri. Melakukan semua pelaporan pada tahun 2000 hanya dalam Excel adalah bagus. Melakukan perkara yang sama pada tahun 2021 adalah tidak begitu baik. Tapak web syarikat dalam HTML tulen adalah hebat pada tahun 1999, tetapi tidak pada tahun 2021. Jadi, teknologi yang digunakan syarikat pada masa penciptaannya (2005) adalah sangat keren - Java bertanggungjawab untuk kedua-dua pelayan dan bahagian klien (yang dipanggil halaman servlet Java). Selain itu, jika anda mencipta proses perniagaan baharu (yang mempunyai UI sendiri), maka ia disimpan di dalam pangkalan data, dan bukan dalam kod dalam fail. Untuk memahami betapa menyusahkan perkara ini, bayangkan anda menulis kod Java dalam idea Intellij, simpannya ke Pangkalan Data, dan kemudian. apabila anda ingin menjalankan kod anda, kernel program pergi ke pangkalan data dan membaca kod anda dari sana. Oleh itu, anda tidak boleh nyahpepijat aplikasi anda sepenuhnya. Petunjuk #1: Apabila anda ingin menyerahkan kod ke testbench, anda perlu mencipta Tapak web syarikat dalam HTML tulen adalah hebat pada tahun 1999, tetapi tidak pada tahun 2021. Jadi, teknologi yang digunakan syarikat pada masa penciptaannya (2005) adalah sangat keren - Java bertanggungjawab untuk kedua-dua pelayan dan bahagian klien (yang dipanggil halaman servlet Java). Selain itu, jika anda mencipta proses perniagaan baharu (yang mempunyai UI sendiri), maka ia disimpan di dalam pangkalan data, dan bukan dalam kod dalam fail. Untuk memahami betapa menyusahkan perkara ini, bayangkan anda menulis kod Java dalam idea Intellij, simpannya ke Pangkalan Data, dan kemudian. apabila anda ingin menjalankan kod anda, kernel program pergi ke pangkalan data dan membaca kod anda dari sana. Oleh itu, anda tidak boleh nyahpepijat aplikasi anda sepenuhnya. Petunjuk #1: Apabila anda ingin menyerahkan kod ke testbench, anda perlu mencipta Tapak web syarikat dalam HTML tulen adalah hebat pada tahun 1999, tetapi tidak pada tahun 2021. Jadi, teknologi yang digunakan syarikat pada masa penciptaannya (2005) adalah sangat keren - Java bertanggungjawab untuk kedua-dua pelayan dan bahagian klien (yang dipanggil halaman servlet Java). Selain itu, jika anda mencipta proses perniagaan baharu (yang mempunyai UI sendiri), maka ia disimpan di dalam pangkalan data, dan bukan dalam kod dalam fail. Untuk memahami betapa menyusahkan perkara ini, bayangkan anda menulis kod Java dalam idea Intellij, simpannya ke Pangkalan Data, dan kemudian. apabila anda ingin menjalankan kod anda, kernel program pergi ke pangkalan data dan membaca kod anda dari sana. Oleh itu, anda tidak boleh nyahpepijat aplikasi anda sepenuhnya. Petunjuk #1: Apabila anda ingin menyerahkan kod ke testbench, anda perlu menciptaSQL скрипт, yang akan mengandungi kod anda. Tidak menyenangkan, tetapi boleh diterima? Zest #2: Pangkalan data terdiri daripada lebih daripada 200 jadual yang mempunyai sambungan antara satu sama lain. Ini bermakna anda perlu tahu jadual mana untuk membuang kod anda dan entiti mana yang perlu dibuat dalam jadual lain. Outputnya ialah skrip SQL dengan panjang ~ 1000 baris. Ini benar-benar menjijikkan. Berhati-hati dengan warisan. Pendek kata, menyedari bahawa semuanya di Jawa, saya pergi ke JavaRush (akhirnya kami sampai ke tema tapak!). Jun-Julai 2020. 10 peringkat pertama ditutup dengan cepat (mungkin sebulan), kerana tiada apa-apa yang secara asasnya baharu. Kemudian kelajuannya perlahan. Julai-Oktober 2020. Tahap 10-20 ditutup. Oktober-Mac 2021. Tahap 20-30 ditutup. Kini keseronokan bermula: pada Mac 2021, saya mula melihat kekosongan Java dan menyedari bahawa terdapat banyak perkataan yang tidak dikenali di sana. Beberapa jenis Spring, SpringBoot, Hibernate, JUnit. Setelah membeli kursus video di tapak web yang terkenal, saya hanya menyentuh Spring dan berfikir bahawa sekarang saya tahu dan boleh melakukan segala-galanya. Selepas itu, saya terjumpa kursus TopJava oleh Grigory Kislin. Di laman webnya, anda boleh cuba menyelesaikan tugas ujian, dan jika anda berjaya, anda boleh mengikuti kursus tersebut. Dalam kursus ini, anda mencipta aplikasi web sepenuhnya dan juga menerbitkannya di Internet. Untuk wang ini, mereka akan memberi anda semakan (semakan kod oleh pengaturcara yang lebih berpengalaman), memberi maklum balas dan memberi anda petua sekiranya berlaku masalah. Saya mendapat kerja rumah 3 dan berhenti. Alasannya mudah: mereka menuntut banyak daripada anda, tetapi mereka tidak memberi anda pengetahuan. Keperluan kerja rumah sangat mengelirukan. Maklumat yang disampaikan sangat tidak konsisten. Pada pendapat subjektif saya, kursus ini diperlukan oleh pembangun yang cukup berpengalaman yang datang dari bahasa lain yang serupa. Kerana dalam kursusnya hampir tidak ada penjelasan tentang teknologi yang dia minta untuk digunakan. Anda juga perlu mengetahui Git dengan baik (semuanya dihantar ke repositori peribadi anda). Pada penghujung April 2021, saya menyiarkan resume untuk pembangun Java (dengan gaji yang diingini di peringkat pertengahan+), di mana saya menyatakan bahawa pada tugas terakhir saya, saya memprogramkan di Java (saya berbohong). Pada hari yang sama, bank menerima permohonan untuk jawatan pembangun Java. <h3>Bab 7. Temu bual Java dan Mengasah Kemahiran</h3>Jadi, apakah rancangannya? Saya perlu mendapat gaji yang lumayan, kerana saya sudah biasa hidup dengan pendapatan + pinjaman yang besar. Oleh itu, jawatan junior tidak sesuai untuk saya. Anda perlu mendapatkan kedudukan tengah. Tetapi siapa yang akan mengupah saya tanpa pengalaman? Keputusan itu datang secara semulajadi: rekod pekerjaan saya mengatakan bahawa saya bekerja sebagai pemaju selama setahun dan selama 4 tahun lagi sebagai pakar dalam jabatan IT dalam jawatan saya sebelum ini. Jadi, saya akan katakan bahawa saya telah membangun di Jawa selama setahun. Dan jika mereka bertanya tentang produk baru, saya akan mengatakan bahawa Java lama (7) ada di sana dan tidak menyokong apa-apa. Sebelum temuduga (jauh) pertama saya, saya gementar. Saya tidak mempunyai pengalaman, sangat sedikit pengetahuan, dan saya meminta banyak wang. Saya fikir: tidak kisah, pengalaman negatif juga pengalaman. Saya menghubungi melalui Skype dan saya akan ditemu bual oleh dua ketua jabatan. Yang membuat saya lebih takut. Soalan bermula: OOP, peranti HashMap, strim, struktur data, apakah itu Spring, Hibernate, AOP. Dan jika sebelum Sping ia lebih kurang boleh diterima, maka pada Spring ia runtuh sepenuhnya. Orang bertanya kepada saya: bagaimana anda berkembang pada Musim Bunga jika anda tidak benar-benar mengetahuinya? Saya: Saya menyalinnya, menampalnya, ia berfungsi, dan terima kasih untuk itu. Jawapan ini menggelikan hati mereka. Kemudian mereka bertanya tentang SQL, di mana saya seperti itik untuk air. Seterusnya ialah Git dan soalan tentang rebase, cherry-pick (yang saya juga tidak tahu) dan selesai tentang JS, kerana ia telah disenaraikan dalam resume saya. Di sana juga, terdapat kegagalan sepenuhnya, kerana mereka bertanya tentang OOP JS. Berdasarkan keputusan temu duga, ternyata bahawa pengetahuan saya bukan comme il faut, dan oleh itu saya tidak akan layak untuk kekosongan ini. Pada waktu petang, HR menulis bahawa pencalonan saya telah diluluskan dan mereka bersedia untuk menghubungi saya. Saya sebenarnya tercekik burger di McDonald's. Saya gembira, tetapi selepas 3 hari HR melaporkan bahawa mereka telah memilih calon lain. Buat pertama kali dalam pengalaman saya, tawaran telah ditarik balik. Selepas temu bual pertama di Java, saya meningkatkan permainan saya: Saya mengikuti kursus (dan menyelesaikannya sepenuhnya!) dalam Git dari Colt Steele di tapak terkenal untuk menjual kursus video. Ini mengubah persepsi saya tentang Git. Seterusnya, saya mengambil kursus (cemerlang) dari Zaur Tregulov pada Spring+Hibernate. Skim latihan: Saya menontonnya seperti dalam video, saya melakukan perkara yang sama pada komputer saya, tetapi saya menamakan pembolehubah dan kelas secara berbeza supaya tidak menyalin kod orang lain secara bodoh. Saya memuat naik semua kerja saya ke Github saya (dengan itu mempraktikkan Git). Ia adalah pertengahan Mei dan panggilan dari jam bermula. Kami mula menjadualkan temuduga satu persatu. Banyak jemputan terpaksa dibatalkan atas sebab-sebab berikut: HR tidak membaca penerangan resume saya dan menjemput saya ke jawatan kanan. Ia juga bernilai menyebut kasta HR yang berasingan: mereka yang mengelirukan Java dengan JavaScript. Itulah sebabnya saya menulis pembangun Java Tengah dalam tajuk resume saya. <h3>Bab 8. Senarai soalan biasa dan cara temu duga</h3>Saya mula pergi ke temu duga dan secara beransur-ansur membentuk kumpulan soalan asas di tengah. Diperlukan: 0. OOP - definisi, bercakap tentang setiap prinsip OOP (+berikan contoh dari kehidupan sebenar). 1. Sama dan kod cincang - apakah kontrak (hubungan) antara mereka? 2. HashMap - bagaimana untuk memahami baldi mana objek akan masuk, apakah perlanggaran, dalam struktur data apakah data disimpan di dalam HashMap, saiz standard, bagaimana bilangan baldi meningkat. 3. Aliran - apakah jenis operasi, apakah perbezaan antara mereka, berikan contoh setiap jenis operasi. 4. Kolam rentetan, Kolam integer - apakah itu? 5. Timbunan, timbunan - apakah itu, apakah perbezaannya? 6. Perbezaan antara Runnable, Thread, Future. 7. Meruap, atomicity. 8. Pepejal, Cium, Kering - definisi, contoh dari kehidupan sebenar. 9. Akses pengubah suai dalam Java. 10. Apakah perbezaan antara kelas abstrak dan antara muka. Bolehkah antara muka menjadi peribadi? 11. Antara muka berfungsi. 12. Senaraikan semua kaedah Objek dan beritahu mengapa ia diperlukan. Ciri-ciri kaedah klon. 13. Apakah penyiaran dan penyahserikatan. 14. Cuba tangkap dengan sumber - terangkan apa itu, beritahu menggunakan antara muka Boleh Ditutup. 15. Perbezaan antara Final, akhirnya, muktamad? 16. Lebihan beban, Kaedah mengatasi adalah perbezaannya. 17. Mengapa String dijadikan tidak berubah, beritahu kami tentang StringBuilder dan StringBuffer. 18. Apakah kerumitan masa O(1), kerumitan ingatan. 19. Struktur data: bercakap tentang peta, set, baris gilir, deque, senarai dan pelaksanaannya dalam Java (treeMap, hashSet, hashMap, arrayList, linkedList, priorityQueue, blockingQueue), terangkan kerumitan (terburuk, purata, terbaik) sisipan, carian, mengalih keluar elemen dalam setiap struktur. 20. Jenis data primitif dalam Java. Mengapa setiap daripada mereka diperlukan? 21. Jenis kesilapan. Pengecualian yang disemak dan tidak ditanda. 22. Apakah itu JVM, JRE, JDK? 23. Pengumpul apa yang anda bekerjasama? Maven - Bina kitaran hayat. 24. Spring - Definisi Ioc, Di, Kitaran Hayat Kacang, Konteks, Anotasi @Bean, @Configuration, @Autowired, @Advice, @Aspect, @Service, @Repository. 25. Generik - definisi apa itu had bawah dan atas? 26. Corak pengaturcaraan - sekurang-kurangnya Singleton (kesediaan untuk memberitahu mengapa ini kadangkala anti-corak) + Pembina, Penyesuai, Kilang, Penghias, Proxt. Diingini: 26. Pengujian - jenis ujian, yang perpustakaan (JUnit) telah digunakan. Apakah Mock, Stab, Spy? 27. Spring boot - mengapa perlu, kesediaan untuk membuat aplikasi SpringBoot dalam talian. 28. Hibernate - mengapa ia diperlukan, Entiti, sertai lajur, pemuatan malas vs bersemangat, tahap caching (keras). 29. Spring rest - mengapa ia diperlukan, cara membuat @post, @get endpoints. Bagaimana untuk membaca parameter/badan permintaan? Bagaimana untuk menyerahkan dalam format json? 30. Struktur data - pokok, jenisnya. 31. Algoritma - jenis pengisihan. Selain Java, mereka mungkin bertanya: 1. (Diperlukan!) Git - mengapa ia diperlukan, operasi bergabung, pangkalan semula, pilih ceri, tolak, tarik, komit, log, daftar keluar, cawangan, tetapkan semula, kembalikan, muat semula. 2.SQL - keupayaan untuk menulis pertanyaan: gabungkan dua jadual menjadi satu (sambungan dalam, sambung kiri). 3. Pangkalan data - 3 bentuk biasa, indeks (mengapa ia diperlukan, jenis), kunci utama, kunci asing Bagaimana temu duga jauh biasa berjalan: hr menghantar pautan untuk zum (Skype, Google Meeting). Pada masa tertentu anda menyambung dan terdapat dari 1 hingga 3 orang di sana (pakar teknikal, bos, jam). Dalam kes yang degil terutamanya, sehingga 8 orang. Mula-mula anda memberitahu tentang diri anda, kemudian bahagian teknikal, kemudian cerita tentang kekosongan dan selamat tinggal (mereka berkata bila mereka akan menghubungi anda atau apakah langkah seterusnya). Semasa selamat tinggal, anda boleh meminta maklum balas tentang pengetahuan. Saya bertanya: "Bolehkah anda memberitahu saya, semasa jawapan saya, di mana telinga anda sakit?" Ramai orang bertindak balas, tetapi bersedia untuk ditolak. Semasa temu duga mereka menilai: 1. Keupayaan anda untuk menyatakan pemikiran dan pengetahuan tentang bahasa Rusia (saya tahu kes di mana calon ditolak kerana pengetahuan bahasa Rusia yang lemah). 2. Pengalaman terdahulu (mereka mungkin bertanya dengan teliti apa yang anda lakukan pada pekerjaan terakhir anda). 3. Reaksi yang mencukupi apabila tekanan dikenakan ke atas anda (terdapat satu temu bual apabila orang mula bercakap dengan tidak hormat: mengabaikan jawapan saya, cuba menerapkan pendirian mereka, dsb. Saya menamatkan temu duga 15 minit selepas permulaan, dan mereka: ia adalah temu bual yang menekan!) 4. Tahap pengetahuan anda. Saya akan pergi dengan lebih terperinci di sini. Mengetahui takrifan sesuatu topik hanyalah 10% daripada apa yang diharapkan daripada anda. Ia adalah perlu untuk memahami cara ia berfungsi (sekurang-kurangnya di peringkat atas). Kesediaan untuk menerangkan pada tahap pembangunan anda akan memilih penyelesaian ini atau itu. Ini jauh lebih penting daripada ketepatan definisi anda. Saya akan menganalisis tesis ini menggunakan dua contoh. Contoh pertama: semasa temu bual saya ditanya tentang HashMap, dan saya memberikan definisi: "ini ialah struktur data yang menyimpan berkas kunci dan nilai." Kemudian penemuduga bertanya: apa bezanya dengan TreeMap? Jawapan: Perbezaannya ialah HashMap mencincang kunci dan disebabkan pencincangan, akses adalah pantas. Penemuduga segera meminta untuk memberitahu kami struktur dalaman HashMap, dan pada masa yang sama bertanya tentang hashCode dan equals. Dan ia akan menjadi lebih mendalam sehingga anda berpuas hati dengan jawapannya atau anda berhenti. Saya belajar untuk menjawab dengan betul tentang HashMap hanya selepas 2 bulan temu bual dan kursus tentang struktur data pada hexlet. Contoh kedua: konsep SOLID. Mereka meminta saya memberikan definisi yang telah saya hafal. Tetapi sebaik sahaja ia datang kepada contoh kehidupan sebenar, masalah bermula. Внимание!Jika anda tidak tahu, maka jangan menciptanya, tetapi katakan ini: Saya tidak tahu topik ini, tetapi saya boleh menganggap bahawa ia berfungsi seperti ini. Ramai pakar teknikal berang apabila seseorang itu bercakap bidaah seolah-olah dia faham topik tersebut. 5. Tahap semangat anda semasa perbincangan kerja. Anda diharap berminat dan bertanyakan soalan mengenai kekosongan jawatan tersebut (bukan sekadar yang dibuat-buat). 6. Kadangkala humor (hanya mengenai topik) dan minat bersama membantu anda berkomunikasi. Jangan ragu untuk bercakap tentang hobi anda; mungkin orang yang ditemuduga juga suka Dota/bola sepak/fantasi. Dan ini adalah kelebihan untuk anda sebagai calon. Saya tahu kes apabila komuniti berkepentingan menutup mata terhadap latihan teknikal yang lemah oleh penemuduga (Anda lelaki biasa, kami akan melatih anda). <h3>Bab 9. Mendapat pekerjaan, pembaptisan api</h3>Temu bual berlangsung dari akhir April hingga pertengahan Julai. Temu bual pertama memalukan, tetapi secara beransur-ansur keadaan bertambah baik ke tahap yang boleh diterima. Mempelajari soalan biasa dan maklum balas membuatkan diri mereka terasa. 25 temu bual pertama tidak berjaya. Selepas ini, detik-detik putus asa bermula. Perasaan: bagaimana jika mereka tidak akan mengupah saya untuk gaji itu? Tiba-tiba perkara mula menjadi kenyataan: dalam masa seminggu, tiga syarikat mengemukakan cadangan. Saya memilih syarikat yang saya tahu spesifikasinya, ditambah dengan gaji yang lumayan dan peluang untuk bekerja dari jauh. Semasa temu bual saya, saya telah ditanya tentang 30 soalan tentang teras Java dan Spring, 97% daripadanya saya jawab dengan betul. Selepas itu terdapat komunikasi dengan pihak atasan dan selepas 1.5 minggu saya mendapat pekerjaan dengan mereka. Pertama sekali, apabila anda datang ke mana-mana pekerjaan, anda mula mendapat akses kepada semua sistem yang diperlukan dan memasang alat yang anda perlukan. Ia mengambil masa satu setengah minggu, dan saya diberi tugasan pertama: untuk menukar teks statik di dalam bilik darjah. Apabila saya membuka projek itu, saya berasa sakit: terdapat banyak modul dalam satu projek, banyak kelas, ujian, dll. Pada ketika ini saya tersesat, tetapi pembangun kedua membantu saya dan membawa saya ke tahap yang lebih pantas. Pepijat telah diperbaiki dalam masa 10 minit, diterbitkan dalam Git, permintaan tarik dibuat (permintaan untuk menggabungkan dua cawangan tempat pembangun lain menyemak kod anda), dan kemudian digabungkan ke dalam cawangan utama. Ternyata semuanya tidak begitu sukar. Sehingga tugas penuh pertama... Pada masa merancang tugas untuk dua minggu akan datang, mereka memberitahu saya: anda akan melakukan penyepaduan dengan sistem lain, yang terletak di OpenShift. Di sinilah keadaan menjadi sangat menakutkan: OpenShift ialah kumpulan keseluruhan teknologi: Docker, Kubernetes, Linux dan sebagainya. Peluh sejuk mengalir di belakang saya: baik, saya bekerja sebagai seorang Jawi. Sejurus selepas mesyuarat, saya memanggil pembangun, yang meyakinkan saya: penyesuai untuk sistem ini telah ditulis, dan ia sudah cukup untuk mengimport kelas tertentu ke dalam projek saya, selepas itu saya boleh menggunakan penyepaduan dengan selamat. Ia menyeronokkan sekali lagi, sehingga pembangun menunjukkan penyepaduan biasa: Saya melihat lebih daripada 20 kelas dicipta untuk penyepaduan yang serupa. Selain itu, anotasi yang tidak kelihatan sebelum ini @Value, @Builder, @NoArgsConstructor, @Getter, telah diperhatikan @Sl4f - ternyata projek Lombook (baca di Internet). Apabila pembangun menerangkan kepada saya bagaimana untuk melakukannya, saya cuba menulis sambungan semua kelas, dan tiada apa yang melekat di kepala saya. Saat yang paling memalukan ialah kekurangan pengetahuan tentang Intellij Idea: cara mencari projek secara global, pemfaktoran semula kod, dsb. Setelah mengambil tugas itu, saya faham mengapa OOP diperlukan: untuk jumlah kod yang begitu besar, perlu membahagikannya ke dalam kelas; kaedah yang tidak digunakan di luar kelas mesti diisytiharkan peribadi supaya tidak sengaja menjalankannya dalam kelas lain, dsb. Setelah menulis integrasi saya dengan analogi dengan integrasi lain, saya mengetahui tentang kewujudan CheckStyle - pemalam khas yang menyemak gaya kod anda dan anda tidak akan dapat menyusun projek anda sehingga anda membetulkan ralat (contohnya, ruang tambahan, nama pembolehubah dengan huruf besar, nama pembolehubah yang terlalu pendek). Selepas mengalahkan CheckStyle, saya menghantar kod saya untuk semakan kepada pembangun kanan dan membetulkan kesilapan saya dalam masa seminggu. Secara umum, saya sangat bertuah kerana dalam pasukan saya, saya mempunyai hubungan yang baik dengan pembangun kedua, yang menjelaskan banyak perkara. Sebulan selepas peranti itu, penyepaduan pertama saya telah dilancarkan pada pendirian Integrasi-Fungsi (kerja semua aplikasi bersama-sama diuji), dan semuanya berfungsi di sana! Kemenangan! Tugas seterusnya adalah untuk mencipta kelas yang membolehkan menyembunyikan data dengan kunci dalam json. Contohnya: terdapat json {text:"JavaRush"} -> pemprosesan -> {text:"****Rush"}. Terdapat dua komplikasi di sini: mungkin terdapat bersarang {text:{mytext:"JavaRush"}}, dan yang lebih tidak menyenangkan ialah bersarang di dalam array: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (sudah tentu anda perlu menyembunyikan semua text.mytext). Menyelesaikan masalah ini ternyata agak sukar, tetapi saya berjaya! Di sini pembangun kedua berkata: tutup pembangunan ini dengan ujian. Terdapat kebingungan di mata. Inilah cara saya mengenali perpustakaan JUnit dalam pertempuran. Intipati ujian unit: anda mempunyai data input, hantarkannya ke dalam kaedah, dan bandingkan data yang diterima dengan hasil yang betul (buat pembolehubah dengan hasil yang betul). Saya menulis 11 kes untuk pustaka saya, di mana saya menyemak bahawa aplikasi itu tidak ranap dengan NullPointException dan ia menyembunyikan data dengan betul dengan sebarang jenis sarang. Selepas menyelesaikan tugasan ini, saya telah diberikan integrasi baharu, keunikan yang berikut: Saya terpaksa mengeksport Spring Bean daripada perpustakaan luaran. Pada ketika ini, saya menjadi pelanggan tetap laman web Stack OverFlow. Suatu ketika, pemaju Spring rasmi memberi respons. Selepas melaksanakan integrasi ini, tempoh percubaan saya telah tamat. Bos mengucapkan tahniah kepada saya kerana lulus tempoh percubaan, dan saya mula menulis artikel ini. Secara keseluruhan, ia mengambil masa 8 jam untuk menulis artikel ini) Terima kasih atas perhatian anda, saya harap artikel itu berguna. Saya cuba menulis sambungan semua kelas, dan tiada apa yang melekat di kepala saya. Saat yang paling memalukan ialah kekurangan pengetahuan tentang Intellij Idea: cara mencari projek secara global, pemfaktoran semula kod, dsb. Setelah mengambil tugas itu, saya faham mengapa OOP diperlukan: untuk jumlah kod yang begitu besar, perlu membahagikannya ke dalam kelas; kaedah yang tidak digunakan di luar kelas mesti diisytiharkan peribadi supaya tidak sengaja menjalankannya dalam kelas lain, dsb. Setelah menulis integrasi saya dengan analogi dengan integrasi lain, saya mengetahui tentang kewujudan CheckStyle - pemalam khas yang menyemak gaya kod anda dan anda tidak akan dapat menyusun projek anda sehingga anda membetulkan ralat (contohnya, ruang tambahan, nama pembolehubah dengan huruf besar, nama pembolehubah yang terlalu pendek). Selepas mengalahkan CheckStyle, saya menghantar kod saya untuk semakan kepada pembangun kanan dan membetulkan kesilapan saya dalam masa seminggu. Secara umum, saya sangat bertuah kerana dalam pasukan saya, saya mempunyai hubungan yang baik dengan pembangun kedua, yang menjelaskan banyak perkara. Sebulan selepas peranti itu, penyepaduan pertama saya telah dilancarkan pada pendirian Integrasi-Fungsi (kerja semua aplikasi bersama-sama diuji), dan semuanya berfungsi di sana! Kemenangan! Tugas seterusnya adalah untuk mencipta kelas yang membolehkan menyembunyikan data dengan kunci dalam json. Contohnya: terdapat json {text:"JavaRush"} -> pemprosesan -> {text:"****Rush"}. Terdapat dua komplikasi di sini: mungkin terdapat bersarang {text:{mytext:"JavaRush"}}, dan yang lebih tidak menyenangkan ialah bersarang di dalam array: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (sudah tentu anda perlu menyembunyikan semua text.mytext). Menyelesaikan masalah ini ternyata agak sukar, tetapi saya berjaya! Di sini pembangun kedua berkata: tutup pembangunan ini dengan ujian. Terdapat kebingungan di mata. Inilah cara saya mengenali perpustakaan JUnit dalam pertempuran. Intipati ujian unit: anda mempunyai data input, hantarkannya ke dalam kaedah, dan bandingkan data yang diterima dengan hasil yang betul (buat pembolehubah dengan hasil yang betul). Saya menulis 11 kes untuk pustaka saya, di mana saya menyemak bahawa aplikasi itu tidak ranap dengan NullPointException dan ia menyembunyikan data dengan betul dengan sebarang jenis sarang. Selepas menyelesaikan tugasan ini, saya telah diberikan integrasi baharu, keunikan yang berikut: Saya terpaksa mengeksport Spring Bean daripada perpustakaan luaran. Pada ketika ini, saya menjadi pelanggan tetap laman web Stack OverFlow. Suatu ketika, pemaju Spring rasmi memberi respons. Selepas melaksanakan integrasi ini, tempoh percubaan saya telah tamat. Bos mengucapkan tahniah kepada saya kerana lulus tempoh percubaan, dan saya mula menulis artikel ini. Secara keseluruhan, ia mengambil masa 8 jam untuk menulis artikel ini) Terima kasih atas perhatian anda, saya harap artikel itu berguna. Saya cuba menulis sambungan semua kelas, dan tiada apa yang melekat di kepala saya. Saat yang paling memalukan ialah kekurangan pengetahuan tentang Intellij Idea: cara mencari projek secara global, pemfaktoran semula kod, dsb. Setelah mengambil tugas itu, saya faham mengapa OOP diperlukan: untuk jumlah kod yang begitu besar, perlu membahagikannya ke dalam kelas; kaedah yang tidak digunakan di luar kelas mesti diisytiharkan peribadi supaya tidak sengaja menjalankannya dalam kelas lain, dsb. Setelah menulis integrasi saya dengan analogi dengan integrasi lain, saya mengetahui tentang kewujudan CheckStyle - pemalam khas yang menyemak gaya kod anda dan anda tidak akan dapat menyusun projek anda sehingga anda membetulkan ralat (contohnya, ruang tambahan, nama pembolehubah dengan huruf besar, nama pembolehubah yang terlalu pendek). Selepas mengalahkan CheckStyle, saya menghantar kod saya untuk semakan kepada pembangun kanan dan membetulkan kesilapan saya dalam masa seminggu. Secara umum, saya sangat bertuah kerana dalam pasukan saya, saya mempunyai hubungan yang baik dengan pembangun kedua, yang menjelaskan banyak perkara. Sebulan selepas peranti itu, penyepaduan pertama saya telah dilancarkan pada pendirian Integrasi-Fungsi (kerja semua aplikasi bersama-sama diuji), dan semuanya berfungsi di sana! Kemenangan! Tugas seterusnya adalah untuk mencipta kelas yang membolehkan menyembunyikan data dengan kunci dalam json. Contohnya: terdapat json {text:"JavaRush"} -> pemprosesan -> {text:"****Rush"}. Terdapat dua komplikasi di sini: mungkin terdapat bersarang {text:{mytext:"JavaRush"}}, dan yang lebih tidak menyenangkan ialah bersarang di dalam array: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (sudah tentu anda perlu menyembunyikan semua text.mytext). Menyelesaikan masalah ini ternyata agak sukar, tetapi saya berjaya! Di sini pembangun kedua berkata: tutup pembangunan ini dengan ujian. Terdapat kebingungan di mata. Inilah cara saya mengenali perpustakaan JUnit dalam pertempuran. Intipati ujian unit: anda mempunyai data input, hantarkannya ke dalam kaedah, dan bandingkan data yang diterima dengan hasil yang betul (buat pembolehubah dengan hasil yang betul). Saya menulis 11 kes untuk pustaka saya, di mana saya menyemak bahawa aplikasi itu tidak ranap dengan NullPointException dan ia menyembunyikan data dengan betul dengan sebarang jenis sarang. Selepas menyelesaikan tugasan ini, saya telah diberikan integrasi baharu, keunikan yang berikut: Saya terpaksa mengeksport Spring Bean daripada perpustakaan luaran. Pada ketika ini, saya menjadi pelanggan tetap laman web Stack OverFlow. Suatu ketika, pemaju Spring rasmi memberi respons. Selepas melaksanakan integrasi ini, tempoh percubaan saya telah tamat. Bos mengucapkan tahniah kepada saya kerana lulus tempoh percubaan, dan saya mula menulis artikel ini. Secara keseluruhan, ia mengambil masa 8 jam untuk menulis artikel ini) Terima kasih atas perhatian anda, saya harap artikel itu berguna. Untuk jumlah kod yang begitu besar, anda perlu membahagikannya ke dalam kelas; kaedah yang tidak digunakan di luar kelas mesti diisytiharkan peribadi supaya tidak sengaja menjalankannya dalam kelas lain, dsb. Setelah menulis integrasi saya dengan analogi dengan integrasi lain, saya mengetahui tentang kewujudan CheckStyle - pemalam khas yang menyemak gaya kod anda dan anda tidak akan dapat menyusun projek anda sehingga anda membetulkan ralat (contohnya, ruang tambahan, nama pembolehubah dengan huruf besar, nama pembolehubah yang terlalu pendek). Selepas mengalahkan CheckStyle, saya menghantar kod saya untuk semakan kepada pembangun kanan dan membetulkan kesilapan saya dalam masa seminggu. Secara umum, saya sangat bertuah kerana dalam pasukan saya, saya mempunyai hubungan yang baik dengan pembangun kedua, yang menjelaskan banyak perkara. Sebulan selepas peranti itu, penyepaduan pertama saya telah dilancarkan pada pendirian Integrasi-Fungsi (kerja semua aplikasi bersama-sama diuji), dan semuanya berfungsi di sana! Kemenangan! Tugas seterusnya adalah untuk mencipta kelas yang membolehkan menyembunyikan data dengan kunci dalam json. Contohnya: terdapat json {text:"JavaRush"} -> pemprosesan -> {text:"****Rush"}. Terdapat dua komplikasi di sini: mungkin terdapat bersarang {text:{mytext:"JavaRush"}}, dan yang lebih tidak menyenangkan ialah bersarang di dalam array: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (sudah tentu anda perlu menyembunyikan semua text.mytext). Menyelesaikan masalah ini ternyata agak sukar, tetapi saya berjaya! Di sini pembangun kedua berkata: tutup pembangunan ini dengan ujian. Terdapat kebingungan di mata. Inilah cara saya mengenali perpustakaan JUnit dalam pertempuran. Intipati ujian unit: anda mempunyai data input, hantarkannya ke dalam kaedah, dan bandingkan data yang diterima dengan hasil yang betul (buat pembolehubah dengan hasil yang betul). Saya menulis 11 kes untuk pustaka saya, di mana saya menyemak bahawa aplikasi itu tidak ranap dengan NullPointException dan ia menyembunyikan data dengan betul dengan sebarang jenis sarang. Selepas menyelesaikan tugasan ini, saya telah diberikan integrasi baharu, keunikan yang berikut: Saya terpaksa mengeksport Spring Bean daripada perpustakaan luaran. Pada ketika ini, saya menjadi pelanggan tetap laman web Stack OverFlow. Suatu ketika, pemaju Spring rasmi memberi respons. Selepas melaksanakan integrasi ini, tempoh percubaan saya telah tamat. Bos mengucapkan tahniah kepada saya kerana lulus tempoh percubaan, dan saya mula menulis artikel ini. Secara keseluruhan, ia mengambil masa 8 jam untuk menulis artikel ini) Terima kasih atas perhatian anda, saya harap artikel itu berguna. Untuk jumlah kod yang begitu besar, anda perlu membahagikannya ke dalam kelas; kaedah yang tidak digunakan di luar kelas mesti diisytiharkan peribadi supaya tidak sengaja menjalankannya dalam kelas lain, dsb. Setelah menulis integrasi saya dengan analogi dengan integrasi lain, saya mengetahui tentang kewujudan CheckStyle - pemalam khas yang menyemak gaya kod anda dan anda tidak akan dapat menyusun projek anda sehingga anda membetulkan ralat (contohnya, ruang tambahan, nama pembolehubah dengan huruf besar, nama pembolehubah yang terlalu pendek). Selepas mengalahkan CheckStyle, saya menghantar kod saya untuk semakan kepada pembangun kanan dan membetulkan kesilapan saya dalam masa seminggu. Secara umum, saya sangat bertuah kerana dalam pasukan saya, saya mempunyai hubungan yang baik dengan pembangun kedua, yang menjelaskan banyak perkara. Sebulan selepas peranti itu, penyepaduan pertama saya telah dilancarkan pada pendirian Integrasi-Fungsi (kerja semua aplikasi bersama-sama diuji), dan semuanya berfungsi di sana! Kemenangan! Tugas seterusnya adalah untuk mencipta kelas yang membolehkan menyembunyikan data dengan kunci dalam json. Contohnya: terdapat json {text:"JavaRush"} -> pemprosesan -> {text:"****Rush"}. Terdapat dua komplikasi di sini: mungkin terdapat bersarang {text:{mytext:"JavaRush"}}, dan yang lebih tidak menyenangkan ialah bersarang di dalam array: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (sudah tentu anda perlu menyembunyikan semua text.mytext). Menyelesaikan masalah ini ternyata agak sukar, tetapi saya berjaya! Di sini pembangun kedua berkata: tutup pembangunan ini dengan ujian. Terdapat kebingungan di mata. Inilah cara saya mengenali perpustakaan JUnit dalam pertempuran. Intipati ujian unit: anda mempunyai data input, hantarkannya ke dalam kaedah, dan bandingkan data yang diterima dengan hasil yang betul (buat pembolehubah dengan hasil yang betul). Saya menulis 11 kes untuk pustaka saya, di mana saya menyemak bahawa aplikasi itu tidak ranap dengan NullPointException dan ia menyembunyikan data dengan betul dengan sebarang jenis sarang. Selepas menyelesaikan tugasan ini, saya telah diberikan integrasi baharu, keunikan yang berikut: Saya terpaksa mengeksport Spring Bean daripada perpustakaan luaran. Pada ketika ini, saya menjadi pelanggan tetap laman web Stack OverFlow. Suatu ketika, pemaju Spring rasmi memberi respons. Selepas melaksanakan integrasi ini, tempoh percubaan saya telah tamat. Bos mengucapkan tahniah kepada saya kerana lulus tempoh percubaan, dan saya mula menulis artikel ini. Secara keseluruhan, ia mengambil masa 8 jam untuk menulis artikel ini) Terima kasih atas perhatian anda, saya harap artikel itu berguna. nama pembolehubah terlalu pendek). Selepas mengalahkan CheckStyle, saya menghantar kod saya untuk semakan kepada pembangun kanan dan membetulkan kesilapan saya dalam masa seminggu. Secara umum, saya sangat bertuah kerana dalam pasukan saya, saya mempunyai hubungan yang baik dengan pembangun kedua, yang menjelaskan banyak perkara. Sebulan selepas peranti itu, penyepaduan pertama saya telah dilancarkan pada pendirian Integrasi-Fungsi (kerja semua aplikasi bersama-sama diuji), dan semuanya berfungsi di sana! Kemenangan! Tugas seterusnya adalah untuk mencipta kelas yang membolehkan menyembunyikan data dengan kunci dalam json. Contohnya: terdapat json {text:"JavaRush"} -> pemprosesan -> {text:"****Rush"}. Terdapat dua komplikasi di sini: mungkin terdapat bersarang {text:{mytext:"JavaRush"}}, dan yang lebih tidak menyenangkan ialah bersarang di dalam array: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (sudah tentu anda perlu menyembunyikan semua text.mytext). Menyelesaikan masalah ini ternyata agak sukar, tetapi saya berjaya! Di sini pembangun kedua berkata: tutup pembangunan ini dengan ujian. Terdapat kebingungan di mata. Inilah cara saya mengenali perpustakaan JUnit dalam pertempuran. Intipati ujian unit: anda mempunyai data input, hantarkannya ke dalam kaedah, dan bandingkan data yang diterima dengan hasil yang betul (buat pembolehubah dengan hasil yang betul). Saya menulis 11 kes untuk pustaka saya, di mana saya menyemak bahawa aplikasi itu tidak ranap dengan NullPointException dan ia menyembunyikan data dengan betul dengan sebarang jenis sarang. Selepas menyelesaikan tugasan ini, saya telah diberikan integrasi baharu, keunikan yang berikut: Saya terpaksa mengeksport Spring Bean daripada perpustakaan luaran. Pada ketika ini, saya menjadi pelanggan tetap laman web Stack OverFlow. Suatu ketika, pemaju Spring rasmi memberi respons. Selepas melaksanakan integrasi ini, tempoh percubaan saya telah tamat. Bos mengucapkan tahniah kepada saya kerana lulus tempoh percubaan, dan saya mula menulis artikel ini. Secara keseluruhan, ia mengambil masa 8 jam untuk menulis artikel ini) Terima kasih atas perhatian anda, saya harap artikel itu berguna. nama pembolehubah terlalu pendek). Selepas mengalahkan CheckStyle, saya menghantar kod saya untuk semakan kepada pembangun kanan dan membetulkan kesilapan saya dalam masa seminggu. Secara umum, saya sangat bertuah kerana dalam pasukan saya, saya mempunyai hubungan yang baik dengan pembangun kedua, yang menjelaskan banyak perkara. Sebulan selepas peranti itu, penyepaduan pertama saya telah dilancarkan pada pendirian Integrasi-Fungsi (kerja semua aplikasi bersama-sama diuji), dan semuanya berfungsi di sana! Kemenangan! Tugas seterusnya adalah untuk mencipta kelas yang membolehkan menyembunyikan data dengan kunci dalam json. Contohnya: terdapat json {text:"JavaRush"} -> pemprosesan -> {text:"****Rush"}. Terdapat dua komplikasi di sini: mungkin terdapat bersarang {text:{mytext:"JavaRush"}}, dan yang lebih tidak menyenangkan ialah bersarang di dalam array: {text: [ {mytext: "JavaRush"}, {mytext: "JavaRush "} ] } (sudah tentu anda perlu menyembunyikan semua text.mytext). Menyelesaikan masalah ini ternyata agak sukar, tetapi saya berjaya! Di sini pembangun kedua berkata: tutup pembangunan ini dengan ujian. Terdapat kebingungan di mata. Inilah cara saya mengenali perpustakaan JUnit dalam pertempuran. Intipati ujian unit: anda mempunyai data input, hantarkannya ke dalam kaedah, dan bandingkan data yang diterima dengan hasil yang betul (buat pembolehubah dengan hasil yang betul). Saya menulis 11 kes untuk pustaka saya, di mana saya menyemak bahawa aplikasi itu tidak ranap dengan NullPointException dan ia menyembunyikan data dengan betul dengan sebarang jenis sarang. Selepas menyelesaikan tugasan ini, saya telah diberikan integrasi baharu, keunikan yang berikut: Saya terpaksa mengeksport Spring Bean daripada perpustakaan luaran. Pada ketika ini, saya menjadi pelanggan tetap laman web Stack OverFlow. Suatu ketika, pemaju Spring rasmi memberi respons. Selepas melaksanakan integrasi ini, tempoh percubaan saya telah tamat. Bos mengucapkan tahniah kepada saya kerana lulus tempoh percubaan, dan saya mula menulis artikel ini. Secara keseluruhan, ia mengambil masa 8 jam untuk menulis artikel ini) Terima kasih atas perhatian anda, saya harap artikel itu berguna. Menyelesaikan masalah ini ternyata agak sukar, tetapi saya berjaya! Di sini pembangun kedua berkata: tutup pembangunan ini dengan ujian. Terdapat kebingungan di mata. Inilah cara saya mengenali perpustakaan JUnit dalam pertempuran. Intipati ujian unit: anda mempunyai data input, hantarkannya ke dalam kaedah, dan bandingkan data yang diterima dengan hasil yang betul (buat pembolehubah dengan hasil yang betul). Saya menulis 11 kes untuk pustaka saya, di mana saya menyemak bahawa aplikasi itu tidak ranap dengan NullPointException dan ia menyembunyikan data dengan betul dengan sebarang jenis sarang. Selepas menyelesaikan tugasan ini, saya telah diberikan integrasi baharu, keunikan yang berikut: Saya terpaksa mengeksport Spring Bean daripada perpustakaan luaran. Pada ketika ini, saya menjadi pelanggan tetap laman web Stack OverFlow. Suatu ketika, pemaju Spring rasmi memberi respons. Selepas melaksanakan integrasi ini, tempoh percubaan saya telah tamat. Bos mengucapkan tahniah kepada saya kerana lulus tempoh percubaan, dan saya mula menulis artikel ini. Secara keseluruhan, ia mengambil masa 8 jam untuk menulis artikel ini) Terima kasih atas perhatian anda, saya harap artikel itu berguna. Menyelesaikan masalah ini ternyata agak sukar, tetapi saya berjaya! Di sini pembangun kedua berkata: tutup pembangunan ini dengan ujian. Terdapat kebingungan di mata. Inilah cara saya mengenali perpustakaan JUnit dalam pertempuran. Intipati ujian unit: anda mempunyai data input, hantarkannya ke dalam kaedah, dan bandingkan data yang diterima dengan hasil yang betul (buat pembolehubah dengan hasil yang betul). Saya menulis 11 kes untuk pustaka saya, di mana saya menyemak bahawa aplikasi itu tidak ranap dengan NullPointException dan ia menyembunyikan data dengan betul dengan sebarang jenis sarang. Selepas menyelesaikan tugasan ini, saya telah diberikan integrasi baharu, keunikan yang berikut: Saya terpaksa mengeksport Spring Bean daripada perpustakaan luaran. Pada ketika ini, saya menjadi pelanggan tetap laman web Stack OverFlow. Suatu ketika, pemaju Spring rasmi memberi respons. Selepas melaksanakan integrasi ini, tempoh percubaan saya telah tamat. Bos mengucapkan tahniah kepada saya kerana lulus tempoh percubaan, dan saya mula menulis artikel ini. Secara keseluruhan, ia mengambil masa 8 jam untuk menulis artikel ini) Terima kasih atas perhatian anda, saya harap artikel itu berguna.
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION