學IT技術是很熱門的,但是對于找工作來說,最能看出你的能力的就是面試題了,對于java程序員來說,這里總結了java面試題,讓你輕松過面試。
1. Java編譯的指令是什么
編譯是:javac java文件名;
2. 子類繼承父類的時候,關于子類當中的初始化順序的一個問題,(一個類,其中包含好幾個類,問你他的輸出是什么?)
先初始化父類的構造方法,再初始化子類的構造方法
3. 對于手機開發的java平臺是什么
J2me
4. String比Stringbuffer存的容量大?
一樣
4. JAVA連接數據庫的時候是通過什么連接的
Connection
5. MVC模式中ActionForm屬于哪個層
V層
7. JAVA中傳參數的時候,可以改變原來變量的值的方法是哪項
1傳基本數據類型2,傳對象3.上述的全對4.上述的全錯
8. JAVA當中會有內存泄露么,如果有是因為什么原因,這個時候垃圾回收器在做什么?
在Java中,內存泄漏就是存在一些被分配的對象,這些對象有下面兩個特點,首先,這些對象是可達的,即在有向圖中,存在通路可以與其相連;其次,這些對象是無用的,即程序以后不會再使用這些對象。如果對象滿足這兩個條件,這些對象就可以判定為Java中的內存泄漏,這些對象不會被GC所回收,然而它卻占用內存。有些對象被分配了內存空間,然后卻不可達,在Java中,這些不可達的對象都由GC負責回收,因此程序員不需要考慮這部分的內存泄露。
9. java里面Override的返回值是否必須和父類相同?
在JDK5.0以前,Override要求參數列表和返回值必須完全相同,否則編譯不通過,而在JDK1.5以后,系統允許返回值和父類不同了,但必須是其子類才可以。
10.String a = “abcd, efg”;
String b = “) (*&^%¥#@![] {} , . // ; : ‘ ? <> ”;
要求是判斷String a 里有沒有哪個字符在String b 里出現,效率越高越好
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
String a = "abcd,efg";
String b = ")(*&^%$#@![]{},.///;:'? <>";
byte[] bb = new byte[256];
char[] cs = b.toCharArray();
for (char c : cs) {
bb[c] = 1;
}
cs = a.toCharArray();
for (char c : cs) {
if (bb[c] == 1) {
System.out.println(c);
}
}
}
}
11. java如何每5秒生成一個隨機數
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
/**
* Java如何每5秒生成一個隨機數
*/
public class Test {
public static void main(String[] args) {
final Random random = new Random();
Timer executeSchedule = new Timer();
executeSchedule.schedule(new TimerTask() {
@Override
public void run() {
System.out.println(random.nextInt());
}
}, 0, 5000);
}
}
12. java得到一個整數的絕對值,不使用任何判斷和比較語句,包括API。
1、 不得使用任何API,如Math.abs()等
2、 不得使用判斷語句,如if、for、while、swith、? : 等
3、 不得使用比較語句,如:==、<=、>=、!=、<、>等
13. java里如何得到00:00:00格式的時分秒的Timestamp
14. 任舉一種數據庫的自動分頁方法
15. 英文翻譯題(關于安卓的一段英文,翻譯成漢語) By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications.
Developers are free to take advantage of the device hardware,access location information,run background services, set alarms.
Add notifications to the status bar, and much, much more.
Developers have full access to the same fra,ework APIs used by the core applications.The applications architecture is designed to simplify the reuse of components;
any applications can publish its capabilities and any other applications may then make use of those capabilities(subject to security constraints enforced by the framework).
This same mechanism allows components to be replaced by the user.
16. 簡述this,final,static
17.Overload和Override的區別。Overloaded的方法是否可以改變返回值的類型?
18.abstract class和interface有什么區別?
19.接口是否可繼承接口? 抽象類是否可實現(implements)接口? 抽象類是否可繼承實體類(concrete class)?
20.當一個線程進入一個對象的一個synchronized方法后,其它線程是否可進入此對象的其它方法?
21.多線程有幾種實現方法,都是什么?同步有幾種實現方法,都是什么?
22.編程題:操作臺上輸入一組數,排序輸出
23.run()和start()區別
24.a=5,b=9不實用第三個變量,交換a,b的值
25.Activity生命周期
26.做視頻播放器播放視頻用到什么組件?
27.Mediaplayer+Surfaceview和Vedioview+Mediacontroler做視頻播放時有什么區別,兩種特點是什么,個人認為哪種好一些?
28.Vedioview的父類?
29.當有電話或短信進來時應該如何處理?
30. 介紹下Android中常用的五種布局?