JavaRush /Java Blog /Random-ID /Daftar periksa pengembang Java. Apa yang harus diketahui ...

Daftar periksa pengembang Java. Apa yang harus diketahui oleh pengembang

Dipublikasikan di grup Random-ID
Halo! Hari ini kita akan berbicara tentang jalur pengembangan pengembang Java dan apa yang harus dia ketahui agar bisa diminati. Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 1Pengembang mana pun saat wawancara dapat “menggagalkan” kandidat untuk suatu posisi. Misalnya, dia akan mulai mengajukan pertanyaan tentang topik spesifik yang dia temui di proyek saat ini. Tapi tidak apa-apa untuk tidak mengetahui segalanya. Fakta bahwa Anda tidak menjawab beberapa pertanyaan juga normal. Secara umum, setiap programmer Java harus memiliki pengetahuan dasar tentang pengembangan. Jadi, mari kita lihat teknologi apa yang dianggap “dasar”.

1. Algoritma dasar

Hal pertama yang harus Anda lakukan ketika mulai belajar pemrograman (ini tidak hanya berlaku untuk Java) adalah analisis dasar-dasarnya. Misalnya algoritma. Jumlahnya tidak terbatas, dan Anda tidak boleh menghabiskan waktu bertahun-tahun untuk mencoba mempelajari algoritma sebanyak mungkin: kebanyakan dari algoritma tersebut tidak akan berguna bagi Anda. Pengetahuan minimal yang dibutuhkan dapat diperoleh dari buku “ Algoritma Grocking ”. Ini akan cukup untuk memulai perjalanan, tetapi jika Anda mau, Anda bisa belajar dengan bantuan buku “ Structures and Algorithms ” atau “Algorithms in Java” oleh Robert Sedgwick dan Kevin Wayne. Saya juga menyarankan Anda untuk meningkatkan pengetahuan Anda tentang dasar-dasar ilmu komputer. Hal ini dapat dilakukan di JavaRush menggunakan kursus CS50 .

2. Sintaks Java

Setelah mempelajari dasar-dasar algoritma, kita harus mempelajari sintaksis Java. Lagipula, kita semua sedang belajar menjadi programmer Java di sini, bukan? Kursus JavaRush sangat cocok untuk ini. Dalam proses melakukan banyak tugas, Anda akan menjadi fasih dalam sintaksis Java dan akan menulis/membaca kode Java tanpa banyak berpikir, seolah-olah itu adalah bahasa ibu Anda. JavaRush adalah praktik, dan selain itu, Anda juga perlu melihat teorinya untuk memahami apa sebenarnya yang Anda lakukan. Untuk melakukannya, Anda dapat membaca buku, misalnya salah satu buku berikut:
  • Kepala Dulu Jawa ”;
  • “Java for Dummies” oleh Barry Bird;
  • "Jawa. Panduan untuk Pemula” Herbert Schildt.
Setelah membaca buku-buku ini, Anda dapat mempelajari buku-buku yang lebih sulit:
  • “Filsafat Jawa”, Bruce Eckel;
  • “Pemrograman Efektif”, Joshua Bloch;
  • "Jawa. Panduan Lengkap”, Herbert Schildt.
Tiga buku terakhir bukanlah bacaan yang mudah bagi pemula, namun dapat memberikan landasan yang kuat dalam teori Java. Selain itu, jangan lupakan artikel di JavaRush, karena mereka dapat menemukan penjelasan tentang sebagian besar topik yang Anda minati. Anda dapat menemukan artikel yang Anda butuhkan dengan mengetikkan topik yang Anda minati: Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 2Saya juga sangat menyarankan mencari pertanyaan wawancara Java, seperti dalam kumpulan pertanyaan tentang kelas abstrak dan antarmuka ini . Ini akan membantu Anda memahami apa sebenarnya yang perlu Anda pelajari dan pertanyaan apa yang harus dipersiapkan.Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 3

3. Pola Pemrograman

Pola pemrograman adalah beberapa pola berulang yang mewakili solusi terhadap suatu masalah dalam konteks yang sering terjadi. Diantaranya adalah template dasar dan sederhana yang harus diketahui oleh setiap programmer yang menghargai diri sendiri. Untuk memahami topik ini, gunakan buku “ Head First. Pola desain ." Dia akan dengan jelas menjelaskan pola dasar pemrograman. Namun buku tersebut banyak membahas tentang Java , sehingga pada saat mempelajari buku tersebut Anda perlu menguasai bahasa pemrograman ini. Untuk mendalami pola lebih dalam, Anda juga dapat membaca “Teknik Desain Berorientasi Objek. Design Patterns” dari Gang of Four ( Gang of Four: tim penulis yang mencakup Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - catatan editor) . Setelah mempelajari topik ini, Anda akan mulai melihat pola hampir di semua tempat dalam kode Anda. Perhatikan hal ini, terutama pola yang digunakan di Spring , karena ini adalah pertanyaan populer dalam wawancara.

4. Paradigma pemrograman. Kebersihan kode

Selain pola pemrograman standar, ada berbagai prinsip dan paradigma yang perlu Anda ketahui ( SOLID , GRASP ). Penting juga untuk memastikan bahwa kode tersebut bersih dan dapat dibaca. Segala sesuatu yang perlu Anda ketahui tentang topik ini ada di buku “ Clean Code ” oleh Robert Martin atau ambil buku “Perfect Code” oleh Steve McConnell.

5.SQL

Langkah kita selanjutnya adalah mempelajari bahasa database relasional - SQL . Basis data adalah tempat informasi (data) aplikasi web disimpan. Basis data terdiri dari banyak tabel (buku alamat di ponsel Anda adalah contoh paling sederhana dari tabel tersebut). Anda dapat membaca lebih lanjut tentang database di artikel ini . Bagi pengembang Java, tanggung jawabnya tidak hanya pada aplikasi Java, tetapi juga database yang berinteraksi dan tempat menyimpan data. Dalam database relasional (yang paling umum), semua interaksi terjadi melalui bahasa khusus - Structured Query Language, atau SQL. Untuk memahami topik ini, cukup membaca salah satu buku:
  • “Belajar SQL”, Alan Bewley;
  • “SQL”, Chris Fiaily;
  • “Kepala SQL Pertama” oleh Lynn Bailey.
Tapi praktek tanpa teori tidak akan berhasil, bukan? Dan pada wawancara untuk menguji pengetahuan tentang SQL, mereka sering (hampir selalu) memberikan satu atau dua masalah dalam menulis query SQL. Oleh karena itu, sangat penting untuk mempertajam keterampilan SQL praktis Anda agar dapat menunjukkan diri Anda dengan baik. Sumber daya yang bagus untuk mendapatkan latihan SQL adalah sumber daya sql-ex.ru .

6.MySQL/PostgreSQL

Setelah mempelajari bahasa SQL, Anda perlu memahami implementasi database secara spesifik. Tergantung pada database, beberapa perintah mungkin sangat bervariasi. Dan perbedaan kemampuan databasenya cukup mencolok. Database relasional yang paling umum adalah MySQL dan PostgreSQL . Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 4MySQL jauh lebih sederhana, tetapi PostgreSQL memiliki kemampuan lebih. Untuk memulainya, cukup mengenal setidaknya salah satu dari mereka. Anda dapat mempelajari implementasi database jika Anda menggunakan keahlian Googling - temukan artikel dan tutorial yang diperlukan di Youtube. Anda harus pandai mencari pertanyaan yang Anda minati dengan benar, karena programmer adalah orang yang “memiliki sabuk hitam” dalam pencarian Google.

7. Maven/Gradle

Anda perlu mempelajari salah satu kerangka kerja Gradle atau Maven , yang dirancang untuk merakit proyek, karena sekarang bagi Anda Java bukan hanya tugas dari beberapa kelas, tetapi juga bahasa untuk menulis aplikasi lengkap. Anda harus memahami cara merakit sebuah proyek, apa saja tahapan perakitannya, cara memuat perpustakaan eksternal yang diperlukan dengan kode yang sudah jadi, dan masih banyak lagi. Meskipun Gradle lebih baru dan ringkas, Maven digunakan dalam banyak kasus. Oleh karena itu, berikan perhatian khusus pada siklus hidup perakitannya.

8. Git

Git adalah sistem kontrol versi terdistribusi. Teknologi ini memungkinkan pengembang untuk bersama-sama membuat satu aplikasi tanpa saling mengganggu. Tentu saja, ada analogi dengan sistem kontrol versi ini. Misalnya, Subversi . Namun yang paling banyak digunakan adalah Git , dan Anda harus bisa menggunakannya. Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 5Selain artikel edukasi di dalamnya, terdapat cukup banyak video di Youtube yang akan membantu Anda menguasai teknologi ini selangkah demi selangkah. Pada awalnya, lebih baik menggunakan konsol Git, dan bukan implementasi antarmuka, karena di dalamnya Anda perlu melakukan semuanya melalui perintah. Selama wawancara, orang sering meminta beberapa perintah Git , jadi saya sarankan Anda menuliskannya dan menyimpannya di tempat yang mudah dijangkau. Saya juga menyarankan Anda untuk membuat catatan di mana Anda akan menandai poin-poin terpenting, sehingga sebelum wawancara Anda dapat membahasnya dan menyegarkan ingatan Anda.

9.JDBC

Teknologi ini dirancang untuk menyediakan konektivitas antara aplikasi Java Anda dan database relasional. Untuk mengetahui dasar-dasarnya, saya sarankan membaca artikel JDBC atau Where It All Begins. Ada banyak artikel yang menjelaskan teknologi JDBC dan memberikan contoh dasar, meskipun faktanya tidak ada lagi yang menggunakan JDBC telanjang secara langsung.

10.JPA. Hibernasi

JPA adalah cara membuat koneksi antara aplikasi Java dan database, sama seperti JDBC. Namun pada saat yang sama, JPA adalah teknologi tingkat tinggi dan karenanya lebih mudah digunakan. Namun JPA hanyalah sebuah spesifikasi (sebuah konsep) yang tidak diimplementasikan dan memerlukan implementasi tertentu. Ada banyak implementasi seperti itu, tetapi yang paling dekat dengan cita-cita JPA, populer dan berkembang, adalah Hibernate . Dalam karir pengembangan Anda, Anda akan menemukan teknologi ini lebih dari sekali. Oleh karena itu, selain mengenal teknologi ini melalui artikel, ada baiknya mempertimbangkan untuk membaca buku tentangnya, misalnya “ Java Persistence API ”.

11.Musim semi

Saat Anda menjadi pengembang Java, Spring bukan lagi sekedar kata bagi Anda. Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 6Sekarang kerangka kerja ini memiliki kepentingan utama dengan kebutuhan untuk mengetahui sintaksis bahasa Java. Anda dapat mengatakan bahwa Spring memiliki mitranya, yaitu teknologi Java EE. Namun Java EE sudah ketinggalan zaman dan tidak lagi digunakan dalam proyek baru. Sebagian besar pengembang Java saat ini adalah pengembang Java Spring, jadi pengetahuan tentang beberapa teknologi dasar Spring adalah wajib. Spring bukan hanya sebuah kerangka kerja, tetapi keseluruhan platform kerangka kerja: Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 7Dan ini hanya sebagian dari kerangka kerja yang disediakan Spring. Seorang pemula cukup mengetahui beberapa di antaranya saja:

  • Inti Musim Semi

Anda harus terlebih dahulu memahami apa itu Spring: apa itu container Spring, beans, DI, IoC, dan sebagainya. Jadi, pahamilah filosofi penggunaan Spring. Studi lebih lanjut tentang kerangka kerja Spring akan dilakukan berdasarkan dasar ini. Mungkin ada baiknya membuat aplikasi kecil Anda sendiri, yang secara bertahap Anda akan menambahkan teknologi baru yang telah Anda pelajari.

  • JDBC musim semi

Sebelumnya kita telah membahas tentang teknologi JDBC sebagai teknologi untuk membuat koneksi ke database. Secara umum, penggunaan teknologi secara “telanjang” mungkin tidak ditemukan dalam proyek-proyek saat ini, jadi sepertinya mempelajari JDBC tidak diperlukan. Namun tidak demikian. Dengan melihat inti JDBC, Anda dapat melihat teknologi pada tingkat yang lebih rendah dan memahami masalah dan kekurangannya. Setelah Anda mulai mempelajari Spring JDBC, Anda akan memahami apa sebenarnya yang ditingkatkan, dioptimalkan, dan disembunyikan oleh kerangka kerja ini dari pandangan kita.

  • Hibernasi Musim Semi

Seperti halnya JDBC, kerangka kerja ini meningkatkan penggunaan teknologi yang sudah ada, dalam hal ini Hibernate. Jika Anda mempertimbangkan untuk menggunakan Hibernate tanpa Spring, Anda akan memahami dengan tepat apa manfaat menggunakan Spring Hibernate.

  • musim semi JPA

Sebelumnya kita telah berbicara tentang JPA dan bagaimana JPA hanyalah sebuah spesifikasi yang implementasinya berbeda-beda. Di antara implementasi ini, Hibernate adalah yang paling mendekati ideal. Spring memiliki implementasi JPA idealnya sendiri, yang menggunakan Hibernate "di bawah tenda" dan sedekat mungkin dengan spesifikasi JPA ideal. Teknologi ini disebut Spring JPA. Omong-omong, ini sangat menyederhanakan akses ke database. Anda dapat mempelajari JPA saja tanpa mempelajari JDBC, Hibernate, Spring JDBC, Spring Hibernate. Namun dalam kasus ini, pengetahuan Anda tentang koneksi ke database akan sangat dangkal.

  • MVC musim semi

Dengan teknologi ini, kami dapat menampilkan antarmuka web aplikasi kami kepada pengguna dan memungkinkan antarmuka tersebut berkomunikasi dengan aplikasi lainnya. Teknologi ini juga dapat bekerja tanpa tampilan, ketika ada aplikasi yang bertanggung jawab untuk tampilan, dan Anda berinteraksi dengan aplikasi ini menggunakan permintaan dan tanggapan menggunakan teknologi RESTful . Untuk lebih memahami informasi tentang Spring, selain artikel dan ceramah di YouTube, Anda juga bisa membaca beberapa buku. Saya sangat menyukai buku “Spring in Action” oleh Walls Craig. Sayangnya, di Rusia kini hanya ada versi ketiga yang dianggap ketinggalan jaman. Saya menyarankan Anda untuk membaca versi 6 jika Anda menguasai bahasa Inggris dengan baik. Buku hebat lainnya tentang Musim Semi adalah “Spring 5 for Professionals.” Lebih sulit untuk dipelajari dan lebih seperti Alkitab Musim Semi yang lebih baik disimpan daripada dibaca dari depan ke belakang.Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 8

  • sepatu bot musim semi

Teknologi ini sangat menyederhanakan penggunaan Spring. Saya meletakkannya di akhir daftar karena suatu alasan, karena ia menyembunyikan banyak hal di balik "kap" dan bagi orang yang tidak terbiasa dengan Musim Semi biasa, banyak poin yang mungkin tidak jelas dan tidak dapat dipahami. Pertama, untuk pemahaman yang lebih baik tentang cara kerja kerangka Spring, Anda harus menggunakan Spring biasa, dan kemudian semua manfaat lebih tinggi menggunakan Spring Boot. Saya juga menyarankan Anda untuk membiasakan diri dengan Spring Security dan Spring AOP. Namun berbeda dengan teknologi di atas, pengetahuan mendalam tentang kedua hal tersebut tidak diperlukan saat ini. Teknologi ini bukan untuk pemula. Selama wawancara, junior tidak ditanyai tentang mereka (kecuali mungkin satu pertanyaan dangkal). Baca secara umum apa itu teknologi dan cara kerjanya. Sepanjang artikel ini saya berulang kali menyebutkan membaca buku. Di satu sisi, hal ini tidak perlu. Anda bisa menjadi seorang programmer tanpa membaca satu buku pun, setelah mempelajari semua yang Anda butuhkan mulai dari artikel dan video pelatihan. Di sisi lain, saat ini persaingan pasar untuk pengembang pemula sangat tinggi, sehingga meningkatkan standar pengetahuan awal yang dibutuhkan bagi seorang pemula. Oleh karena itu, semakin banyak Anda tahu, semakin cepat Anda bisa mendapatkan pekerjaan pertama Anda dengan membuat pewawancara terkesan dengan tingkat pengetahuan Anda. Terima kasih semuanya, dan semoga Java menyertai Anda .Daftar periksa pengembang Java.  Apa yang harus diketahui pengembang - 9
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION