Saya telah melalui Pertanyaan, setiap pengembang Net yang baik harus dapat menjawab dan sangat terkesan dengan konten dan pendekatan dari pertanyaan ini, dan dengan semangat yang sama, saya menanyakan pertanyaan ini untuk Java / Java EE Developer.
Menurut Anda pertanyaan apa yang harus dijawab oleh programmer Java / Java EE yang baik?
Saya menandai pertanyaan ini sebagai komunitas wiki karena tidak spesifik untuk pengguna dan bertujuan untuk melayani komunitas pemrograman pada umumnya.
Menantikan tanggapan luar biasa.
EDIT : Tolong jawab pertanyaan juga, seperti yang disarankan dalam komentar, sehingga orang dapat mempelajari sesuatu yang baru mengenai bahasa itu juga.
java
jakarta-ee
Rachel
sumber
sumber
Jawaban:
Apa hubungan antara kode hash () dan equals ()? Apa pentingnya metode ini? Apa persyaratan untuk menerapkannya?
sumber
Apa perbedaan antara Set, Peta, dan Daftar?
Saya masih kagum betapa banyak orang yang tidak tahu ini dalam wawancara telepon.
sumber
Kebanyakan orang menjawab "tidak", karena mereka tahu java tidak memiliki banyak pewarisan. Tetapi suatu antarmuka masih dapat memperluas banyak antarmuka (tetapi suatu kelas tidak dapat memperluas banyak kelas). Ini tidak mengarah pada masalah berlian.
Jika jawabannya "tidak", pewawancara harus bertanya "mengapa akan hal itu dilarang?". Kemudian Anda mulai memikirkannya dan Anda harus menyadari bahwa tidak ada masalah dengannya.
Jadi, Anda belajar sesuatu (sendiri) dalam wawancara dan menunjukkan kepada pewawancara bahwa Anda dapat berargumen tentang kelas, objek, warisan, polimorfisme, dll. Ini sebenarnya jauh lebih baik daripada seorang kandidat yang tahu jawabannya dengan hati tetapi tidak mengerti kenapa
sumber
Penggunaan kata kunci terakhir dalam pemanggilan metode. Sebagai contoh mengapa pengujian metode dalam kode di bawah ini tidak memberikan kesalahan kompilasi meskipun menggunakan kualifikasi akhir untuk parameter metode.
sumber
final
kata kunci diterapkan padaName
objek, bukanname
bidang kelasName
n
dinyatakan final, yang artinya tidak bisa dipindahkan ditest
badan metode. Itu tidak menyebabkan kesalahan karena metodetest
tidak berusaha untuk menetapkan kembali parameter, itu hanya menetapkan properti pada parameter ...n = new Name("test");
akan menyebabkan kesalahan kompilasi ...Satu yang pasti adalah perbandingan string. Perbedaan antara
sumber
Pertanyaan tipuan: Apa jenis parameter yang dilewatkan oleh referensi di Jawa?
Sungguh menakjubkan betapa banyak orang masih membiakkan mantra "primitif dilewatkan oleh nilai, objek dilewatkan dengan referensi" mantra.
sumber
Anda mengatakan "Bagus", "Pengembang". Ini 2 sen saya juga .. :)
Untuk J2EE:
Saya bisa memikirkan banyak, banyak, lebih banyak dari mereka tetapi ini akan dilakukan untuk saat ini :)
sumber
Apa perbedaan antara String, StringBuffer dan StringBuilder?
sumber
"Apa itu deskriptor penyebaran?"
Jika kandidat bergidik tanpa sadar, ia memiliki pengalaman bekerja dengan pre-3.0 EJBs.
sumber
Banyak pertanyaan dan wawancara tersedia di http://www.techinterviews.com/interview-questions/java dan saya tidak benar-benar melihat nilai dalam salinan / menempelkan pilihan mereka.
Tidak, terserah Anda untuk membuat kompilasi Anda sendiri Anda anggap penting. Secara pribadi, saya selalu melanjutkan dalam dua langkah: pertama beberapa pertanyaan untuk mendapatkan ide dasar dari pengalaman dan keterampilan, kemudian situasi pemecahan masalah. Saya memang tidak yakin bahwa mampu menjawab pertanyaan yang diketahui membuat Anda menjadi pemecah masalah yang tidak diketahui baik atau buruk . Jadi, saya lebih suka meminta orang untuk memecahkan masalah yang diberikan, untuk memberi mereka beberapa persyaratan, dan meminta mereka untuk menulis kode (tetapi tidak di atas kertas). Saya memberi mereka waktu untuk kembali kepada saya dan memeriksa bagaimana mereka melakukannya, gaya pengkodeannya, bagaimana mereka menggunakan API yang disarankan, dll.
Semua itu dikatakan, pertanyaan favorit saya adalah "apa yang tidak Anda sukai tentang Jawa?" (dalam semangat yang satu ini ). Ini benar-benar pertanyaan yang sangat bagus, memberi Anda umpan balik langsung tentang seberapa banyak kandidat telah menggunakan Java dan mengeksplorasi API-nya dan apakah ia hanya religius tentang hal itu atau tidak (seperti yang ditulis OP).
Pembaruan: Seperti yang disarankan oleh CPerkins, kata-kata yang lebih baik untuk pertanyaan yang disarankan di atas mungkin "Apa yang paling Anda ingin lihat berubah di Jawa?". Dan memang, saya lebih suka cara ini.
sumber
Apa itu 'Sistem', 'keluar', 'println' di System.out.println? Apa yang terjadi ketika Anda memanggil 'taruh' di HashMap?
sumber
sumber
new
atau^
atau>>
,<<
dan>>>
). Jika saya bisa mengubah satu hal lagi, yang akan menambah benar semantik call-by-referensi. Hal ketiga adalah menambahkanunsigned
tipe integral.sumber
Jika Anda merekrut lulusan dengan Java "mengalami" pertanyaan sederhana seperti Menulis beberapa kode yang akan menyebabkan NullPointerException dilempar dapat membedakan kandidat mana yang telah menggunakan Java baru-baru ini, dan tidak berhenti begitu saja ketika mereka menyelesaikan unit / kursus mereka.
sumber
Apa yang akan dicetak?
Jawab : CoolReturn +1
Sedikit lebih sulit:
Jawab : CoolReturn
sumber
Apa perbedaan antara kelas abstrak dan antarmuka? Kapan Anda akan menggunakan masing-masing?
Banyak pengembang Java tidak mengetahui hal ini, saya bertanya kepada kebanyakan orang pada kursus ilmu komputer saya di universitas dan sebagian besar tidak dapat menjawabnya.
sumber
Pertanyaan sederhana seperti,
Meskipun ini sangat mendasar, banyak pengembang tidak tahu jawabannya. Saya menyarankan ini ditanyakan sebelum pertanyaan terkait kode.
sumber
5 pertanyaan J2EE / JEE teratas
Daftar pertanyaan middleware J2EE / JEE yang saya hadapi sangat panjang, tapi di sini adalah 5 teratas yang pernah saya tanyakan, dan mengarah pada diskusi yang baik:
Pertanyaan ini biasanya mengarah ke berbagai diskusi menarik tentang pesan racun, antrian kesalahan, dll.,
Pertanyaan ini biasanya memungkinkan saya untuk membahas kapan harus menggunakan pelanggan yang tahan lama, kapan harus menggunakan antrian, dll.,
Hal ini menyebabkan diskusi yang indah tentang pemuatan malas, rehidrasi, dll., Bahkan telah menyebabkan membandingkan dan membedakan JPA dengan kacang Entity. Saya merasa berguna untuk dipersiapkan, dan jelas dalam konsep.
Solusi apa pun dari server web sederhana berbasis solusi SOAP / REST canggih, dan apa pun di antaranya, harus cukup baik. Juga, berdasarkan pewawancara, kadang-kadang mengarah ke diskusi yang sangat menarik tentang topik-topik seperti beberapa ide desain - WSDL pertama, gaya doc, perantara SOAP, dll., Hal ini dapat menimbulkan pertanyaan seperti mendaftarkan peningkatan JAX-WS melalui JAX -RPC, atau SOAP1.2 lebih dari SOAP1.1, jawaban yang biasanya didasarkan pada seberapa banyak yang saya ingat.
Pertanyaan ini diajukan dalam banyak cara, mulai dari pola Service Locator hingga
javax.naming.Context
pertanyaan.Pertanyaan rumit lain yang saya temukan bermasalah, tetapi yang sering saya hadapi adalah, Bagaimana perpustakaan dependen dipaketkan menjadi arsip?
atau Visibilitas berbagai kelas dalam arsip yang dibundel.
Jika diskusi tidak mengarah ke hierarki loader kelas dari server aplikasi yang berbeda, arsip sumber daya, dll., Yang terbaik adalah mengundurkan diri dan melanjutkan.
5 inti pertanyaan Java:
Ini adalah ibu dari semua pertanyaan. Setelah Anda dapat secara efektif mendarat pewawancara di daerah ini, dan jika Anda siap, sisa wawancara biasanya tinggal di sini. Pastikan mengetahui
Set
,List
,Map
, dan pentingnyaObject.equals()
danObject.hashCode()
dalam setiap pelaksanaan antarmuka ini.Ini bagus jika pewawancara memiliki pikiran terbuka. Jika pewawancara sudah memikirkan solusi spesifik, dan milik Anda tidak cocok dengan miliknya, Anda hampir hancur. Yang terbaik adalah setuju dengan jawaban "Saya mengerti solusi lain adalah mungkin."
Ini adalah pertanyaan yang pasti untuk banyak pewawancara. Meskipun saya membenci ini, yang terbaik adalah bersiap-siap. Setidaknya mengingat beberapa yang telah saya kerjakan, dan memimpin diskusi ke arah lain, sebagian besar dan secara efektif menghindari dan menyelesaikan masalah.
Waktu dan sekali lagi saya telah diminta untuk menunjukkan pola GoF di Java API. Lebih baik bersiap untuk yang satu ini.
sumber
Perbedaan antara dan server web dan wadah web
sumber
Apa yang paling Anda sukai / paling tidak tentang Java dan mengapa?
sumber
mengapa Anda mengganti metode toString ()?
sumber
Pertanyaan Java yang lebih murni:
Apa perbedaan antara tidur dan menunggu? Tidak banyak orang yang benar-benar mengerti cara menunggu bekerja.
Bagaimana Anda perlu menangani InterruptedExceptions?
sumber
Ini adalah pertanyaan yang saya hadapi dalam wawancara saya.
Mengapa metode utama di Java disebut public static void main (String [] args)?
Menjawab:
1. main () harus dideklarasikan kepada publik karena dijalankan oleh JVM setiap kali eksekusi program dimulai. JVM bukan milik paket program kami.
Untuk mengakses utama di luar paket, kami harus mendeklarasikannya sebagai publik. Jika kami mendeklarasikannya sebagai sesuatu selain publik, ia menunjukkan Galat Runtime tetapi bukan galat waktu kompilasi
2. main () harus dinyatakan sebagai statis karena jika suatu metode dinyatakan sebagai statis maka kita dapat memanggil metode itu di luar kelas menggunakan ClassName.methodName ();
JVM pertama-tama akan memuat kelas Test, dan akan memeriksa argumen Commandline dan memanggil metode utama sebagai Test.main ();
3. main () harus dinyatakan sebagai void main () karena JVM tidak mengharapkan nilai dari main (). Jadi, itu harus dinyatakan sebagai void.
Jika jenis pengembalian lain disediakan, itu adalah RunTimeError yaitu; NoSuchMethodFoundError.
4. main () harus memiliki argumen String sebagai array karena JVM memanggil metode utama dengan mengirimkan argumen baris perintah. Ketika mereka disimpan dalam objek string array itu dilewatkan sebagai argumen ke main ().
sumber
public static void main(String... args)
jika Anda cenderung :-) Ini memiliki tanda tangan yang sama dengan[]
Apa perbedaan antara J2SE dan J2EE (atau JSE dan JEE)?
Pengembang harus dapat menunjukkan bahwa edisi perusahaan pada dasarnya adalah definisi antarmuka (yaitu spesifikasi) yang dapat diimplementasikan oleh vendor. Padahal edisi standar adalah implementasi dalam dirinya sendiri
sumber
Bagaimana
volatile
pengaruhnya terhadap optimasi kode oleh kompiler?sumber
Bagaimana dengan kacang sesi dan jelaskan beberapa perbedaan antara kacang sesi tanpa kewarganegaraan dan kenegaraan.
sumber
Tulis sebuah program untuk menerima dua bilangan bulat dan menampilkan yang terbesar dari dua angka ke file di lokasi pilihan Anda. Sekarang jelaskan apa yang dilakukan setiap pernyataan.
Dimungkinkan untuk menelusuri cukup dalam mulai dari signifikansi pernyataan impor, hingga penghentian abnormal
sumber
Inti: 1. Apa yang dicek dan tidak dicentang pengecualiannya? 2. Sambil menambahkan pengecualian baru dalam kode jenis apa (Dicentang / Tidak Dicentang) untuk digunakan kapan?
Servlet: 1. Apa perbedaan antara response.sendRedirect () dan request.forward ()?
sumber
Bagaimana cara
threads
kerjanya? Apasynchronized
? Jika ada duasynchronized
metode dalam suatu kelas dapat mereka dijalankan secara bersamaan oleh dua utas. Anda akan terkejut mendengar banyak orang menjawab ya . Kemudian semua pertanyaan terkait thread, misalnya kebuntuan , kelaparan , dll.sumber
thread
menjalankan metode ini, tidak ada orang lain yangthread
dapat memperoleh kunci.Satu hal yang tidak diketahui oleh banyak programmer Java adalah String tidak dapat diubah, jadi gunakan StringBuilder atau StringBuffer!
sumber
s += "a" + "b" + "c"
menjadiStringbuilder.append(...)
skenario. Tetapi itu tidak akan mengoptimalkanfor
loop. Kode dalam jawaban ini pada akhirnya akan menciptakan total 201 String, 100 StringBuilders, dan (tergantung pada implementasinya) 300 berbedachar[]
di dalam StringBuilders tersebut, dan diperkirakan 425k + karakter. Mengubahnya untuk menggunakan StringBuilder langsung akan mengurangi ini menjadi 1 String, 1 StringBuilder, dan 13-15 internalchar[]
hanya menggunakan ~ 8k karakter saja seperti seharusnya.