首页 > 编程语言 > 详细

面试JAVA程序员时,有哪些需要掌握的面试题?(干货!)

时间:2019-05-15 15:23:10      阅读:140      评论:0      收藏:0      [点我收藏+]

1,JAVA基础面试题

面向对象的特征:封装、继承、多态

int和interger之间的区别

包装类:装箱与拆箱

String、StringBuilder、StringBuffer之间的区别

反射用途与实现

Session与Cookie之间的区别

自己常用的JDK包有哪些

equals与==之间的区别

jre与jdk之间的区别

I/O流之间的交换使用

JAVA的序列化与反序列化

HTTP请求的get和post的区别

注解的使用

hashcode与equals之间的使用与区别

object常用的类

JAVA的跨平台性是怎么体现的

JAVA的封装性主要实现方式

JAVA8,JAVA9的新特性

重载与重写的区别

抽象类与接口的区别

类的继承具体实现(extends)

2,JAVA集合面试题

list和set的区别

set与hashcode、equals之间的使用

list和map的使用

arraylist与linkedlist

hashset与hashmap的使用

mashmap的实现代码与原理

手写hashmap

多线程的使用

arraylist与vector的使用

多线程情况下的hashmap死循环问题

集合类源码

3,进程与线程

进程与线程的概念

并发操作

创建线程的方式、过程

进程间通信问题

手写火车站购票系统

简述semaphore原理

简述exchanger原理

线程池的实现方式

线程的生命周期

thread的实现原理

技术分享图片

4,锁机制

简述线程安全问题

如何监测死锁

产生死锁的四个必要条件

synchronized的使用方式与情景

volatile的实现过程与实现原理

lock与synchronized的区别

AQS的同步队列

同步与异步的概念

CSA无锁概念

什么是ABA问题,出现问题时如何解决

乐观锁的使用情景

有哪些原子操作类

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

5,JVM的知识点

JVM运行时的区域划分

内存移出问题

常见的GC回收机制算法

常见的JVM性能检测和故障处理

JVM设置参数

JVM性能调优

强引用、弱引用、虚引用、硬引用

JAVA内存模型

6,设计模式

单例设计模式

工厂设计模式

代理设计模式

设计模式的六大原则与含义

手写常见的设计模式

spring用到了哪些设计模式

mybatis用到了哪些设计模式

常见的开源代码的设计模式

动态代理

每个设计模式的优缺点

技术分享图片

 

7,数据结构

二叉树、平衡二叉树、B树、红黑树

深度有限算法、广度优先算法

普林母算法、迪可拉斯算法

快速排序算法

直接插入排序

冒泡排序算法

快速排序算法

折半查找算法

堆排序

一致性hash及其原理

8,网络I/O基础

BIO、AIO、NIO

长连接与短连接

http1.0与http2.0的区别

https的基本概念

http与https之间的区别

三次握手与四次握手,为什么要这么做

浏览器中的URL的使用问题

技术分享图片

 

以上是我个人总结的JAVA基础面试题目,在学习完JAVA基础的前提上,继续学习JAVA中级题目,如果你掌握了以上的所有问题,你可以是一名合格的JAVA初级程序员了。

面试JAVA程序员时,有哪些需要掌握的面试题?(干货!)

原文:https://www.cnblogs.com/CQqf2019/p/10869272.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!