Java面试题

最近在面试中遇到的一些问题,虽然很多都是最最基础的问题,但是很多问题要么是没回答出来要么是说的丢三落四。作为工作两年的我来说,感觉很丢人啊。顺便记下来,给后来人做个参考,最近自己也多花点时间打打基础。题目顺序不分类型和先后。

  1. byte,char,short,int各占几个字节?
  2. char能存下一个汉字吗?
  3. 数据库常加哪些索引?不常用哪些索引?
  4. SpringBoot启动类注解都有哪些?
  5. SpringBoot怎么加载配置文件?
  6. 实现多线程的方式?
  7. start() 方法和run() 的方法的区别?
  8. jdk有几种线程池?newSingleThreadPool有什么作用?
  9. ThreadPoolExecuror类的几个构造参数及其含义?拒绝策略有哪些?
  10. String,StringBuffer,StringBuilder的异同?
  11. String类为什么要设计成不可变的?
  12. MySQL有哪些类型的索引?
  13. 大概说一下你对SpringMVC的理解?

1.
Integer a = 123;
Integer b = Integer.valueOf(123);

Integer a = 300;
Integer b = Integer.valueOf(300);
(-128到127 IntegerCache)

说一说以上代码执行的细节?说说拆装箱的细节?

  1. 什么时候需要重写hashCode()方法和equals()方法?两个对象相等hashcode一定相等吗?

  2. 说一说HashMap的实现原理?当我put一个已经存在的键值对时怎么更新值的?

  3. Spring中@Autowired和@Resource的区别?

  4. ThreadPoolExecuror类的几个构造参数及其含义?

  5. MySQL分页最后的页特别慢,说一说优化策略?

  6. Java中的锁有了解吗?synchronized和Lock的区别?说一说synchronized的实现?


  1. String类是可变的吗?底层数据结构是什么?为什么要设计成不可变的?
  2. ArrayList和LinkedList的区别?
  3. HashMap的实现原理?构造方法及参数的含义?初始容量是多大?扩容策略?
  4. 有了解过B+树吗?
  5. 说一说你对IOC和AOP的理解?
  6. 说一说你对反射以及动态代理的理解?
  7. 如何实现进程间通信?
  8. 线程的生命周期?
  9. 一次Http请求的过程(osi七层模型以及三次握手)?两台主机断开连接的过程?
  10. MySQL有哪些存储引擎,都在什么场景使用?

  1. 有用过dubbo、RabbitMQ之类的中间件吗?
  2. Java中的锁有了解过吗?
  3. HashSet如何保证数据不重复?
  4. 说一说你对ConcurrentHashMap的理解?
  5. concurrent包下面有哪些常用的类?
  6. 什么叫值传递?什么叫引用传递?Java属于哪种?为什么?
  7. SpringCloud微服务有了解吗?
  8. 有做过Linux服务器上的应用部署吗?
  9. Apache poi如何读取百万规模的数据?
  10. 你觉得Java和其他语言最显著的特征是什么?
  11. 在你的项目经历中有没有印象特别深刻的经历、有没有让你觉得成长很迅速的经历、有没有让你感觉很有成就感的经历、有没有曾经为项目突破瓶颈的经历?
  12. 有用过redis缓存吗?

  1. 你有比较长远的职业生涯规划吗?
  2. 如果工作需要学习比如小程序开发之类的,你的态度是什么样?
  3. 你对待的加班的态度是什么样的?

暂时就能想起这么多了…