Java 面试收到offer必备 208 道面试题(第一部分)

一、Java基础

1.JDK和JRE有什么区别?

2.==和equals的区别是什么?

3.两个对象的hashCode()相同, 则equals()也一定为true, 对吗?

4.final在java中有什么作用?

5.java中的Math.round(-1.5)等于多少?

6.String属于基础的数据类型吗?

7.java中操作字符串都有哪些类?它们之间有什么区别?

8.String str= "i"与String str=new String(“i”)一样吗?

9.如何将字符串反转?

10.String 类的常用方法都有那些?

11.抽象类必须要有抽象方法吗?

12.普通类和抽象类有哪些区别?

13.抽象类能使用final修饰吗?

14.接口和抽象类有什么区别?

15.java中IO流分为几种?

16.BIO、 NIO、AIO有什么区别?

17.Files的常用方法都有哪些?

二、容器

  1. java容器都有哪些?

  2. Collection和Collections有什么区别?

  3. List、Set、 Map之间的区别是什么?

  4. HashMap和Hashtable有什么区别?

  5. 如何决定使用HashMap还是TreeMap?

  6. 说一下HashMap的实现原理?

  7. HashMap底层怎么实现的?

  8. 红黑树的实现原理?和应用场景?

  9. LinkedHashMap的应用?

  10. Hashmap有什么并发问题?可能扩展到ConcurrentHashMap

  11. 说一下HashSet的实现原理?

  12. ArrayList和LinkedList的区别是什么?

  13. 如何实现数组和List 之间的转换?

  14. ArrayList和Vector的区别是什么?

  15. Array和ArrayList有何区别?

  16. 在Queue中poll()和remove()有什么区别?

  17. 哪些集合类是线程安全的?

  18. 迭代器Iterator是什么?

  19. Iterator怎么使用?有什么特点?

  20. Iterator和Listlterator有什么区别?

  21. 怎么确保一个集合不能被修改?

三、多线程

  1. 并行和并发有什么区别?
  2. 线程和进程的区别?
  3. 守护线程是什么?
  4. 创建线程有哪几种方式?
  5. 说一下runnable和callable有什么区别?
  6. 线程有哪些状态?
  7. sleep()和wait()有什么区别?
  8. notify()和notifyAll()有什么区别?
  9. 线程的run()和start()有什么区别?
  10. 为什么需要线程池?
  11. 创建线程池有哪几种方式?
  12. 线程池几个重要参数,如何合理配置线程池的大小?
  13. 线程池实现原理?和线程的调度过程?
  14. 线程池都有哪些状态?
  15. 什么时候出现进程僵死?
  16. 线程池中submit()和execute()方法有什么区别?
  17. 什么是线程安全?
  18. 在java程序中怎么保证多线程的运行安全?
  19. 多线程锁的升级原理是什么?
  20. 什么是死锁?
  21. 模拟死锁?
  22. 怎么防止死锁?
  23. ThreadLocal是什么?有哪些使用场景?
  24. 什么时候出现OOM的状况?为什么?
  25. 说一下synchronized底层实现原理?
  26. synchronized和volatile的区别是什么?
  27. ThreadLocal和volatile的实现原理和使用场景?
  28. synchronized和Lock有什么区别?
  29. synchronized锁粒度?
  30. synchronized和ReentrantLock区别是什么?
  31. 说一下atomic的原理?

四、反射

  1. 什么是反射?
  2. 什么是java序列化?什么情况下需要序列化?
  3. 动态代理是什么?有哪些应用?
  4. 怎么实现动态代理?

五、对象拷贝

1.为什么要使用克隆?

2.如何实现对象克隆?

3.深拷贝和浅拷贝区别是什么?

六、Java Web

  1. servlet生命周期?
  2. jsp和servlet有什么区别?
  3. jsp有哪些内置对象?作用分别是什么?
  4. 说一下jsp的4种作用域?
  5. session和cookie有什么区别?
  6. 说一下session的工作原理?
  7. 如果客户端禁止cookie能实现session还能用吗?
  8. spring mvc和struts的区别是什么?
  9. 如何避免sql注入?
  10. 什么是XSS攻击,如何避免?
  11. 什么是CSRF攻击,如何避免?

七、异常

  1. throw和throws的区别?
  2. final、finally、 finalize 有什么区别?
  3. try-catch-finally中哪个部分可以省略?
  4. try-catch-finally中,如果catch中return了, finally 还会执行吗?
  5. 常见的异常类有哪些?

八、网络

  1. http响应码301和302代表的是什么?有什么区别?
  2. forward和redirect的区别?
  3. 简述tcp和udp的区别?
  4. tcp为什么要三次握手,两次不行吗?为什么?
  5. 说一下tcp粘包是怎么产生的?
  6. OSI的七层模型都有哪些?
  7. get和post请求有哪些区别?
  8. 如何实现跨域?
  9. 说一下JSONP实现原理?

九、设计模式

  1. 说一下你熟悉的设计模式?
  2. 简单工厂和抽象工厂有什么区别?
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值