您的位置:首页 > 职场人生

2017.02 Java编程面试题整理(持续更新…)

2017-02-15 17:57 543 查看
自己:

前台界面用什么框架?

你的项目实现了什么功能?

你都学了些什么?

你觉得你学的怎么样?

解释下SpringMVC

两个数组,组成一个数组,顺序输出

MySQL语句(7、8条)

编程:设计“杨辉三角”

做个简短的自我介绍

他人:

数据结构排序方法(插入、选择、冒泡、快速)

对Spring中IOC与AOP的理解

接口与抽象类的区别

SQL语句中:ddl dml dcl tcl

String与StringBuffer的区别

数据库序列化

数据库的存储过程

数据库外键的语法

Left join on 后加不加条件

数据库表结构

简单介绍集合的区别

list的方法

Html常用的标签元素

CSS的属性(CSS的常用属性)

AJAX的原生代码

JSON的方法

JSP内置对象

AJAX的格式

你认为JAVA、C语言是什么?

集合类以及集合框架;HashMap与HashTable实现原理,线程安全性,hash冲突及处理算法;ConcurrentHashMap;

进程和线程的区别;

Java的并发、多线程、线程模型;

什么是线程池,如何使用?

答:线程池就是事先将多个线程对象放到一个容器中,当使用的时候就不用new 线程而是直接去池中拿线程即可,节省了开辟子线程的时间,提高的代码执行效率。

数据一致性如何保证;Synchronized关键字,类锁,方法锁,重入锁;

Java中实现多态的机制是什么;

如何将一个Java对象序列化到文件里;

说说你对Java反射的理解;

答:Java 中的反射首先是能够获取到Java 中要反射类的字节码, 获取字节码有三种方法,

(1).Class.forName(className)

(2).类名.class

(3).this.getClass()。

然后将字节码中的方法,变量,构造函数等映射成相应的Method、Filed、Constructor 等类,这些类提供了丰富的方法可以被我们所使用。

在Java中wait和seelp方法的不同;

答:最大的不同是在等待时wait 会释放锁,而sleep 一直持有锁。wait 通常被用于线程间交互,sleep 通常被用于暂停执行。

synchronized 和volatile 关键字的作用;

答:

1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。

2)禁止进行指令重排序。

volatile 本质是在告诉jvm 当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized 则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。

(1).volatile 仅能使用在变量级别;synchronized 则可以使用在变量、方法、和类级别的

(2).volatile 仅能实现变量的修改可见性,并不能保证原子性;synchronized 则可以保证变量的修改可见性和原子性

(3).volatile 不会造成线程的阻塞;synchronized 可能会造成线程的阻塞。

(4).volatile 标记的变量不会被编译器优化;synchronized 标记的变量可以被编译器优化

服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到达;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: