java基础篇:

1.1、Java基础

(1)面向对象的特性:继承、封装和多态

(2)final、finally、finalize 的区别

(3)Exception、Error、运行时异常与一般异常有何异同

(4)请写出5种常用的runtime exception

(5)int 和 Integer 有什么区别、Integer的值缓存范围

(6)包装类、装箱、拆箱

(7)String、StringBuilder、StringBuffer

(8)重载和重写的区别

(9)抽象类和接口的区别

(10)说说反射的用途和实现

(11)说说自定义注解的场景及实现

(12)HTTP请求的GET和POST方式的区别

(13)Session与Cookice区别

(14)列出自己常用的JDK包

(15)MVC设计思想

(16)equals与==的区别

(17)hashCode与equals方法的区别与联系

(18)什么是Java序列化和反序列化,如何实现Java序列化?或者请解释Serializable接口的作用

(19)Object类中常用的方法,为什么wait notify会放在 Object 里面?

(20)Java的平台无关性如何体现出来的?

(21)JDK和JRE的区别

(22)Java 8 有哪些新特性

1.2 Java常见集合

(23)List和Set的区别

(24)Set和hashCode以及equals方法的联系

(25)List和Map的区别

(26)ArrayList与LinkedList 区别

(27)ArrayList 与 Vector 区别

(28)HashMap和Hashtable的区别

(29)HashSet和HashMap的区别

(30)HashMap和ConcurrentHashMap 的区别

(31)HashMap 的工作原理及 代码实现,什么时候用到红黑树

(32)多线程状况下的HashMap 死循环的问题

(33)HashMap 的出现Hash Dos 攻击问题

(34)ConcurrentHashMap的工作原理及代码实现,如何统计所有的元素个数

1.3 进程和线程

(35)线程和进程的概念,并行和并发的概念

(36)创建线程的方式及实现

(37)进程间通讯方式

(38)说说CountDownLatch、CycliBarrier 原理和区别

(39)说说Semaphore原理

(40)说说Exchanger原理

(41)ThreadLocal 原理分析, ThreadLocal为什么出现OOM,出现的深层次原理

(42)讲讲线程池的实现方式

(43)线程池的实现方式有哪几种

(44)线程的生命周期、状态如何转移的

1.4 锁机制

(45)说说线程安全问题,什么是线程安全,如何保证线程安全

(46)重入锁的概念,重入锁为什么可以防止死锁?

(47)如何检查死锁(通过jConsole 检查死锁)

(48)volatile 实现原理 (禁止指令重排、刷新内存)

(49)synchronized 实现原理(对象监视器)

(50)synchronized 与 lock 的区别

(51)AQS 同步队列

(52)CAS 无锁的概念、乐观锁和悲观锁

(53)常用的原子性操作

(54)什么是ABA 问题,出现 ABA 问题 JDK是如何解决?

(55)乐观锁的业务场景和实现方式

(56)Java 8 并发包下 常见的并发类

(57)偏向锁、轻量级锁、重量级锁、自旋锁的概念

1.5 JVM

(58)JVM运行时的内存区域划分

(59)内存溢出OOM和堆栈溢出SOE的示例及原因、如何排查与解决

(60)如何判断对象是否可以回收或存活

(61)常见的GC回收算法及含义

(62)常见的JVM性能监控和故障处理工具类(jps、jstat、jmap、jinfo、jconsole)

(63)JVM如何设置参数

(64)JVM性能调优

(65)类加载器、双亲委派模型、一个类的生命周期、类是如何加载到JVM中的?

(66)类加载的过程(加载、验证、准备、解析、初始化)

(67)强引用,软引用,弱引用,虚引用

(68)Java内存模型JMM

1.6 设计模式

(69)设计模式的六大原则及其含义

(70)常用的单例模式,实现方式的优缺点

(71)Spring中用到哪些设计模式

(72)Mybatis中用到的设计模式

(73)常用的开源框架中用到的设计模式

(74)代理模式,工厂模式

1.7 网络和I/O基础

(75)BIO,NIO,AIO 的概念

(76)什么是长连接和短连接

(77)Http1.0和2.0相比有什么区别?

(78)Https的概念

(79)三次握手和四次挥手的概念

先把面试可能问到的问题记录下来,后面写解答和答案的文章。

Java面试题集(一)问题清单的更多相关文章

  1. 转:Java面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101

    Java面试题集(51-70) Java程序员面试题集(51-70) http://blog.csdn.net/jackfrued/article/details/17403101 摘要:这一部分主要 ...

  2. JAVA面试题集之基础知识

                           JAVA面试题集之基础知识 基础知识:  1.C 或Java中的异常处理机制的简单原理和应用. 当JAVA程序违反了JAVA的语义规则时,JAVA虚拟机就 ...

  3. Java面试题全集(上-中-下)及Java面试题集(1-50/51-70)

    阅读量超百万级的文章,收藏并分享一下.感谢原创作者的总结 对初中级java开发人员有特别大的帮助,不论是技术点面试还是知识点总结上. Java面试题全集(上):     https://blog.cs ...

  4. 互联网大厂Java面试题集—Spring boot面试题(一)

    Spring Boot 需要独立的容器运行吗? 可以不需要,内置了 Tomcat/ Jetty 等容器.通过pom.xml中导入依赖: <!--spring-boot-starter-web:代 ...

  5. 转:Java面试题集(1-50)

    Java程序员面试题集(1-50) http://blog.csdn.net/jackfrued/article/details/17403101 一.Java基础部分 1.面向对象的特征有哪些方面? ...

  6. Java面试题集(51-70)

    Java程序员面试题集(51-70) 51.类ExampleA 继承Exception,类ExampleB 继承ExampleA. 有如下代码片断: try{ thrownew ExampleB(“b ...

  7. Java面试题集(1-50)

    下面的内容是对网上原有的面试题集及答案进行了全面修订之后的内容(原来的题目有很多重复无用的题以及错误的答案),参照了JDK最新版本,删除了重复题目以及EJB2.x等无用内容,补充最新面试题.知识点巩固 ...

  8. Java面试题集(131-135)

    Java程序员面试题集(131-135) 摘要:这部分内容准备重新发布为Java程序员面试题集(151-180),但这篇帖子仍然保留在这里.查看新内容请点击Java程序员面试题集(151-180) 1 ...

  9. Java面试题集(116-135)

    Java程序员面试题集(116-135) 摘要:这一部分讲解基于Java的Web开发相关面试题,即便在Java走向没落的当下,基于Java的Web开发因为拥有非常成熟的解决方案,仍然被广泛应用.不管你 ...

  10. Java面试题集(71-85)

    Java程序员面试题集(71-85) 摘要:这一部分主要包括了UML(统一建模语言).面向对象的设计原则(六原则一法则).GoF设计模式.企业级设计模式.JDBC(Java数据库连接).XML(可扩展 ...

随机推荐

  1. 在VS2019使用MASM编写汇编程序

    具体的配置步骤可以参考: 汇编环境搭建 Windows10 VS2019 MASM32 本文主要是入门向的教程,VS2019中要调用C语言函数需要加上 includelib ucrt.lib incl ...

  2. 1500多套微信小程序带后端源码-史上最全的不同行业的源码集合

    如何下载获取在最后面! 部分源码 部分源码 部分源码 部分截图 o2o行业 | - 盒马鲜生 | - 轻客洗衣 互联网行业 | - 云文档 | - 仿ofo共享单车 | - 仿美团外卖 | - 仿饿了 ...

  3. 3、JVM中的对象

    1.对象的创建 A  a = new A() A:引用的类型 a::引用的名称 new A():创建一个A类对象 当创建一个对象时,具体创建过程是什么呢? (1)JVM遇到new的字节码指令后,检查类 ...

  4. 中秋国庆8天挑战赛 之 挑战8天掌握微信小程序

    中秋国庆8天挑战赛 挑战8天掌握微信小程序 当前学习进度: // 10.1​// 学习内容:​// 10.2​// 学习内容:​// 10.3​// 学习内容:​// 10.4​// 学习内容:​// ...

  5. macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来

    macOS使用ABP.vNext Core开发CMS系统(一) 让程序跑起来--2020年10月5日 国庆假期,陪老婆的同时也不能忘记给自己充充电,这不想搞个CMS系统,考虑自己的时间并不多,所以想找 ...

  6. 058 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 05 案例:求数组元素的最大值

    058 01 Android 零基础入门 01 Java基础语法 06 Java一维数组 05 案例:求数组元素的最大值 本文知识点:求数组元素的最大值 案例:求数组元素的最大值 程序代码及其执行过程 ...

  7. Unicode和多字节字符集

    今天自己写的发现一个输出路径程序使用unicode字符集只能输出单个的首字符,问了一下同事,改为使用多字节字符集,问题解决了 于是上网看了他们的区别:  很多没看完,但起码了解到字符集的演变过程, 转 ...

  8. Allegro PCB 转 PADS Layout

    操作系统:Windows 10 x64 工具1:Allegro PCB Design XL (legacy) version 16.6-2015 工具2:PADS Layout VX.2.3 参考1: ...

  9. 【题解】[NOI2011]阿狸的打字机

    阿狸的打字机 \(\text{Solution:}\) 首先观察三种操作:一种是插入一个字符,一种是退回上一步(回到父亲节点). 所以,我们可以对操作串进行模拟,并处理出每一个串在树上的位置. 接下来 ...

  10. K-DTree入门

    \(K-D Tree\),一种用来维护\(K\)维数据的数据结构.常用于维护各种高维的数据,或者是邻近搜索等.从另一种意义上说,实际上就是高维的二叉搜索树.对于一些常见的问题,如\(k\)远点对.三位 ...