Keperluan untuk pembangun Java yang berpotensi sentiasa berubah dan sukar untuk diikuti. Adakah cukup mengetahui Java Core sahaja untuk menjadi Pelatih? Sejauh manakah anda perlu memahami Spring dan Hibernate untuk mendapatkan kedudukan Java Junior? Adakah berbaloi untuk mempelajari pangkalan data dan memahami algoritma pengisihan dan carian? Dan memandangkan pelajar JavaRush sangat kerap mengambil berat tentang soalan ini, kami memutuskan untuk bertanya kepada graduan kami yang sudah bekerja sebagai Java Juniors atau sedang berlatih di syarikat sebagai Java Trainees. Ambil perhatian bahawa 13% daripada responden cukup bernasib baik untuk mendapat kedudukan Java Middle pada percubaan pertama mereka, memintas peringkat Junior. Responden berkongsi maklumat tentang teknologi yang mereka perlukan untuk lulus temu duga dan yang mereka gunakan pada tahun pertama kerja Java pertama mereka.
- Teras Java
- Algoritma dan struktur data
- Ujian unit
- Perpustakaan utiliti, GUI dan komponen berguna
- Rangka kerja
- Bina alat Automasi dan pelayan aplikasi
- Teknologi dan corak yang berbeza
Semua orang memerlukan Java Core
Istilah Java Core agak luas. Nama ini merujuk kepada kedua-dua sintaks asas bahasa dan topik yang kompleks seperti multithreading. Sebenarnya, kursus JavaRush terutamanya ditujukan kepada Core. Sintaks Java. Asas Bahasa. Semua jenis data, pengendali, gelung dan cawangan ini. Sememangnya, 92.4% daripada mereka yang mendapat pekerjaan itu menilai pengetahuan mereka tentang sintaks sebagai "baik atau cemerlang." Walau bagaimanapun, 7.6% responden berjaya menjadi Pelatih Java dengan pengetahuan sintaks yang sederhana. Walau bagaimanapun, ini harus dinilai lebih sebagai nasib (atau membanggakan responden :)). Sudah tentu, setiap orang yang memohon kerja sebagai pengaturcara harus mengetahui sintaks bahasa tersebut. Pengaturcaraan berorientasikan objek (OOP). Segala-galanya di Jawa terdiri daripada objek, jadi OOP boleh dianggap sebagai salah satu tema bahasa yang paling penting. Pendekatan berorientasikan objek mungkin kelihatan asing pada mulanya, terutamanya jika anda hanya mempelajari bahasa prosedur sebelum ini, tetapi tidak sukar untuk beralih kepada objek. Kesukaran terbesar untuk pemula adalah tahap pengabstrakan dan pengedaran bebasnya - pengaturcara baru mesti dapat membuat hierarki objek dengan betul, memahami antara muka yang akan bertanggungjawab dan apa yang boleh dimasukkan ke dalam kelas abstrak, mencipta warisan tangga, dan sebagainya. Seperti biasa, kesukaran ini diselesaikan dengan latihan. Majoriti responden, 80.3% daripada mereka yang mendapat pekerjaan pertama, mengetahui prinsip OOP dengan baik dan menggunakannya secara berterusan. Pada tahun pertama bekerja sebagai Java Juniors dan pelatih, 78.8% responden menggunakan prinsip OOP dengan kerap, 12.1% - dari semasa ke semasa. 7.6% daripada pendengar jarang menggunakannya - mereka ini kebanyakannya sibuk dengan ujian unit dan pelbagai tugasan kecil. Iaitu, sudah tentu, mereka juga menggunakan kelas atau objek (anda tidak boleh melakukannya tanpa ini di Jawa), tetapi jarang mencipta hierarki kelas. Rangka Kerja Koleksi. Koleksi ialah koleksi objek individu yang dipersembahkan secara keseluruhan. Java mempunyai Rangka Kerja Koleksi yang sangat pintar untuk mewakili koleksi. Koleksi adalah berdasarkan struktur data popular - senarai, biasa dan bersambung, set, jadual cincang. Oleh itu, apabila meneroka koleksi, adalah idea yang baik untuk menjadi lebih biasa dengan struktur data. Kesukaran utama dalam mengkaji koleksi ialah memahami dan mengingati cara ia berfungsi. Jika anda memahami cara mereka mengakses elemen, mengekstraknya daripada koleksi dan menambahnya, kemudian anda mula memahami di mana untuk menggunakan struktur ini atau itu. Ia datang dengan amalan. Tetapi, mujurlah, tidak semua jumlah koleksi yang besar digunakan secara aktif dalam kerja sebenar. 80.3% responden menyatakan bahawa mereka mempunyai pengetahuan yang baik atau cemerlang tentang koleksi sebelum menerima tawaran kerja pertama mereka, dan hampir semua 96.9% Junior dan pelatih menggunakan koleksi dalam kerja pertama mereka. Pengendalian Pengecualian.Pengecualian ialah situasi luar biasa yang mungkin berlaku semasa melaksanakan program anda. Semua kelas pengecualian adalah subjenis kelas java.lang.Exception. Mekanisme pengendalian pengecualian sangat memudahkan proses mencari ralat dalam atur cara. Biasanya, pelajar mula menggunakan pengecualian agak awal, katakan, dalam JavaRush. Dalam JavaRush, topik ini dibangkitkan dalam pencarian Java Syntax yang pertama. Hampir semua graduan JavaRush yang mendapat pekerjaan pertama mereka tahu cara mengendalikan pengecualian, dan, secara semula jadi, menggunakannya semasa bekerja. I/O Streams Java. Program pertama yang ditulis dalam Java biasanya mengandungi sesuatu seperti System.out.println("Hello world"). Selalunya, pemula memahami bahawa kaedah println mencetak baris ke konsol, tetapi tidak tahu mengapa Sistem dan luar ada di sana dan cara ia berfungsi. Tidak lama kemudian ternyata Java melakukan operasi input dan output menggunakan aliran, aliran data yang berterusan. Thread bukanlah topik yang paling mudah untuk difahami dan ia tidak digunakan terlalu kerap dalam pekerjaan pemula: hanya 22.7% orang yang mendapat pekerjaan Java Junior/Pelatih pertama mereka mengatakan bahawa mereka banyak menggunakan utas I/O, 31.8% - dari semasa ke semasa masa, 25.8% - jarang. Jadi hanya di bawah 20% tidak menggunakannya sama sekali semasa tahun pertama mereka sebagai pembangun Java. Semasa pengajian mereka, 18.2% tidak mengalami sebarang kesulitan tertentu dengan aliran dan mengenalinya dengan baik, 36.4% menilai pengetahuan mereka sebagai baik, tetapi 10.6% mengabaikan topik ini. Multithreading (Java Multithreading/Concurrency). Mungkin ini adalah topik yang menyebabkan salah faham yang paling besar dalam kalangan pembangun pemula. Walaupun multithreading dalam Java dilaksanakan dengan sangat baik, ia adalah sukar untuk difahami, dan masalah boleh timbul walaupun semasa menulis program mudah (contohnya, multithreaded "Hello, world"). Ramai majikan memahami perkara ini dan tidak memerlukan pemahaman mendalam tentang multithreading daripada pemula, mengharapkan ia akan datang dengan pengalaman. Hanya 12% responden menyatakan bahawa mereka mengetahui topik itu pada tahap yang baik sebelum menerima tawaran pertama, manakala hampir 32% responden mengakui bahawa mereka tidak tahu apa-apa tentang topik itu sama sekali. Majoriti, 56.2%, berkata mereka "mempunyai sedikit pemahaman" tentang multithreading. Oleh itu, jika kesukaran bekerja dengan benang kelihatan tidak dapat diatasi kepada anda sekarang, nombor ini mungkin meyakinkan anda. Walau bagaimanapun, jika anda ingin mendapatkan kelebihan daya saing dalam temu duga, topik ini boleh menjadi titik kukuh anda. Pada projek sebenar, pemula juga jarang dibenarkan bekerja dengan benang. Oleh itu, 15.1% pengaturcara baru tidak menemui Java Multithreading sama sekali dalam kerja mereka, dan 39.4% telah menemuinya, tetapi jarang sekali. Selalunya pada tahun pertama bekerja hanya 9.1% responden terpaksa bekerja dengan multithreading. Ungkapan Lambda.Ungkapan Lambda dan pembayang pengaturcaraan berfungsi muncul dalam Java 8, tetapi pemula tidak menggunakan alat berguna ini dengan kerap. Ungkapan lambda ialah fungsi yang boleh dibuat tanpa tergolong dalam mana-mana kelas, dan anda boleh menghantarnya sebagai objek atau melaksanakannya atas permintaan. Hanya 22.7% daripada graduan yang ditinjau mengetahui ungkapan Lambda dengan baik sebelum menerima tawaran kerja pertama mereka, dan 48.5% menilai pengetahuan mereka tentang topik itu sebagai "hampir kepada sifar." Pada masa yang sama, lebih daripada 85% pengaturcara baharu berkata mereka menggunakan ungkapan lambda pada tahun pertama mereka. Untuk bersikap adil, kami menyatakan bahawa peratusan rendah mereka yang mengetahui topik ini mungkin disebabkan oleh fakta bahawa dalam JavaRush, ungkapan lambda setakat ini hanya dibentangkan dalam pencarian dan artikel Java Syntax Pro yang baharu . Oleh itu, kita boleh mengatakan dengan selamat bahawa pengetahuan tentang Java Teras untuk mana-mana Java Junior dan juga Pelatih yang berpotensi adalah perlu. Sudah tentu, beberapa topik, sebagai contoh, multithreading, boleh diterima untuk mengetahui lebih sedikit, tetapi sintaks Java, OOP dan koleksi harus tertanam kuat dalam kesedaran anda.Algoritma dan struktur data
Terdapat perdebatan berterusan tentang kajian algoritma pengisihan dan carian. Di satu pihak, algoritma terbaik telah lama ditulis dan dimasukkan ke dalam perpustakaan semua bahasa pengaturcaraan popular, termasuk Java. Dan ia boleh digunakan secara sah tanpa perlu menulis kod anda sendiri. Walau bagaimanapun, pakar yang melatih pengaturcara masih mengesyorkan bahawa setiap pembangun pemula melatih otaknya dengan menulis semua algoritma gelembung ini, penggabungan, carian binari dan seumpamanya. Pertama, algoritma ini adalah sejenis ujian litmus kemahiran pengaturcara (iaitu, bukan pengetahuan, tetapi kemahiran) dan pemahaman seseorang tentang apa itu pengaturcaraan pada dasarnya. Jika otak anda sudah ditala dengan baik untuk kerja seperti ini, anda akan menulis algoritma dengan agak mudah. Namun, anda harus ingat: anda memerlukan algoritma dengan tepat untuk melatih otak anda... dan untuk lulus temu duga: pembangun Kanan yang menghakis yang mengendalikannya sangat gemar menyeksa pemohon dengan permintaan untuk menulis algoritma ini atau itu. Tetapi dalam kerja mereka, majoriti (48.5%) menggunakan algoritma perpustakaan standard, berkesan dan terbukti, manakala 16% responden tidak menggunakan pengisihan langsung pada tahun pertama bekerja sebagai pengaturcara. 69.6% graduan mendakwa bahawa sebelum menerima tawaran kerja pertama mereka, mereka mempunyai pemahaman yang baik tentang algoritma pengisihan dan carian serta boleh menulisnya sendiri. Kami telah menyentuh topik struktur data apabila kami bercakap tentang koleksi Java. Ya, adalah lebih baik untuk memahaminya untuk mengetahui di mana dan struktur yang akan digunakan. Mencipta struktur data anda sendiri dalam imej perpustakaan ialah latihan yang hebat yang akan membantu anda memahaminya dengan lebih baik. Anda boleh, sebagai contoh, cuba menulis versi ArrayList anda sendiri atau mencadangkan senarai pautan tunggal anda sendiri (LinkedList yang biasa di Jawa dipautkan dua kali ganda). Semasa bekerja, pengaturcara baru menggunakan terutamanya struktur data standard.Ujian unit
Pustaka JUnit bertanggungjawab untuk ujian unit di Java. Malah, anda boleh memulakan ujian unit hampir pada permulaan latihan. Sekurang-kurangnya, apabila anda mengambil projek bebas pertama anda, walaupun yang sangat kecil, anda lebih baik sudah mahir dalam alat ini. Menulis ujian unit tidaklah begitu sukar, walaupun terdapat beberapa nuansa. Mempelajari JUnit tidak akan mengambil banyak masa, tetapi faedah mengetahuinya sangat besar. Anda akan dapat menutup kod anda sendiri dan orang lain dengan ujian. Selalunya, pemula ditugaskan untuk menulis ujian unit untuk rakan sekerja, jadi ini boleh berguna secara langsung dalam tugas baharu mereka. 57.5% responden mengatakan mereka menggunakan JUnit sebelum temu duga Java pertama mereka yang berjaya, dan lebih 83% telah menggunakan ujian unit pada tahun pertama mereka.Perpustakaan utiliti, GUI dan komponen berguna
Kami bertanya sejauh mana graduan JavaRush biasa dengan beberapa alatan, beberapa daripadanya telah diliputi dalam kursus kami.- Servlet ialah komponen perisian Java yang memanjangkan keupayaan pelayan.
- JDBC ialah piawaian bebas platform untuk saling kendali antara aplikasi Java dan pangkalan data. JDBC dilaksanakan sebagai pakej java. sql disertakan dengan Java SE (Edisi Standard).
- log4j ialah perpustakaan pengelogan mesej yang paling terkenal. Ia membolehkan anda menulis panggilan perpustakaan dalam kod java, dan kemudian menyesuaikannya secara fleksibel tanpa mengubah kod yang telah ditulis.
- Jackson/JSON. JSON (JavaScript Object Notation) ialah fail standard terbuka yang sangat popular dan format pertukaran data, dan Jackson ialah pemproses JSON berprestasi tinggi untuk Java.
Rangka kerja
Sebelum ini, tiada siapa menjangka Java Junior mengetahui Spring atau Hibernate. Tetapi masa berubah, dan hari ini ini kadang-kadang dijangka walaupun daripada Pelatih. Mempelajari teknologi ini sendiri bukanlah mudah. Walaupun segala-galanya kelihatan jelas, pelajar sering lupa apa itu dengan cepat. Kadang-kadang permohonan yang ditulis secara bebas dalam Spring bukanlah ubat penawar. Hanya kerja aktif akan membantu. Walau bagaimanapun, sebelum temu bual berjaya, satu pertiga daripada responden sudah biasa dengan Spring pada tahap yang baik, dan 45.5% mempunyai pemahaman purata mengenainya. Keadaan dengan but Spring agak lebih teruk (36.4% tidak tahu sama sekali), dan hampir 44% graduan JavaRush yang ditinjau berkata mereka mempunyai pengetahuan yang baik tentang Hibernate. Pada masa yang sama, semasa bekerja, rangka kerja Java utama digunakan oleh hampir 88% pengaturcara baharu, Spring Boot - 83%, Hibernate - 81%.Bina alat Automasi dan pelayan aplikasi
Kebanyakan graduan JavaRush yang ditemu bual telah mencuba bekerja dengan pembina projek. Selalunya ia adalah Maven (40.9% mencubanya dalam amalan, 30.3% lagi menggunakannya dari semasa ke semasa, dan 12.1% menggunakannya secara berterusan semasa pengajian mereka). Semasa bekerja dengan Maven, saya menghadapi 72.7% (selalunya), 7.6% (kadang-kadang) dan 3% (jarang-jarang). Bagi Gradle, keadaannya agak teruk. Hanya 22.7% telah berlatih dengan pengumpul ini, dan kebanyakan mereka baru mencuba teknologi tersebut. Hampir separuh daripada responden menggunakan Gradle dalam kerja mereka. Ant telah lama kehilangan kedudukannya, dan ini dicerminkan dalam popularitinya di kalangan graduan kami: hanya 3% daripada responden telah bermain-main dengannya. Dan 12% daripada mereka yang menjawab soalan terpaksa bekerja dengannya. Di antara pelayan aplikasi, Tomcat adalah peneraju; lebih daripada 77% responden mengetahuinya semasa pengajian mereka, 11% mencuba GlassFish, 12% mencuba JBoss. Populariti pelayan di kalangan mereka yang sudah bekerja kelihatan serupa. Hanya 31.8% daripada mereka yang mendapat pekerjaan itu tidak mempunyai pengalaman dengan Tomcat. Selain itu, graduan JavaRush, semasa tahun pertama mereka bekerja sebagai pengaturcara, mencuba pelayan seperti WebSphere, Jetty, Netty, Wildfly, Weblogic.Apa lagi?
Sebilangan besar responden, walaupun sebelum mendapat pekerjaan pertama mereka:- mempunyai pemahaman tentang HTML, CSS dan JavaScript;
- bekerja dengan pangkalan data, tahu SQL;
- hampir semua orang menggunakan Git dan GitHub;
- cuba bekerja dengan XML tulen.
GO TO FULL VERSION