2018年最新Java 面试题集

一、第一套面试题

1.Mybatis与Ibatis的区别
2.Http1与Http2的区别
3.SpringMVC的执行流程
4.JVM内存溢出具体指哪些内存区域?都会抛出什么异常?
5.谈谈对AJAX的理解
6.谈谈对事务的理解
7.String能被继承吗?为什么?
8.谈谈继承和聚合
9.什么是深拷贝和浅拷贝?
10.说说常见的几个运行时异常
11.JDK引入泛型是解决什么问题的?
12.谈谈hashCode与equals之间的关系
13.谈谈反射机制
14.常用的JVM设置参数都有哪些?
15.Spring Boot是什么?
16.谈谈Spring事物传播特性
17.Spring有哪几种事物管理机制?
18.ACID是指什么?
19.谈谈Mysql中的Btree和B+Tree算法
20.谈谈Mysql中in和exists的应用场景

二、第二套面试题

1.你最常上的两个技术站和最常使用的两个app分別进什么?主要解决你什么需求?
2.请简述http协议中get请求和post请求的区别.
3.请简述session和cookie的区別.
4.简述Servlet与JSP的关系,
5.JSP内置对象有哪些,各自起到的作用
6.简述你所理解的JAVA封装、继承、多态。
7.写出2个常用的设计模式(伪代码),并简述应用场景。
8.HashMap和HashTable区别。
9.HashSet和TreeSet的区别。
10.ArrayList和LinkedList的区别。
11.==与equals的区别。
12.简述泛型、反射、注解应用场景及各自解决了哪些问题。
13.Thread类的方法有哪些,如何多种方式实现线程同步。
14进程与线程的区别,JAVA中有哪些方式可以创建线程。
15.现有一学生表结构(student-id,class-id,name),请写出统计每班有多少学生的SQL语句。
16.假如你正在开发一个系统的登录程序,请简述你是如何实现记住用户名和密码这个操作的,并如何实现?
17.在视图层不支持存储cookie,服务端不支持session的场景下如何保持用户登陆状态。
18.设计一套CMS系统或者博客系统的表结构(画出大概的UML图即可)。

三、第三套面试题

第三套面试题

四、第四套面试题

第四套面试题

五、第五套面试题

2018 年,百度 Java 后端面试题目

六、第六套面试题

J2SE基础:

  1. 九种基本数据类型的大小,以及他们的封装类。
  2. Switch能否用string做参数?
  3. equals与==的区别。
  4. Object有哪些公用方法?
  5. Java的四种引用,强弱软虚,用到的场景。
  6. Hashcode的作用。
  7. ArrayList、LinkedList、Vector的区别。
  8. String、StringBuffer与StringBuilder的区别。
  9. Map、Set、List、Queue、Stack的特点与用法。
  10. HashMap和HashTable的区别。
  11. HashMap和ConcurrentHashMap的区别,HashMap的底层源码。
  12. TreeMap、HashMap、LindedHashMap的区别。
  13. Collection包结构,与Collections的区别。
  14. try catch finally,try里有return,finally还执行么?
  15. Excption与Error包结构。OOM你遇到过哪些情况,SOF你遇到过哪些情况。
  16. Java面向对象的三个特征与含义。
  17. Override和Overload的含义去区别。
  18. Interface与abstract类的区别。
  19. Static class 与non static class的区别。
  20. java多态的实现原理。
  21. 实现多线程的两种方法:Thread与Runable。
  22. 线程同步的方法:sychronized、lock、reentrantLock等。
  23. 锁的等级:方法锁、对象锁、类锁。
  24. 写出生产者消费者模式。
  25. ThreadLocal的设计理念与作用。
  26. ThreadPool用法与优势。
  27. Concurrent包里的其他东西:ArrayBlockingQueue、CountDownLatch等等。
  28. wait()和sleep()的区别。
  29. foreach与正常for循环效率对比。
  30. Java IO与NIO。
  31. 反射的作用于原理。
  32. 泛型常用特点,List能否转为List
  33. 解析XML的几种方式的原理与特点:DOM、SAX、PULL。
  34. Java与C++对比。
  35. Java1.7与1.8新特性。
  36. 设计模式:单例、工厂、适配器、责任链、观察者等等。
  37. JNI的使用。
  38. JVM:

    1. 内存模型以及分区,需要详细到每个区放什么。
    2. 堆里面的分区:Eden,survival from to,老年代,各自的特点。
    3. 对象创建方法,对象的内存分配,对象的访问定位。
    4. GC的两种判定方法:引用计数与引用链。
    5. GC的三种收集方法:标记清除、标记整理、复制算法的原理与特点,分别用在什么地方,如果让你优化收集方法,有什么思路?
    6. GC收集器有哪些?CMS收集器与G1收集器的特点。
    7. Minor GC与Full GC分别在什么时候发生?
    8. 几种常用的内存调试工具:jmap、jstack、jconsole。
    9. 类加载的五个过程:加载、验证、准备、解析、初始化。
    10. 双亲委派模型:Bootstrap ClassLoader、Extension ClassLoader、ApplicationClassLoader。
    11. 分派:静态分派与动态分派。

    总体来说java考察内容包括以下这些:
    1,面向对象的一些基本概念:继承,多态之类的
    2, 抽象类和接口
    3, 静态类,内部类
    4, Java集合类,同步和非同步
    5, Java类加载机制
    6, Java内存模型和垃圾回收算法
    7, 线程同步机制(voliate,synchronized,重入锁,threadlocal),线程间通信(wait,notify)
    8, 异常处理
    9, 多线程同步问题,生产者消费者,读者写者,哲学家就餐,用java实现
    10, 了解java中设计模式的思想,用了哪些设计模式,有什么好处

    你可能感兴趣的:(2018年最新Java 面试题集)