成功面试滴滴,到底需要刷多少题,我的答案是至少1000道,而且是刷3遍以上,也就相当于3000道题。废话不多说,直接看题。
Java基础1
1、面向对象的特征有哪些方面?
2.访问修饰符public,private,protected,以及不写(默认)时的区别?
3. String 是最基本的数据类型吗?
4、float f=3.4;是否正确?
5、shorts1= 1;s1 =s1 + 1;有错吗?shorts1= 1;s1 += 1;有错吗?
6、Java 有没有goto?
7、int 和Integer有什么区别?
8、&和&&的区别?
9、解释内存中的栈(stack)、堆(heap)和方法区(method area)的用法。
10、Math.round(11.5) 等于多少? Math.round(-11.5)等于多少? 220
11、switch 是否能作用在byte 上,是否能作用在long 上,是否能作用在String上?
12、 用最有效率的方法计算2乘以8?
13、数组有没有length()方法? String 有没有length0方法?
14、 在Java中,如何跳出当前的多重嵌套循环?
15、构造器(constructor) 是否可被重写(override) ?
16、 两个对象值相同(x.equals(y) == true),但却可有不同的hashcode,这句话对不对?
17、是否可以继承String类?
18、 当一个对象被当作参数传递到一一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递?
19、String 和StringBuilder、StringBuffer 的区别?
20、重载(Overload) 和重写(Override) 的区别。重载的方法能否根据返回类型进行区分?
21、描述-下JVM加载class文件的原理机制?
22、char 型变量中能不能存贮一个中文汉字, 为什么?
23、抽象类(abstract class)和接口(interface) 有什么异同?
24、静态嵌套类(Static Nested Class)和内部类(Inner Class)的不同?
25、Java 中会存在内存泄漏吗,请简单描述。
26、抽象的(abstract)方法是否可同时是静态的(static) ,是否可同时是本地方法(native) ,是否可同时被synchronized修饰?
27、阐述静态变量和实例变量的区别。
28.是否可以从一个静态(static) 方法内部发出对非静态(non-static)方法的调用?
29、如何实现对象克隆?
30、GC是什么?为什么要有GC?
31、Strings = new String( "xyz" );创建了几个字符串对象?
32、接口是否可继承( extends) 接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concrete class) ?
33、一个”java" 源文件中是否可以包含多个类(不是内部类) ?有什么限制?
34、Anonymous Inner Class(匿名内部类)是否可以继承其它类?是否
35、内部类可以引用它的包含类(外部类)的成员吗?有没有什么限制?
36、Java 中的final关键字有哪些用法?
37.指出下面程序的运行结果
38、数据类型之间的转换:
39、如何实现字符串的反转及替换?
40、怎样将GB2312编码的字符串转换为IS0-8859-1编码的字符串?
41、日期和时间:
42、打印昨天的当前时刻。
43、比较-下Java和JavaSciprt。
44、什么时候用断言(assert) ?
45、Error 和Exception有什么区别?
46、try{}里有一 个return语句,那么紧跟在这个try后的finally{}里的代码会不会被执行,什么时候被执行,在return前还是后?
47. Java语言如何进行异常处理,关键字: throws. throw. try. catch.finally分别如何使用?
48、运行时异常与受检异常有何异同?
49、列出一些你常见的运行时异常?
50、阐述final、finally、 finalize 的区别。
51、类ExampleA继承Exception,类ExampleB继承ExampleA。
52、List、 Set、 Map是否继承自Collection 接口?
53、阐述ArrayList. Vector、 LinkedList 的存储性能和特性。
54、Collection 和Collections的区别?
55、List. Map、Set 三个接口存取元素时,各有什么特点?
56、TreeMap 和TreeSet在排序时如何比较元素? Collections 工具类中的sort(方法如何比较元素?
57. Thread类的sleep0方法和对象的wait0方法都可以让线程暂停执行,它们有什么区别?
58、线程的sleep0方法和yield0方法有什么区别?
59、当-个线程进入-个对象的synchronized方法A之后,其它线程是否可进入此对象的synchronized方法B?
60、请说出与线程同步以及线程调度相关的方法。
61、编写多线程程序有几种实现方式?
62、synchronized 关键字的用法?
63、举例说明同步和异步。
............
Java基础2
多线程、并发及线程的基础问题
1、Java 中能创建volatile 数组吗?
2、volatile 能使得一个非原子操作变成原子操作吗?
3. volatile 修饰符的有过什么实践?
4、volatile 类型变量提供什么保证?
5、10个线程和2个线程的同步代码,哪个更容易写?
6、你是如何调用wait ()方法的?使用if 块还是循环?为什么?
有经验程序员的Java 面试题
8、什么是Busy spin?我们为什么要使用它?
9、Java中怎么获取一份线程dump文件?.
10、Swing是线程安全的?
11、什么是线程局部变量?
12、用wait-notify 写- -段代码来解决生产者-消费者问题?
13、用Java 写- -个线程安全的单例模式(Singleton) ?
14、Java中sleep 方法和wait 方法的区别?
15、什么是不可变对象(immutable object) ? Java 中怎么创建一个不可变对象?
16、我们能创建一个包含可变对象的不可变对象吗?
数据类型和Java基础面试问题
17. Java 中应该使用什么数据类型来代表价格?
18、怎么将byte转换为String?
19、 Java中怎样将bytes 转换为long 类型?
20、我们能将int 强制转换为byte 类型的变量吗?如果该值大于byte类型的范围,将会出现什么现象?
21、存在两个类,B继承A,C继承B,我们能将B转换为C么?如C=(C)B;
22、哪个类包含clone 方法?是Cloneable还是Object?
23、Java 中++操作符是线程安全的吗?
23、不是线程安全的操作。它涉及到多个指令,如读取变量值,增加,然后存储回内存,这个过程可能会出现多个线程交差。
24、a=a+b与a+=b的区别
25、我能在不进行强制转换的情况下将-一个 double值赋值给long类型的变量吗?
26、3*0.1 == 0.3将会返回什么? true还是false?
27、int 和Integer哪个会占用更多的内存?
28、为什么Java中的String是不可变的(Immutable) ?
JVM底层与GC (Garbage Collection)的面试问题
31、64位JVM中,int 的长度是多数?
32、Serial 与Parallel GC之间的不同之处?
33、32位和64位的JVM, int 类型变量的长度是多数?
34、Java 中WeakReference与SoftReference 的区别?
35、WeakHashMap 是怎么工作的?
36、JVM选项-XX:+ UseCompressedOops有什么作用?为什么要使用?
37、怎样通过Java程序来判断JVM是32位还是64位?
38、32位JVM和64位JVM的最大堆内存分别是多数?
39、 JRE、 JDK、JVM及JIT之间有什么不同?
3年工作经验的Java 面试题
40、解释Java堆空间及GC?
JVM底层面试题及答案
41、你能保证GC执行吗?
42、怎么获取Java程序使用的内存?堆使用的百分比?
43、Java 中堆和栈有什么区别?
关于内存的的面试问题和答案
44、"a==b"和”a.equals(b)" 有什么区别?
45、a.hashCode() 有什么用?与a.equals(b) 有什么关系?
46、final、 finalize 和finally 的不同之处?
47、Java 中的编译期常量是什么?使用它有什么风险?
........................
部分答案展示
面试题总共1000多道,没有办法全部为大家展示出来
Java并发编程
1、在java中守护线程和本地线程区别?
2、线程与进程的区别?
3、什么是多线程中的上下文切换?
4、死锁与活锁的区别,死锁与饥饿的区别?
5、Java 中用到的线程调度算法是什么?
6、什么是线程组,为什么在Java中不推荐使用?.
7.为什么使用Executor框架?
8、在Java 中Executor和Executors的区别?
9.如何在Windows和Linux上查找哪个线程使用的CPU时间最长?
10、什么是原子操作?在Java Concurrency API中有哪些原子类
11. Java Concurrency API中的Lock接口(Lock interface)是什么?
对比同步它有什么优势?
12、什么是Executors框架?
13.什么是阻塞队列?阻塞队列的实现原理是什么?如何使用阻塞队列来实现生产者消费者模型?
14.什么是Callable和Future?
15.什么是FutureTask?使用ExecutorService启动任务。
16.什么是并发容器的实现?
17.多线程同步和互斥有几种实现方法,都是什么?
18.什么是竞争条件?你怎样发现和解决竞争?
19.你将如何使用thread dump?你将如何分析Thread dump? 165
20.为什么我们调用start0方法时会执行run0方法,为什么我们不能直接调用run0方法?
21. Java中你怎样唤醒一个阻塞的线程?
22.在Java中CydiBarriar和CountdownLatch有什么区别?
23.什么是不可变对象,它对写并发应用有什么帮助?
24、什么是多线程中的上下文切换?
25. Java中用到的线程调度算法是什么?
26.什么是线程组,为什么在Java中不推荐使用?
27.为什么使用Executor框架比使用应用创建和管理线程好?
28、java 中有几种方法可以实现-一个线程?
29.如何停止一个正在运行的线程?
30、notify0和 notifyAIl()有什么区别?
31.什么是Daemon线程?它有什么意义?
32、java如何实现多线程之间的通讯和协作?
33、什么是可重入锁(ReentrantLock) ?
34、当-个线程进入某个对象的一个synchronized的实例方法后,其它线程是否可进入此对象的其它方法?
35、乐观锁和悲观锁的理解及如何实现,有哪些实现方式?
36、SynchronizedMap 和ConcurrentHashMap有什么区别?
37、CopyOnWriteArrayList 可以用于什么应用场景?
38、什么叫线程安全? servlet 是线程安全吗....
39、volatile 有什么用?能否用一句话说明下volatile的应用场景? 183
40、为什么代码会重排序?
41、在java中wait和sleep方法的不同?
42、用Java实现阻塞队列
43、一个线程运行时发生异常会怎样?
44、如何在两个线程间共享数据?
45、Java 中notify和notifyAll 有什么区别?
46、为什么wait, notify和notifyAll 这些方法不在thread类里面?
47、什么是ThreadLocal变量?
48、Java 中interrupted和islnterrupted 方法的区别?
49.为什么wait和notify方法要在同步块中调用?
50、为什么你应该在循环中检查等待条
51、Java 中的同步集合与并发集合有什么区别? .
52、什么是线程池?为什么要使用它?
53、怎么检测-个线程是否拥有锁?
54、你如何在Java中获取线程堆栈?
56、Thread 类中的yield方法有什么作用?
57、Java 中ConcurrentHashMap的并发度是什么?
58、Java 中Semaphore是什么?
59、Java 线程池中submit()和execute(方法有什么区别?
60、什么是阻塞式方法?
61、Java中的ReadWriteLock是什么?
62、volatile 变量和atomic 变量有什么不同?
63.可以直接调用Thread类的run 0方法么?
64、如何让正在运行的线程暂停一段时间?
65、你对线程优先级的理解是什么?
66、什么是线程调度器(ThreadScheduler)和时间分片(Time Slicing )?
67.你如何确保main0方法所在的线程是Java程序最后结束的线程?
68、线程之间是如何通信的?
69、为什么线程通信的方法wait() notify()和notifyAll()被定义在Object类里?
70、为什么wait(), notify0和notifyAll ()必须在同步方法或者同步块中被调用?
71、为什么Thread类的sleep(和yield 0方法是静态的?
72、如何确保线程安全?
73、同步方法和同步块,哪个是更好的选择?
74、如何创建守护线程?
75、什么是Java Timer类?如何创建一个有特定时间间隔的任务?
...............................
部分答案展示
面试题总共1000多道,没有办法全部为大家展示出来
Spring面试题
微服务
面试题总共1000多道,没有办法全部为大家展示出来