Top 100 câu hỏi phỏng vấn về java năm 2022
Chắc hẳn ứng viên nào khi tham gia phỏng vấn đều rất lo lắng về các câu hỏi mà nhà tuyển dụng có thể đưa ra. Đặc biệt là trong các ngành đặc thù như Marketing, IT, khi mà các câu hỏi của nhà tuyển dụng có thể biến hóa khôn lường. Bài viết hôm nay TopCVsẽ đưa ra 20 câu hỏi phỏng vấn lập trình viên Java thường gặp, phân theo thứ tự từ cơ bản đến nâng cao giúp bạn dễ nắm bắt hơn. Nếu bạn đang có ý định ứng tuyển cho vị trí này thì đừng nên bỏ qua bài viết hữu ích này nhé. Show
Câu hỏi phỏng vấn lập trình viên Java cơ bản Ở phần này chúng tôi sẽ đưa ra các câu hỏi phỏng vấn lập trình viên Java cơ bản mà nhà tuyển dụng thường đưa ra. Các câu hỏi này sẽ giúp đánh giá nền tảng kiến thức về Java của ứng viên. Vì vậy bạn nên chuẩn bị câu trả lời chuẩn - chỉnh cho phần này để khẳng định nền tảng vững chắc của mình. Câu 1: Java là gì?Đây là câu hỏi lý thuyết khá đơn giản, ứng viên chỉ cần trả lời rõ ràng và thẳng thắn là được. Java là ngôn ngữ lập trình cao cấp, hướng đối tượng và độc lập với nền tảng, là ngôn ngữ lập trình di động, hiệu suất cao. Nó được sáng tạo và phát triển bởi James Gosling vào năm 1991 với Slogan “Một lần viết, chạy ở bất cứ nơi nào”. Câu 2: Java có hoàn toàn hướng đối tượng không?Tiếp tục là một câu hỏi phỏng vấn lập trình viên Java khá lý thuyết. Thực tế Java không hướng đối tượng hoàn toàn. Thay vào đó nó có sử dụng các loại dữ liệu như char, byte, float,.. đều không phải là đối tượng. Câu 3: Tính năng nổi bật của Java là gì?Ở câu hỏi này, ứng viên cần nếu được ít nhất 3 tính năng nổi bật của ngôn ngữ lập trình này. Đó là sự đơn giản, an toàn và tính di động. Về sự đơn giản, có thể nói Java là ngôn ngữ lập trình dễ tiếp cận và học tập nhất so với các ngôn ngữ lập trình khác hiện nay. Vì vậy các lập trình viên, nhà phát triển ứng dụng đều có thể sử dụng nó để xây dựng phần mềm. Java an toàn và bảo mật nhờ có trình thông dịch JVM. Sau khi được cài đặt chung với Java, JVM sẽ liên tục cập nhật chương trình bảo mật mới nhất từ Internet. Cuối cùng, Java có tính di động bởi nó được sáng tạo dựa trên nguyên tắc “Viết một lần, chạy được ở bất cứ đâu”. Lập trình viên có thể sử dụng Java để code ở bất cứ máy tính nào theo ý thích. Câu 4: Đặc điểm nổi bật của Java 8 là gì?Đây là câu hỏi phỏng vấn lập trình viên Java kiểu so sánh. Loại câu hỏi này giúp nhà tuyển dụng đánh giá mức độ cập nhật thông tin và kiến thức của ứng viên. Với câu hỏi này bạn cần trả lời được một số tính năng mới của bản cập nhật Java 8 như sau:
Nhìn chung, bản cập nhật Java 8 mang lại sự cải tiến lớn về hiệu năng và tính bảo mật cho ngôn ngữ lập trình này. Java 8 cũng giúp ngôn ngữ lập trình trở nên hiện đại và dễ tiếp cận hơn. Câu 5: “ Access Specifiers” gồm những gì?Access Specifiers là xác định phạm vi truy cập. Trong Java tổng cộng có 4 Access Specifiers là: public (công khai), private (riêng tư), protected (bảo vệ), default (mặc định). Với mỗi trạng thái, quyền truy cập được xác định như sau:
Câu 6: Sự khác nhau giữa JDK, JVM và JRE là gì?JDK (Java Development Kit) là công cụ được sử dụng trong Java để biên dịch các chương trình. Bộ công cụ này chứa tất cả các công cụ cần thiết để phục vụ cho quá trình trên. JVM (Java Virtual Machine) là máy ảo Java được dùng để tạo ra môi trường lý tưởng cho Java bytecode hoạt động chính xác nhất. JRE (Java Runtime Environment) là môi trường do JVM tạo ra, nơi mà Java bytecode có thể hoạt động hiệu quả nhất. Câu 7: Phân biệt lớp trừu tượng với giao diện bằng cách nào?Đây là câu hỏi phỏng vấn lập trình viên Java khá đơn giản. Sự khác biệt giữa lớp trừu tượng và giao diện gồm các điểm chính sau:
Câu 8: Sự khác nhau giữa Path và Classpath VariablesPath là là một biến được dùng để định vị các tệp thực thi. Vì vậy khi cài đặt Java ta cần thêm vị trí thư mục vào Path variable. Điều này cũng giúp hệ điều hành kiểm soát bất cứ thực thi nào. Classpath Variables được dùng để định vị vị trí của các tệp lớn trong thư mục. Nó có thể là một thư mục, tệp Zip hoặc Jar được cài đặt trong ứng dụng Java. Câu 9: “Garbage Collection” được dùng để làm gì?Câu hỏi phỏng vấn lập trình viên Java này khá đơn giản. Công dụng chính của tính năng Garbage Collection là xác định và loại bỏ các đối tượng (rác) không cần thiết để giải phóng bộ nhớ, tạo không gian để các tính năng khác hoạt động. Câu 10: Cách đạt được Luồng an toàn trong JavaĐể đạt được điều này bằng các cách sau:
Sau các câu hỏi cơ bản thì bạn nên tham khảo thêm các câu hỏi phỏng vấn lập trình viên Java nâng cao để gia tăng sự ấn tượng đối với nhà tuyển dụng. Dưới đây là hướng dẫn trả lời 10 câu hỏi phỏng vấn nâng cao thường gặp ở vị trí lập trình viên Java. Câu 11: Sự khác biệt giữa ‘method overloading’ và ‘method overriding’?Với phương thức nạp chồng Method Overloading, các phương thức trong một lớp sẽ có cùng tên nhưng khác biệt về tham số. Còn với phương thức ghi đè Method Overriding, các lớp con sẽ có cùng cả tên và tham số. Câu 12: “Inheritance” là gì?Khi một đối tượng có được các thuộc tính của một đối tượng thuộc lớp khác thì đó chính là Inheritance - Tính kế thừa. Có 5 loại kế thừa, tuy nhiên Java chỉ hỗ trợ 4 loại (trừ tính đa kế thừa). Nguyên nhân chủ yếu là để đơn giản hóa các chương trình. Đây là mục đích chính khi tạo lập ra ngôn ngữ lập trình Java. Câu 13: “Super” là gì?Super được sử dụng như một biến tham chiếu dùng để tham chiếu trực tiếp tới đối tượng của một lớp cha liền kề. Bất cứ một Instance của một lớp con cũng có một Instance tương ứng của lớp ta ngầm định, tức là được tham chiếu bởi biến Super. Câu 14: “Object Cloning” là gì?Object Cloning là nhân bản đối tượng, lệnh này được sử dụng để tạo các bản sao giống hệt với đối tượng gốc. Bạn thực hiện lệnh này bằng cách sử dụng phương thức Clone(). Câu 15: “Association’ trong Java là gì?Đây là câu hỏi phỏng vấn lập trình viên Java khá thông dụng nên nhiều người sẽ không nghĩ đây là một câu hỏi nâng cao. Tuy nhiên vì association là khởi nguồn của các thuật ngữ phức tạp như aggregation (tập hợp) và composition (thành phần). Vì vậy việc hiểu và nắm rõ thuật ngữ này rất quan trọng. Cụ thể, Association (sự liên kết) hình thành khi tất cả các đối tượng có vòng đời và không được sở hữu bởi bất cứ chủ thế nào. Câu 16: Sự khác biệt giữa Jar và WAR là gì?Đây là câu hỏi phỏng vấn lập trình viên Java khá độc đáo và hiếm gặp. Bạn có thể tham khảo câu trả lời như sau: JAR gần giống như là cái hũ bao gồm:
Câu 17: Từ khóa Volatile là gì? Tại sao cần sử dụng từ khóa này?Nếu câu hỏi phỏng vấn lập trình viên Java này được đặt ra, nghĩa là bạn đã đạt tới cấp độ Senior. Với câu hỏi này, bạn cần hiểu từ khóa Volatile sẽ được sử dụng trong trường hợp nào. Trong Java, mỗi Thread sẽ có các Stack riêng chứa bản sao của các biến. Khi khởi tạo Thread, tất cả các biến được cấp quyền truy cập vào luồng này sẽ được sao chép. Lúc này sẽ cần sử dụng tới từ khóa Volatile. Từ khóa này sẽ đảm bảo rằng giá trị của biến được cập nhật mới nhất và là global ở mỗi lần đọc và ghi biến. Câu 18: Method reference là gì? Sự tiện lợi của nó?Đây là câu hỏi phỏng vấn lập trình viên Java khá hay sau khi phiên bản Java 8 được phát hành. Có thể tính năng này đã được nhiều người sử dụng nhưng nếu chưa chắc bạn đã trả lời được câu hỏi này. Tính năng method reference cho phép người dùng khởi tạo Constructors và các Methods. Điều đặc biệt là chúng có thể được sử dụng như là lambdas. Câu 19: Kể tên Superclass dành cho tất cả các lớp trong JavaCâu hỏi phỏng vấn lập trình viên Java thoạt nhìn khá dễ nhưng bạn cần hiểu về cốt lõi của ngôn ngữ lập trình này. Superclass trong Java chính là lớp đối tượng (Object Class). Câu 20: Các câu hỏi về một chương trình cụ thểDạng câu hỏi phỏng vấn lập trình viên Java này bạn sẽ phải ứng biến linh hoạt theo yêu cầu đề bài. Các dạng câu hỏi thường gặp sẽ là tìm đầu ra, tìm lỗi trong chương trình hoặc thậm chí là một bài test. Để trả lời suôn sẻ các câu hỏi này không có cách nào khác ngoài việc bạn phải lập trình nhiều bằng ngôn ngữ Java để quen thuộc với nó. Tìm việc làm Lập trình viên Java tại TopCV: >> Có thể bạn quan tâm: Tìm hiểu về lập trình Java – Cơ hội việc làm lập trình viên Java Trên đây là 20 câu hỏi phỏng vấn lập trình viên Java từ cơ bản tới nâng cao mà bạn nên tham khảo nếu muốn ứng tuyển vào vị trí này. Hiện nay vị trí lập trình viên Java trên TopCV đang được nhiều doanh nghiệp tuyển chọn và săn đón. Đừng quên sử dụng tính năng tạo CV có sẵn trên nền tảng để nhanh chóng ứng tuyển vào các vị trí nghề nghiệp hấp dẫn ngay trên TopCV. Nguồn ảnh: Sưu tầm Bản quyền nội dung thuộc về TopCV.vn, được bảo vệ bởi Luật bảo vệ bản quyền tác giả
DMCA. Mục lụcKhông có trí tuệ rằng Java là một trong những lựa chọn lập trình hàng đầu để đóng gói một công việc sinh lợi.Rốt cuộc, ngôn ngữ lập trình hướng đối tượng dựa trên lớp học, có mục đích chung là một trong những ngôn ngữ lập trình được sử dụng rộng rãi nhất trên thế giới. Với rất nhiều tính năng tuyệt vời, ngôn ngữ lập trình được ưa thích không chỉ bởi các chuyên gia dày dạn mà còn được theo đuổi bởi những người mới tham gia thế giới lập trình.Dưới đây là các câu hỏi và câu trả lời phỏng vấn Java hàng đầu sẽ giúp bạn đóng gói một công việc Java hoặc, ít nhất, nâng cao việc học của bạn. & NBSP; Các câu hỏi phỏng vấn Java này được khuyến nghị cho cả người mới bắt đầu và chuyên gia cũng như cho các nhà phát triển phần mềm và nhà phát triển ứng dụng Android. & NBSP; Câu hỏi và câu trả lời phỏng vấn Java hàng đầuChúng tôi cũng khuyên bạn nên xem các kỹ năng Java của bạn với bảng gian lận Java này trước khi bắt đầu chuẩn bị phỏng vấn Java. & NBSP; Chúng tôi đã chia những câu hỏi phỏng vấn này thành một số phần, bao gồm một câu hỏi để lập trình các câu hỏi phỏng vấn Java. Câu hỏi phỏng vấn Java cơ bản1. Java là gì?Java là một ngôn ngữ lập trình đa năng, hướng đến đối tượng, cấp cao, ban đầu được thiết kế bởi James Gosling và được phát triển thêm bởi Tập đoàn Oracle.Đây là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới. & NBSP; Tìm hiểu thêm về Java tại đây. & NBSP; 2. Máy ảo Java là gì? & NBSP;JVM là một chương trình diễn giải mã byte Java trung gian và tạo ra đầu ra mong muốn.Chính vì mã byte và JVM mà các chương trình được viết bằng Java có tính di động cao. & NBSP; 3. Các tính năng của Java là gì?Sau đây là các tính năng khác nhau của ngôn ngữ lập trình Java:
Bạn có thể muốn xem giải thích chi tiết về các tính năng Java ở đây. & NBSP; 4. Java cho phép hiệu suất cao như thế nào?Trong tổng hợp đúng lúc, mã cần thiết được thực thi tại thời điểm chạy.Thông thường, nó liên quan đến việc dịch mã byte thành mã máy và sau đó thực hiện trực tiếp.Nó cho phép hiệu suất cao.Trình biên dịch JIT được bật theo mặc định trong Java và được kích hoạt ngay khi một phương thức được gọi. & NBSP; Sau đó, nó biên dịch mã byte của phương thức Java vào mã máy gốc. & NBSP; Sau đó, JVM gọi mã được biên dịch trực tiếp thay vì diễn giải nó. 5. Sự khác biệt giữa JVM, JRE và JDK là gì?
6. Trình biên dịch JIT là gì?Trình biên dịch JIT chạy sau khi chương trình được thực thi và biên dịch mã thành một biểu mẫu nhanh hơn, lưu trữ bộ hướng dẫn gốc của CPU.JIT có thể truy cập thông tin thời gian chạy động, trong khi một trình biên dịch tiêu chuẩn không và có thể thực hiện các tối ưu hóa tốt hơn như các hàm nội tuyến được sử dụng thường xuyên. & NBSP; 7. IDE Java là gì?Java IDE là một phần mềm cho phép các nhà phát triển Java dễ dàng viết cũng như gỡ lỗi các chương trình Java.Về cơ bản, nó là một tập hợp các công cụ lập trình khác nhau, có thể truy cập thông qua một giao diện duy nhất và một số tính năng hữu ích, chẳng hạn như hoàn thành mã và làm nổi bật cú pháp. & NBSP; Codenvy, Eclipse và Netbeans là một số IDE Java phổ biến nhất. 8. Java là một ngôn ngữ độc lập với nền tảng.Tại sao?Java không phụ thuộc vào bất kỳ phần cứng hoặc phần mềm cụ thể nào vì nó được biên dịch bởi trình biên dịch và sau đó được chuyển đổi thành mã byte.Mã byte độc lập với nền tảng và có thể chạy trên nhiều hệ thống.Yêu cầu duy nhất là Java cần môi trường thời gian chạy, tức là, JRE, là một bộ công cụ được sử dụng để phát triển các ứng dụng Java. 9. Giải thích typecasting.Khái niệm gán một biến của một loại dữ liệu cho một biến của loại dữ liệu khác.Điều này là không thể cho kiểu dữ liệu Boolean.Có hai loại: ẩn và rõ ràng. 10. Các loại đánh máy khác nhau là gì?Các loại khác nhau của việc đánh máy là:
Sau khi thực hiện, biến tôi sẽ chỉ chứa 3 và không phải là phần thập phân. & Nbsp;
dài l = 123456789; l = 123456789; byte b = (byte) l;// byte không có cùng phạm vi dài vì vậy sẽ mất dữ liệu. b = (byte) l; // byte is of not the same range as long so there will be loss of data. 11. Giải thích các sửa đổi truy cập trong Java.Trình sửa đổi truy cập là các từ khóa được xác định trước trong Java được sử dụng để hạn chế truy cập của một lớp, phương thức, hàm tạo và thành viên dữ liệu trong một lớp khác.Java hỗ trợ bốn công cụ sửa đổi truy cập:
VângCùng một lớp con khôngCùng một gói không phải là lớpLớp con gói khác nhau Gói khác nhau không phải là lớp 12. Các giá trị mặc định cho các biến cục bộ là gì?Các biến cục bộ không được khởi tạo cho bất kỳ giá trị mặc định nào, cả nguyên thủy và tham chiếu đối tượng.
Lớp: Một nhóm các thực thể tương tự. Thành phần: còn được gọi là mối quan hệ tử vong, nó là một hình thức tổng hợp chuyên biệt.Đối tượng con không có vòng đời.Do đó, họ tự động bị xóa nếu đối tượng cha mẹ liên quan bị xóa.
Phá vỡTiếp tụcĐược sử dụng với cả câu lệnh Loop và Switch. Chỉ được sử dụng với các câu lệnh Loop.Nó kết thúc khối vòng hoặc khối chuyển đổi. Nó không chấm dứt mà bỏ qua lần lặp tiếp theo.
Các lớp học, đối tượng và phương pháp Câu hỏi phỏng vấn Java
16. Đối tượng là gì?Một thể hiện của một lớp Java được gọi là một đối tượng.Hai thuộc tính quan trọng của một đối tượng Java là hành vi và trạng thái.Một đối tượng được tạo ngay khi JVM đi qua từ khóa mới. Các biến và phương thức có thể được tạo ra phổ biến cho tất cả các đối tượng và được truy cập mà không sử dụng một đối tượng cụ thể bằng cách khai báo chúng tĩnh.Các thành viên tĩnh cũng có sẵn để được sử dụng bởi các lớp và phương pháp khác. & NBSP; 19. Ý bạn là gì khi xây dựng?Một hàm tạo là một phương pháp có cùng tên với của lớp mà nó thuộc về.Ngay khi một đối tượng mới được tạo, một hàm tạo tương ứng với lớp sẽ được gọi.Mặc dù người dùng có thể tạo ra một hàm tạo rõ ràng, nhưng nó được tạo ra ngay khi một lớp được tạo.Điều này được gọi là hàm tạo mặc định.Các hàm tạo có thể bị quá tải. Nếu một hàm tạo được tạo rõ ràng có tham số, thì cần phải tạo một hàm tạo khác mà không có tham số. 20. Các biến và biến thể hiện cục bộ là gì?Các biến chỉ có thể truy cập vào phương thức hoặc khối mã trong đó chúng được khai báo được gọi là các biến cục bộ.Mặt khác, các biến thể hiện có thể truy cập được vào tất cả các phương thức trong một lớp. & NBSP; Mặc dù các biến cục bộ được khai báo bên trong một phương thức hoặc khối mã, các biến thể hiện được khai báo bên trong một lớp nhưng bên ngoài một phương thức.Ngay cả khi không được gán, các biến thể hiện có một giá trị có thể là null, 0, 0,0 hoặc sai.Đây không phải là trường hợp với các biến cục bộ cần được gán một giá trị, trong đó không gán giá trị sẽ mang lại lỗi.Các biến cục bộ được tự động tạo khi một phương thức được gọi và phá hủy ngay khi phương thức thoát ra.Để tạo các biến thể hiện, từ khóa mới phải được sử dụng. 21. Phương pháp ghi đè là gì?Phương pháp ghi đè trong Java cho phép một lớp con cung cấp một triển khai cụ thể của một phương thức đã được cung cấp bởi cha mẹ hoặc siêu lớp của nó.Phương thức ghi đè xảy ra nếu phương thức lớp con và phương thức siêu lớp có:
22. Quá tải là gì?Quá tải là hiện tượng khi hai hoặc nhiều phương thức khác nhau (quá tải phương thức) hoặc toán tử (quá tải toán tử) có cùng một biểu diễn.Ví dụ: toán tử + thêm hai giá trị số nguyên nhưng kết hợp hai chuỗi.Tương tự, một hàm quá tải được gọi là ADD có thể được sử dụng cho hai mục đích
Không giống như quá trình ghi đè phương thức, quá tải phương thức yêu cầu hai phương thức quá tải phải có cùng tên nhưng các đối số khác nhau.Các chức năng quá tải có thể có hoặc không có các loại trả về khác nhau. 23. Từ khóa cuối cùng đóng vai trò gì trong Java?Nó có tác động gì đến một biến, phương pháp và lớp?Từ khóa cuối cùng trong Java là một công cụ sửa đổi không truy cập chỉ áp dụng cho một lớp, phương thức hoặc biến.Nó phục vụ một mục đích khác nhau dựa trên bối cảnh mà nó được sử dụng.
Mảng, chuỗi và vectơ câu hỏi phỏng vấn java24. Vẽ so sánh giữa Array và ArrayList.Một mảng cần phải nêu kích thước trong thời gian khai báo, trong khi một danh sách mảng không nhất thiết yêu cầu kích thước vì nó thay đổi kích thước linh hoạt.Để đặt một đối tượng vào một mảng, cần phải chỉ định chỉ mục.Tuy nhiên, không có yêu cầu như vậy được áp dụng cho một danh sách mảng.Trong khi một danh sách mảng được tham số hóa, một mảng không được tham số hóa. 25. Sự khác biệt giữa String, StringBuilder và StringBuffer là gì?Các biến chuỗi được lưu trữ trong một nhóm chuỗi không đổi.Với sự thay đổi trong tham chiếu chuỗi, không thể xóa giá trị cũ.Ví dụ: nếu một chuỗi đã lưu trữ một giá trị "cũ", thì việc thêm giá trị mới "mới" sẽ không xóa giá trị cũ.Nó vẫn sẽ ở đó, tuy nhiên, trong một trạng thái không hoạt động.Trong một stringbuffer, các giá trị được lưu trữ trong một ngăn xếp.Với sự thay đổi trong tham chiếu chuỗi, giá trị mới thay thế giá trị cũ hơn.StringBuffer được đồng bộ hóa (và do đó, an toàn cho luồng) và cung cấp hiệu suất chậm hơn so với StringBuilder, cũng là một chuỗibuffer nhưng không được đồng bộ hóa.Do đó, hiệu suất nhanh hơn trong StringBuilder so với StringBuffer. 26. Nhóm chuỗi là gì?Nhóm chuỗi là một tập hợp các chuỗi được lưu trữ trong bộ nhớ heap đề cập đến.Bất cứ khi nào một đối tượng mới được tạo, nó được kiểm tra nếu nó đã có trong nhóm chuỗi.Nếu nó đã có mặt, thì cùng một tham chiếu được trả về biến, nếu không một đối tượng mới được tạo trong nhóm chuỗi và tham chiếu tương ứng được trả về. Câu hỏi phỏng vấn Java nâng caoJava Interview QuestionsGiao diện và các lớp trừu tượng Câu hỏi phỏng vấn Java27. Bạn biết gì về giao diện?Giao diện Java là một mẫu chỉ có khai báo phương thức và không thực hiện phương thức.Đó là một cách giải quyết để đạt được nhiều kế thừa trong Java.Một số đáng nhớ các điểm quan trọng liên quan đến giao diện Java là:
28. Một lớp trừu tượng khác với giao diện như thế nào?Có một số khác biệt giữa một lớp trừu tượng và giao diện trong Java, được tóm tắt như sau:
29. Vui lòng giải thích lớp trừu tượng và phương pháp trừu tượng.Một lớp trừu tượng trong Java là một lớp không thể khởi tạo.Một lớp như vậy thường được sử dụng để cung cấp một cơ sở cho các lớp con để mở rộng cũng như thực hiện các phương thức trừu tượng và ghi đè hoặc sử dụng các phương thức được triển khai được xác định trong lớp trừu tượng. & NBSP; Để tạo ra một lớp trừu tượng, nó cần được theo sau bởi từ khóa trừu tượng.Bất kỳ lớp trừu tượng nào cũng có thể có cả các phương pháp trừu tượng cũng như không Abstract.Một phương pháp trong Java chỉ có tuyên bố và không thực hiện được gọi là một phương pháp trừu tượng.Ngoài ra, một tên phương thức trừu tượng được theo sau bởi từ khóa trừu tượng.Bất kỳ lớp con cụ thể nào mở rộng lớp trừu tượng phải cung cấp một triển khai cho các phương thức trừu tượng. 30. Nhiều kế thừa là gì?Java có hỗ trợ nhiều kế thừa không?Nếu không, làm thế nào nó có thể đạt được?Nếu một lớp con hoặc lớp con có hai lớp cha, điều đó có nghĩa là nó kế thừa các thuộc tính từ hai lớp cơ sở;Nó có nhiều kế thừa.Java không có nhiều kế thừa vì trong trường hợp các lớp cha có cùng tên phương thức.Sau đó, vào thời gian chạy, nó trở nên mơ hồ và trình biên dịch không thể quyết định phương pháp nào để thực hiện từ lớp con. Gói câu hỏi phỏng vấn java31. Gói trong Java là gì?Nêu một số lợi thế.Các gói là cách của Java để nhóm nhiều lớp và/hoặc giao diện của Java với nhau.Chức năng của các đối tượng quyết định cách chúng được nhóm.Packagers hoạt động như "container" cho các lớp học. Nhập ngũ dưới đây là những lợi thế của các gói:
Câu hỏi phỏng vấn Java đa luồng32. Làm thế nào để bạn tạo một chủ đề trong Java?Cho ví dụ.Để tạo một chủ đề trong Java, có hai tùy chọn:
Một nhược điểm của việc sử dụng lớp luồng là không thể mở rộng bất kỳ lớp nào khác. Tuy nhiên, có thể làm quá tải phương thức Run () trong lớp
33. Tại sao chúng ta sử dụng phương thức sản lượng ()?Phương thức sản lượng () thuộc về lớp luồng.Nó chuyển luồng hiện đang chạy sang trạng thái Runnable và cũng cho phép các luồng khác thực thi.Nói cách khác, nó mang lại cho các chủ đề ưu tiên như nhau cơ hội để chạy.Vì sản lượng () là một phương thức tĩnh, nó không giải phóng bất kỳ khóa nào. 34. Giải thích vòng đời chủ đề trong Java.Vòng đời chủ đề có các trạng thái sau và tuân theo thứ tự sau:
35. Khi nào giao diện Runnable được ưu tiên hơn lớp luồng và ngược lại?Trong Java, chỉ có thể mở rộng một lớp.Do đó, lớp luồng chỉ được mở rộng khi không có lớp nào khác cần được mở rộng.Nếu một lớp được yêu cầu mở rộng một số lớp khác ngoài lớp luồng, thì chúng ta cần sử dụng giao diện Runnable. 36. Vẽ so sánh giữa các phương thức Thông báo () và thông báo ().Phương thức thông báo () được sử dụng để gửi tín hiệu để đánh thức một luồng duy nhất trong nhóm chờ.Ngược lại, phương thức notifyall () được sử dụng để gửi tín hiệu để đánh thức tất cả các luồng trong nhóm chờ. 37. Làm thế nào bạn sẽ phân biệt các quy trình với các chủ đề?Có một số khác biệt cơ bản giữa một quy trình và một luồng, được nêu như sau:
38. Phương thức tham gia () là gì?Cho một ví dụ.Chúng tôi sử dụng phương thức tham gia () để tham gia một luồng với phần cuối của luồng hiện đang chạy.Nó là một phương pháp không tĩnh và có phiên bản quá tải.Xem xét ví dụ dưới đây:
Chủ đề chính bắt đầu thực thi trong ví dụ được đề cập ở trên.Ngay khi thực thi đạt đến mã t.start (), thì luồng t bắt đầu ngăn xếp của nó để thực thi.JVM chuyển đổi giữa luồng chính và luồng ở đó.Khi việc thực thi đạt đến t.join (), thì chỉ riêng luồng t được thực thi và được phép hoàn thành nhiệm vụ của mình.Sau đó, luồng chính tiếp tục thực thi. 39. Làm thế nào để bạn thực hiện một chủ đề dừng trong java?Có ba phương thức trong Java để ngăn chặn việc thực hiện một luồng:
Ngoại lệ xử lý các câu hỏi phỏng vấn Java40. Các loại ngoại lệ khác nhau là gì?Làm thế nào để bạn xử lý chúng?Java có quy định cho hai loại ngoại lệ:
Các trường hợp ngoại lệ trong Java được xử lý theo hai cách: Khai báo từ khóa ném: Chúng tôi có thể khai báo ngoại lệ bằng cách sử dụng từ khóa ném ở cuối phương thức.Ví dụ: We can declare the exception using throws keyword at the end of the method. For example:
Sử dụng thử/bắt: Bất kỳ phân đoạn mã nào dự kiến sẽ mang lại một ngoại lệ được bao quanh bởi khối thử.Khi xảy ra ngoại lệ, nó bị bắt bởi khối bắt theo khối thử.Ví dụ: Any code segment that is expected to yield an exception is surrounded by the try block. Upon the occurrence of the exception, it is caught by the catch block that follows the try block. For example:
41. Vẽ hệ thống phân cấp ngoại lệ Java.42. Có thể viết nhiều khối bắt trong một khối thử không?Có, có thể viết một số khối bắt trong một khối thử duy nhất.Tuy nhiên, cách tiếp cận cần phải từ cụ thể đến chung.Ví dụ sau đây cho thấy nó:
43. Từ khóa ném khác với từ khóa ném như thế nào?Mặc dù từ khóa ném cho phép khai báo một ngoại lệ, từ khóa ném được sử dụng để ném rõ ràng một ngoại lệ. & NBSP; Các trường hợp ngoại lệ đã kiểm tra không thể được truyền chỉ bằng cú ném, nhưng ném cho phép làm như vậy mà không cần bất cứ điều gì khác. & NBSP; Từ khóa ném được theo sau bởi một lớp, trong khi từ khóa ném được theo sau bởi một ví dụ.Từ khóa ném được sử dụng trong phương thức, nhưng từ khóa ném được sử dụng với chữ ký phương thức. & NBSP; Hơn nữa, không thể ném nhiều ngoại lệ, nhưng có thể khai báo nhiều trường hợp ngoại lệ. 44. Giải thích các trường hợp ngoại lệ khác nhau Xử lý các từ khóa trong Java.Có hai từ khóa xử lý ngoại lệ quan trọng trong Java, tiếp theo là từ khóa thứ ba, có thể hoặc không thể được sử dụng sau khi xử lý các ngoại lệ. try: Nếu và khi một phân đoạn mã có khả năng có một bất thường hoặc lỗi, nó sẽ được đặt trong một khối thử.Khi ngoại lệ được nâng lên, nó được xử lý và bắt bởi khối bắt. Khối thử phải có bắt () hoặc cuối cùng () hoặc cả hai khối sau nó. catch: Khi một ngoại lệ được nâng lên trong khối thử, nó được xử lý trong khối bắt. final: Khối này được thực hiện bất kể ngoại lệ.Nó có thể được đặt sau khi thử {} hoặc bắt {}. 45. Giải thích sự lan truyền ngoại lệ.Phương pháp ở đầu ngăn xếp ném một ngoại lệ nếu nó không bị bắt.Nó chuyển sang phương pháp tiếp theo và tiếp tục cho đến khi bị bắt. Example:
Ngăn xếp của mã trên là: 0Nếu một ngoại lệ xảy ra trong phương thức add () không bị bắt, thì nó sẽ chuyển sang bổ sung phương thức ().Sau đó, nó được chuyển sang phương thức chính (), trong đó luồng thực thi dừng lại.Nó được gọi là nhân giống ngoại lệ. Tệp xử lý các câu hỏi phỏng vấn Java46. Có phải một tên tệp trống với phần mở rộng .java một tên tệp hợp lệ không?Có, Java cho phép chúng tôi lưu tệp Java của chúng tôi chỉ bằng .Java.Nó được biên soạn bởi Javac và được điều hành bởi tên lớp Java.Đây là một ví dụ: 1Để biên dịch: javac.java Để chạy: java bất kỳ Bộ sưu tập câu hỏi phỏng vấn java47. Bộ sưu tập là gì?Thành phần của họ là gì?Một nhóm các đối tượng trong Java được gọi là bộ sưu tập.Gói java.util chứa, cùng với các cơ sở ngày và thời gian, quốc tế hóa, các lớp thu thập kế thừa, v.v., các lớp và giao diện khác nhau để thu thập.Ngoài ra, các bộ sưu tập có thể được coi là một khung được thiết kế để lưu trữ các đối tượng và điều khiển thiết kế trong đó các đối tượng được lưu trữ.Bạn có thể sử dụng các bộ sưu tập để thực hiện các hoạt động sau trên các đối tượng:
Sau đây là các thành phần khác nhau của khung bộ sưu tập:
48. Làm thế nào để bạn phân biệt Hashmap và Hashtable?Hashmap trong Java là một lớp thu thập dựa trên bản đồ, được sử dụng để lưu trữ các cặp khóa & giá trị.Nó được ký hiệu là Hashmap hoặc Hashmap Hashtable là một mảng của một danh sách, trong đó mỗi danh sách được gọi là một cái xô. & NBSP; Các giá trị có trong một hashtable là duy nhất và phụ thuộc vào khóa.Các phương pháp không được đồng bộ hóa trong hashmap, trong khi các phương pháp chính được đồng bộ hóa trong Hashtable. & NBSP; Tuy nhiên, Hashmap không có an toàn chủ đề, trong khi Hashtable có như nhau. & NBSP; Đối với các giá trị lặp, HashMap sử dụng trình lặp và Hashtable sử dụng một bảng điều khiển.Hashtable không cho phép bất cứ thứ gì là null, trong khi HashMap cho phép một khóa null và một số giá trị null. & NBSP; Về hiệu suất, Hashtable là chậm.So sánh, Hashmap nhanh hơn. 49. Bản đồ là gì và các loại là gì?Bản đồ Java là một đối tượng ánh xạ các phím đến các giá trị.Nó không thể chứa các khóa trùng lặp và mỗi khóa chỉ có thể ánh xạ tới một giá trị.Để xác định xem hai khóa có giống nhau hay khác biệt hay không, bản đồ sử dụng phương thức Equals ().Có 4 loại bản đồ trong Java, được mô tả như sau:
50. Hàng đợi ưu tiên là gì?Một hàng đợi ưu tiên, giống như một hàng đợi thông thường, là một loại dữ liệu trừu tượng, nhưng nó có mức độ ưu tiên liên quan đến từng yếu tố chứa nó. & NBSP; Phần tử có ưu tiên cao được phục vụ trước phần tử có mức độ ưu tiên thấp trong hàng đợi ưu tiên.Các yếu tố trong hàng đợi ưu tiên được đặt hàng theo bộ so sánh hoặc tự nhiên.Thứ tự của các yếu tố trong một hàng đợi ưu tiên thể hiện ưu tiên tương đối của chúng. 51. Bộ là gì?Giải thích các loại trong bộ sưu tập Java.Trong Java, một bộ là một tập hợp các đối tượng độc đáo.Nó sử dụng phương thức Equals () để xác định xem hai đối tượng có giống nhau hay không.Các loại tập hợp khác nhau trong các bộ sưu tập Java là:
52. Điều gì được đặt hàng và sắp xếp khi nói đến các bộ sưu tập?
Câu hỏi phỏng vấn Java linh tinh & NBSP;53. Các loại người thu gom rác khác nhau trong Java là gì?Ngôn ngữ lập trình Java có bốn loại người thu gom rác:
54. Bạn hiểu gì khi đồng bộ hóa?Nhược điểm quan trọng nhất của nó là gì?Nếu một số chủ đề cố gắng truy cập một khối mã duy nhất, thì có khả năng tạo ra kết quả không chính xác.Đồng bộ hóa được sử dụng để ngăn chặn điều này.Sử dụng từ khóa đồng bộ hóa làm cho một luồng cần một khóa để truy cập mã được đồng bộ hóa.Đơn giản, đồng bộ hóa chỉ cho phép một luồng truy cập một khối mã tại một thời điểm.Mỗi đối tượng Java có khóa và mỗi khóa chỉ có một khóa.Một luồng chỉ có thể truy cập một phương thức được đồng bộ hóa nếu nó có thể lấy chìa khóa vào khóa của đối tượng.Ví dụ sau đây cho thấy đồng bộ hóa: 2Lưu ý: Nên tránh thực hiện đồng bộ hóa cho tất cả các phương pháp.Điều này là do khi chỉ có một luồng có thể truy cập mã được đồng bộ hóa, luồng tiếp theo cần phải chờ.Do đó, nó dẫn đến hiệu suất chậm hơn của chương trình.: It is recommended to avoid implementing synchronization for all methods. This is because when only one thread can access the synchronized code, the next thread needs to wait. Consequently, it results in slower performance of the program. 55. Sự khác biệt giữa Execute (), ExecuteQuery () và ExecuteUpdate () là gì?
Lưu ý: Phương thức EXECUTE () chỉ cần được sử dụng trong một kịch bản khi không có gì chắc chắn về loại câu lệnh.Trong tất cả các trường hợp khác, hoặc sử dụng phương thức ExecuteQuery () hoặc ExecuteUpdate ().: The execute() method needs to be used only in a scenario when there is no certainty about the type of statement. In all other cases, either use executeQuery() or executeUpdate() method. 56. Cung cấp một ví dụ về kiến trúc ngủ đông.57. Bạn có thể trình bày cách xóa cookie trong JSP bằng ví dụ mã không?Mã sau đây cho thấy việc xóa cookie trong JSP: 358. Viết các ví dụ mã phù hợp để chứng minh việc sử dụng cuối cùng, cuối cùng và hoàn thiện.Cuối cùng: & nbsp; Từ khóa cuối cùng được sử dụng để hạn chế một lớp, phương thức và biến.Một lớp cuối cùng không thể được kế thừa, một phương pháp cuối cùng bị vô hiệu hóa quá mức và một biến cuối cùng trở thành một hằng số, giá trị của nó không thể thay đổi. The final keyword is used for restricting a class, method, and variable. A final class can't be inherited, a final method is disabled from overriding, and a final variable becomes a constant i.e., its value can't be changed. 4Cuối cùng: Bất kỳ mã nào bên trong khối cuối cùng sẽ được thực thi, bất kể ngoại lệ có được xử lý hay không.Any code inside the final block will be executed, irrespective of whether an exception is handled or not. 5Hoàn thiện: Phương pháp hoàn thiện thực hiện làm sạch ngay trước khi đối tượng được thu thập rác. The finalize method performs the clean up just before the object is garbage collected. 659. Biến dễ bay hơi phục vụ mục đích gì?Giá trị được lưu trữ trong một biến dễ bay hơi không được đọc từ bộ nhớ bộ nhớ cache của luồng mà từ bộ nhớ chính.Các biến dễ bay hơi được sử dụng chủ yếu trong quá trình đồng bộ hóa. 60. Vui lòng so sánh tuần tự hóa và giải phóng.Tuần tự hóa là quá trình mà các đối tượng Java được chuyển đổi thành luồng byte. & Nbsp; Hủy bỏ là quá trình tuần tự hóa hoàn toàn ngược lại trong đó các đối tượng Java được lấy từ luồng byte. & nbsp; một đối tượng Java được tuần tự hóa bằng cách viết nó vào một objectOutputStream và bị thu hẹp bằng cách đọc nó từ một objectInputStream. 61. OutofMemoryError là gì?Thông thường, ngoại lệ outofmemoryError được ném khi JVM không thể phân bổ một đối tượng do hết bộ nhớ.Trong tình huống như vậy, không có bộ nhớ nào có thể được thu thập lại bởi người thu gom rác. & Nbsp; Có thể có một số lý do dẫn đến ngoại lệ outofmemoryError, trong đó những lý do đáng chú ý nhất là:
62. Giải thích khoảng trống tĩnh công khai chính (chuỗi args []) trong javaChương trình Java thực thi bắt đầu với VOID tĩnh công khai (String args []), còn được gọi là phương thức main ().
63. Các lớp trình bao bọc trong Java là gì?Các lớp trình bao bọc chịu trách nhiệm chuyển đổi các nguyên thủy Java thành các loại tham chiếu (đối tượng).Một lớp được dành riêng cho mọi loại dữ liệu nguyên thủy.Chúng được gọi là các lớp trình bao bọc vì chúng bọc kiểu dữ liệu nguyên thủy thành một đối tượng của lớp đó.Nó có mặt trong gói java.lang.Bảng dưới đây hiển thị các loại nguyên thủy và lớp trình bao bọc khác nhau.
64. Giải thích khái niệm về quyền anh, Unboxing, Autoboxing và Auto Unboxing.
765. Xác định lớp Singleton.Làm thế nào một lớp học có thể được thực hiện đơn lẻ?Một lớp Singleton chỉ cho phép một trường hợp của lớp được tạo.Một lớp học có thể được thực hiện singleton với các bước sau:
866. Điều gì sẽ xảy ra nếu khoảng trống tĩnh công khai được thay thế bằng khoảng trống công khai tĩnh, chương trình có còn chạy không?Có, chương trình sẽ biên dịch và chạy mà không có bất kỳ lỗi nào vì thứ tự của các nhà xác định không quan trọng. 67. Sự khác biệt giữa == và bằng () là gì?
68. Tại sao chúng ta không sử dụng con trỏ trong Java?Con trỏ được coi là không an toàn và tăng sự phức tạp của chương trình, việc thêm khái niệm về con trỏ có thể mâu thuẫn.Ngoài ra, JVM chịu trách nhiệm phân bổ bộ nhớ ngầm;Do đó, để tránh truy cập trực tiếp vào bộ nhớ của người dùng, các con trỏ không được khuyến khích trong Java. 69. Sự khác biệt giữa điều này () và Super () là gì?
Câu hỏi phỏng vấn mã hóa Java & NBSP;Ngoài việc có kiến thức tốt về các khái niệm về lập trình Java, bạn cũng được kiểm tra các kỹ năng của mình trong việc mã hóa ngôn ngữ lập trình Java.Sau đây là các câu hỏi phỏng vấn mã hóa Java có liên quan đến các sinh viên năm mới và khá phổ biến trong các cuộc phỏng vấn lập trình Java. 70. Hãy xem hai đoạn mã bên dưới.Sự khác biệt quan trọng giữa hai là gì?i. 1ii. 2Mã mã i.là một ví dụ về quá tải phương thức trong khi đoạn mã II.Thể hiện phương thức ghi đè.i. is an example of method overloading while the code snippet ii. demonstrates method overriding. 71. Viết một chương trình để đảo ngược chuỗi mà không sử dụng hàm sẵn. 372. Viết một chương trình để xóa các bản sao từ một mảng. 473. Viết một chương trình để đảo ngược một số. 574. Viết một chương trình thực hiện tìm kiếm nhị phân. 675. Viết một chương trình để kiểm tra xem một số là chính. 776. Viết một chương trình để in loạt Fibonacci. 877. Viết một chương trình để kiểm tra xem chuỗi đã cho là một palindrom. 978. Viết một chương trình để in mẫu sau.* * * * * * * * * * * * * * * Answer: 079. Viết một chương trình để trao đổi hai số. 180. Viết một chương trình để kiểm tra xem số đã cho là số Armstrong. 2Bản tóm tắtNhững câu hỏi phỏng vấn Java cốt lõi và các câu hỏi phỏng vấn lập trình Java là một cách tuyệt vời để chuẩn bị cho bạn cho cuộc phỏng vấn. & NBSP; Chúng tôi cũng đã cung cấp một tệp PDF cho sự chuẩn bị của bạn để bạn có thể tải xuống và tìm hiểu và chuẩn bị khi di chuyển: & nbsp; Tải xuống câu hỏi phỏng vấn java pdf Bạn cũng có thể xem khóa học này để đọc và chuẩn bị thêm cho một cuộc phỏng vấn dựa trên Java: Hướng dẫn phỏng vấn Java: 200+ Câu hỏi và trả lời phỏng vấn Chúng tôi khuyên bạn nên giúp bạn thành công trong các cuộc phỏng vấn Java trong tương lai: Các yếu tố của các cuộc phỏng vấn lập trình trong Java: The Insider Guid Các câu hỏi thường gặp1. Các câu hỏi Java cơ bản được hỏi trong một cuộc phỏng vấn là gì?Có một số câu hỏi phỏng vấn Java cơ bản có thể xuất hiện trong một cuộc phỏng vấn.Nhìn vào những cái mà chúng tôi đã liệt kê ở trên để hiểu về chúng. 2. Tôi nên chuẩn bị cho một cuộc phỏng vấn Java như thế nào?Bạn nên chuẩn bị cho một cuộc phỏng vấn Java bằng cách học cả lý thuyết và thực hành mã hóa.Có một số câu hỏi liên quan ở trên. 3. Các câu hỏi phỏng vấn Java nâng cao là gì?Các câu hỏi phỏng vấn Java nâng cao có thể là nhiều loại, bao gồm cả các câu hỏi dựa trên lý thuyết và mã hóa.Kiểm tra danh sách trên các câu hỏi lập trình Java ở trên để xem chúng giống như thế nào. Mọi người cũng đang đọc:
Các câu hỏi phỏng vấn Java phổ biến nhất là gì?Câu hỏi và câu trả lời phỏng vấn Java phổ biến nhất.. Q #1) Java là gì?.... Q #2) Các tính năng của Java là gì?.... Q #3) Java cho phép hiệu suất cao như thế nào?.... Q #4) Đặt tên cho Java IDE?.... Q #5) Bạn có nghĩa là gì khi xây dựng?.... Q #6) Biến cục bộ và biến thể hiện có nghĩa là gì?.... Q #7) Lớp học là gì ?. 50 câu hỏi và câu trả lời phỏng vấn phổ biến là gì?Hơn 50 câu hỏi phỏng vấn công việc phổ biến nhất.. Cho tôi biết về bản thân của bạn.. Dẫn tôi qua sơ yếu lý lịch của bạn .. Làm thế nào bạn biết đến vị trí này?. Tại sao bạn muốn làm việc tại công ty này?. Tại sao bạn muốn công việc này?. Tại sao chúng tôi nên tuyển dụng bạn?. Bạn có thể mang theo gì cho công ty?. Điểm mạnh lớn nhất của bạn là gì?. Trang web nào tốt nhất cho các câu hỏi phỏng vấn Java?10 trang web và địa điểm để thực hành các vấn đề mã hóa cho các cuộc phỏng vấn vào năm 2022.. LeetCode.Leetcode là một trang web tuyệt vời và tương đối mới với một số lượng lớn các câu hỏi..... Geekforgeeks..... Hackerrank..... Javarevisited..... Sự quan tâm..... Mã nghề nghiệp Blog..... Java67..... Làm cách nào để chuẩn bị cho cuộc phỏng vấn Java trong 10 năm?Những chủ đề nào để chuẩn bị cho các cuộc phỏng vấn Java ?.. Nguyên tắc cơ bản của Java .. Cấu trúc dữ liệu và thuật toán .. Các khái niệm hướng đối tượng .. MultiThreading, đồng thời và cơ bản chủ đề .. Khung bộ sưu tập Java .. Chuyển đổi loại ngày và các nguyên tắc cơ bản .. Array.. Thu gom rác thải.. |