針對初學者的 200 多個 Java 面試問題
從這 6 小時的課程，你會學到
- 了解初學者 Java 面試會遇到的問題類型
- 回答關於 Java 平台、包裝類( Wrapper Classes )和字串( Strings )的問題
- 了解 Java 的新特性
- 了解基本的物件導向( Object Oriented ) 概念
- 回答關於集合( Collections )、泛型( Generics )和多執行緒( MultiThreading )的問題
- 了解 Java 5、Java 6、Java 7 和 Java 8 中的新功能
- 理解函數式程式設計( Functional Programming )的基礎 – Lambda 表達式和串流( Streams )
- 熟悉 Java 和任何 Java IDE
- 在這個課程中，我們使用 Eclipse 來展示範例。 懂某個 Java IDE 將會很有用。
- 可存取 Github 貯存庫( Repository )
準備 Java 面試很困難。 你需要對新功能有很好的理解，並在準備中修改你使用過的概念。 本課程幫助你準備 Java 面試，其中包含 200 多個 Java 面試問題和解答，包含下面列出的各種主題的程式碼與實踐範例。
1 . Why is Java so popular?
2 . What is platform independence?
3 . What is bytecode?
4 . Compare JDK vs JVM vs JRE
5 . What are the important differences between C++ and Java?
6 . What is the role for a classloader in Java?
7 . What are Wrapper classes?
8 . Why do we need Wrapper classes in Java?
9 . What are the different ways of creating Wrapper class instances?
10 . What are differences in the two ways of creating Wrapper classes?
11 . What is auto boxing?
12 . What are the advantages of auto boxing?
13 . What is casting?
14 . What is implicit casting?
15 . What is explicit casting?
16 . Are all String’s immutable?
17 . Where are String values stored in memory?
18 . Why should you be careful about String concatenation(+) operator in loops?
19 . How do you solve above problem?
20 . What are differences between String and StringBuffer?
21 . What are differences between StringBuilder and StringBuffer?
22 . Can you give examples of different utility methods in String class?
Object oriented programming basics
23 . What is a class?
24 . What is an object?
25 . What is state of an object?
26 . What is behavior of an object?
27 . What is the super class of every class in Java?
28 . Explain about toString method ?
29 . What is the use of equals method in Java?
30 . What are the important things to consider when implementing equals method?
31 . What is the Hashcode method used for in Java?
32 . Explain inheritance with examples .
33 . What is method overloading?
34 . What is method overriding?
35 . Can super class reference variable can hold an object of sub class?
36 . Is multiple inheritance allowed in Java?
37 . What is an interface?
38 . How do you define an interface?
39 . How do you implement an interface?
40 . Can you explain a few tricky things about interfaces?
41 . Can you extend an interface?
42 . Can a class extend multiple interfaces?
43 . What is an abstract class?
44 . When do you use an abstract class?
45 . How do you define an abstract method?
46 . Compare abstract class vs interface?
47 . What is a constructor?
48 . What is a default constructor?
49 . Will this code compile?
50 . How do you call a super class constructor from a constructor?
51 . Will this code compile?
52 . What is the use of this()?
53 . Can a constructor be called directly from a method?
54 . Is a super class constructor called even when there is no explicit call from a sub class constructor?
Advanced object oriented concepts
55 . What is polymorphism?
56 . What is the use of instanceof operator in Java?
57 . What is coupling?
58 . What is cohesion?
59 . What is encapsulation?
60 . What is an inner class?
61 . What is a static inner class?
62 . Can you create an inner class inside a method?
63 . What is an anonymous class?
64 . What is default class modifier?
65 . What is private access modifier?
66 . What is default or package access modifier?
67 . What is protected access modifier?
68 . What is public access modifier?
69 . What access types of variables can be accessed from a class in same package?
70 . What access types of variables can be accessed from a class in different package?
71 . What access types of variables can be accessed from a sub class in same package?
72 . What access types of variables can be accessed from a sub class in different package?
73 . What is the use of a final modifier on a class?
74 . What is the use of a final modifier on a method?
75 . What is a final variable?
76 . What is a final argument?
77 . What happens when a variable is marked as volatile?
78 . What is a static variable?
Conditions & Loops
79 . Why should you always use blocks around if statement?
80 . Guess the output
81 . Guess the output
82 . Guess the output of this switch block .
83 . Guess the output of this switch block?
84 . Should default be the last case in a switch statement?
85 . Can a switch statement be used around a String
86 . Guess the output of this for loop
87 . What is an enhanced for loop?
88 . What is the output of the for loop below?
89 . What is the output of the program below?
90 . What is the output of the program below?
91 . Why is exception handling important?
92 . What design pattern is used to implement exception handling features in most languages?
93 . What is the need for finally block?
94 . In what scenarios is code in finally not executed?
95 . Will finally be executed in the program below?
96 . Is try without a catch is allowed?
97 . Is try without catch and finally allowed?
98 . Can you explain the hierarchy of exception handling classes?
99 . What is the difference between error and exception?
100 . What is the difference between checked exceptions and unchecked exceptions?
101 . How do you throw an exception from a method?
102 . What happens when you throw a checked exception from a method?
103 . What are the options you have to eliminate compilation errors when handling checked exceptions?
104 . How do you create a custom exception?
105 . How do you handle multiple exception types with same exception handling block?
106 . Can you explain about try with resources?
107 . How does try with resources work?
108 . Can you explain a few exception handling best practices?
109 . What are the default values in an array?
110 . How do you loop around an array using enhanced for loop?
111 . How do you print the content of an array?
112 . How do you compare two arrays?
113 . What is an enum?
114 . Can you use a switch statement around an enum?
115 . What are variable arguments or varargs?
116 . What are asserts used for?
117 . When should asserts be used?
118 . What is garbage collection?
119 . Can you explain garbage collection with an example?
120 . When is garbage collection run?
121 . What are best practices on garbage collection?
122 . What are initialization blocks?
123 . What is a static initializer?
124 . What is an instance initializer block?
125 . What is tokenizing?
126 . Can you give an example of tokenizing?
127 . What is serialization?
128 . How do you serialize an object using serializable interface?
129 . How do you de-serialize in Java?
130 . What do you do if only parts of the object have to be serialized?
131 . How do you serialize a hierarchy of objects?
132 . Are the constructors in an object invoked when it is de-serialized?
133 . Are the values of static variables stored when an object is serialized?
134 . Why do we need collections in Java?
135 . What are the important interfaces in the collection hierarchy?
136 . What are the important methods that are declared in the collection interface?
137 . Can you explain briefly about the List interface?
138 . Explain about ArrayList with an example?
139 . Can an ArrayList have duplicate elements?
140 . How do you iterate around an ArrayList using iterator?
141 . How do you sort an ArrayList?
142 . How do you sort elements in an ArrayList using comparable interface?
143 . How do you sort elements in an ArrayList using comparator interface?
144 . What is vector class? How is it different from an ArrayList?
145 . What is linkedList? What interfaces does it implement? How is it different from an
146 . Can you briefly explain about the Set interface?
147 . What are the important interfaces related to the Set interface?
148 . What is the difference between Set and sortedSet interfaces?
149 . Can you give examples of classes that implement the Set interface?
150 . What is a HashSet?
151 . What is a linkedHashSet? How is different from a HashSet?
152 . What is a TreeSet? How is different from a HashSet?
153 . Can you give examples of implementations of navigableSet?
154 . Explain briefly about Queue interface?
155 . What are the important interfaces related to the Queue interface?
156 . Explain about the Deque interface?
157 . Explain the BlockingQueue interface?
158 . What is a priorityQueue?
159 . Can you give example implementations of the BlockingQueue interface?
160 . Can you briefly explain about the Map interface?
161 . What is difference between Map and sortedMap?
162 . What is a HashMap?
163 . What are the different methods in a Hash Map?
164 . What is a TreeMap? How is different from a HashMap?
165 . Can you give an example of implementation of navigableMap interface?
166 . What are the static methods present in the collections class?
167 . What is the difference between synchronized and concurrent collections in Java?
168 . Explain about the new concurrent collections in Java?
169 . Explain about copyonwrite concurrent collections approach?
170 . What is compareandswap approach?
171 . What is a lock? How is it different from using synchronized approach?
172 . What is initial capacity of a Java collection?
173 . What is load factor?
174 . When does a Java collection throw UnsupportedOperationException?
175 . What is difference between fail-safe and fail-fast iterators?
176 . What are atomic operations in Java?
177 . What is BlockingQueue in Java?
178 . What are Generics?
179 . Why do we need Generics? Can you give an example of how Generics make a program more flexible?
180 . How do you declare a generic class?
181 . What are the restrictions in using generic type that is declared in a class declaration?
182 . How can we restrict Generics to a subclass of particular class?
183 . How can we restrict Generics to a super class of particular class?
184 . Can you give an example of a generic method?
185 . What is the need for threads in Java?
186 . How do you create a thread?
187 . How do you create a thread by extending thread class?
188 . How do you create a thread by implementing runnable interface?
189 . How do you run a thread in Java?
190 . What are the different states of a thread?
191 . What is priority of a thread? How do you change the priority of a thread?
192 . What is executorservice?
193 . Can you give an example for executorservice?
194 . Explain different ways of creating executor services .
195 . How do you check whether an executionservice task executed successfully?
196 . What is callable? How do you execute a callable from executionservice?
197 . What is synchronization of threads?
198 . Can you give an example of a synchronized block?
199 . Can a static method be synchronized?
200 . What is the use of join method in threads?
201 . Describe a few other important methods in threads?
202 . What is a deadlock?
203 . What are the important methods in Java for inter-thread communication?
204 . What is the use of wait method?
205 . What is the use of notify method?
206 . What is the use of notifyall method?
207 . Can you write a synchronized program with wait and notify methods?
Functional Programming – Lamdba expressions and Streams
208 . What is functional programming?
209 . Can you give an example of functional programming?
210 . What is a stream?
211 . Explain about streams with an example?
what are intermediate operations in streams?
212 . What are terminal operations in streams?
213 . What are method references?
214 . What are lambda expressions?
215 . Can you give an example of lambda expression?
216 . Can you explain the relationship between lambda expression and functional interfaces?
217 . What is a predicate?
218 . What is the functional interface – function?
219 . What is a consumer?
220 . Can you give examples of functional interfaces with multiple arguments?
221 . What are the new features in Java 5?
222 . What are the new features in Java 6?
223 . What are the new features in Java 7?
224 . What are the new features in Java 8?
- 正在學習 Java 的學生
- 計劃參加 Java 面試的學生
- 希望加深 Java 知識程度的學生
in28Minutes Official 有超過150,000名學習者的流行 Spring 框架講師
我是 Ranga Karanam，擁有 15 年 Java程式和設計經驗的架構師，主要為世界各地的銀行客戶服務。
我們從 in28Minutes 開始 ，旨在通過真實世界的專案創建實戰課程。一步一步的系列課程是我們的創作之一。
雖然我們的主要專長是 Java 和相關框架（Spring、Spring Boot、Spring MVC、Struts、Hibernate）的開發、設計和架構，但我們正在擴展到前端世界（Bootstrap、JQuery、Angular JS）。
我們喜歡開源，因此，我們所有的程式碼都是開源的，並且可以在 Github 上獲得。
我們使用 80-20 法則。我們 80％ 的時間深度討論 20％常用的主題。我們觸及其他事物，簡要地讓你掌握足夠的知識以自行找出更多。
- 想要了解如何將英文字幕自動翻譯成中文? 請參考這篇 How-To
- Java 開發相關線上課程
- ★想要加強英文能力嗎？– 練好英文是最大的學習槓桿
- 使用 e-mail 訂閱 Soft & Share 內容發布 – 透過 e-mail 提早收到 Soft & Share 發布的好康訊息！
- Soft & Share 特價課程與學習資訊分享 加入這個社團追蹤我們的特價課程與學習訊息
- 追蹤這個 Twitter ，追蹤各種軟體開發和個人成長學習訊息