CodeGym /Java Blog /Acak /Pertanyaan Java yang rumit sering ditanyakan saat wawanca...
John Squirrels
Level 41
San Francisco

Pertanyaan Java yang rumit sering ditanyakan saat wawancara

Dipublikasikan di grup Acak
Jika Anda pernah mempersiapkan wawancara untuk posisi programmer Java atau lulus ujian sertifikasi apa pun (tidak harus tentang pemrograman), Anda mungkin sudah memperhatikan bahwa pertanyaan yang diajukan di sana sangat spesifik. Banyak dari mereka memaksa Anda berpikir tentang desain bahasa. Beberapa dirancang untuk menyelidiki kedalaman pengetahuan Anda. Ada pertanyaan yang lebih mirip teka-teki daripada yang lainnya, sementara yang lain berhubungan dengan nuansa bahasa yang sangat sulit dipahami tanpa latihan. Pada artikel ini, pengembang Sarans Sing menyajikan beberapa pertanyaan tentang Java. Dengan jawaban, tentu saja. Pertanyaan Java rumit yang sering ditanyakan saat wawancara - 11. Apa yang terjadi jika saya memasukkan pernyataan pengembalian atau System.exit() di blok try/catch? Ini adalah pertanyaan Java yang sangat populer dan halus. Triknya adalah banyak programmer percaya bahwa finallyblok selalu dieksekusi. Dengan menempatkan returnpernyataan di try/catchblok atau menelepon System.exit()dari dalam try/catchblok, pertanyaan tersebut meragukan keyakinan ini. Jawaban atas pertanyaan rumit ini adalah: blok finallyakan dieksekusi ketika returnpernyataan ditempatkan di dalam try/catchblok, tetapi tidak akan dieksekusi ketika System.exit()dipanggil dari dalam try/catchblok. 2. Apakah Java mendukung pewarisan berganda? Ini adalah pertanyaan yang sangat rumit. Pewawancara sering bertanya, "Jika C ++ mendukung pewarisan ganda langsung, lalu mengapa Java tidak bisa?" Jawabannya _sedikit lebih rumit daripada yang terlihat, karena Java mendukung pewarisan tipe berganda. Lagi pula, antarmuka Java dapat memperluas antarmuka lain. Yang mengatakan, Java tidak mendukung banyak implementasi pewarisan. 3. Jika sebuah metode di kelas induk melempar NullPointerExceptions, dapatkah itu diganti dengan metode yang melempar RuntimeExceptions? Ini adalah pertanyaan rumit lainnya terkait dengan kelebihan beban dan penggantian. Jawaban: Metode yang diganti dapat dengan aman membuang NullPointerExceptionkelas induk — RuntimeException, tetapi Anda tidak dapat melakukan hal yang sama dengan jenis pengecualian yang dicentang seperti Exception. 4. Bagaimana Anda menjamin bahwa Nutas dapat mengakses Nsumber daya tanpa kebuntuan? Jika menulis kode multithread bukan keahlian Anda, Anda mungkin benar-benar tersandung pada pertanyaan ini. Ini bisa sulit bahkan untuk programmer berpengalaman yang belum pernah mengalami kebuntuan dan kondisi balapan. Seluruh trik di sini adalah dalam urutan: Anda dapat mencegah kebuntuan dengan melepaskan sumber daya dalam urutan terbalik di mana mereka diperoleh. 5. Apa perbedaan kelas StringBufferdan StringBuilderdi Jawa? Ini adalah pertanyaan bahasa Java klasik yang menurut beberapa pengembang rumit dan yang lainnya – sangat sederhana. Kelas StringBuildermuncul di JDK 1.5. Satu-satunya perbedaan antara kelas-kelas ini adalah StringBuffermetodenya, seperti length(), capacity(), dan append(), disinkronkan, sedangkan metode yang sesuai diStringBuildertidak. Perbedaan mendasar ini berarti penggabungan string lebih cepat dengan StringBuilderdaripada dengan StringBuffer. Sebenarnya, penggunaan StringBuffertidak disarankan, karena penggabungan string dilakukan pada utas yang sama 99% dari waktu. 6. Apa hasil evaluasi ekspresi 1.0/0.0? Apakah itu akan menghasilkan pengecualian atau kesalahan kompilasi? Ini adalah pertanyaan rumit lainnya tentang kelas. Pengembang Java menyadari keberadaan kelas dan tipe data ganda primitif , tetapi saat melakukan operasi floating-point mereka tidak cukup memperhatikan , , , dan aturan yang mengatur perhitungan aritmatika terkait. Jawaban atas pertanyaan ini sederhana: anPertanyaan Java rumit yang sering ditanyakan saat wawancara - 2DoubleDoubleDouble.POSITIVE_INFINITYDouble.NEGATIVE_INFINITYNaN-0.0ArithmeticExceptiontidak akan dibuang; ekspresi mengevaluasi ke Double.POSITIVE_INFINITY. 7. Apa yang terjadi jika Anda mencoba memasukkan kunci ke dalam HashMapyang sudah berisi kunci tersebut? Pertanyaan rumit ini adalah bagian dari pertanyaan umum lainnya: bagaimana cara HashMapkerjanya di Jawa? HashMapadalah sumber pertanyaan membingungkan dan rumit yang populer tentang Java. Inilah jawabannya: jika Anda mencoba memasukkan kembali kunci dalam a HashMap, kunci lama akan diganti, karena kelas HashMaptidak mengizinkan kunci duplikat. Dan kunci yang sama akan mendapatkan kode hash yang sama, yang artinya akan berakhir di tempat yang sama di ember hash. Berdasarkan bahan Quora
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION