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

自己:

  1. 前台界面用什么框架?
  2. 你的项目实现了什么功能?
  3. 你都学了些什么?
  4. 你觉得你学的怎么样?
  5. 解释下SpringMVC
  6. 两个数组,组成一个数组,顺序输出
  7. MySQL语句(7、8条)
  8. 编程:设计“杨辉三角”
  9. 做个简短的自我介绍

他人:

  1. 数据结构排序方法(插入、选择、冒泡、快速)
  2. 对Spring中IOC与AOP的理解
  3. 接口与抽象类的区别
  4. SQL语句中:ddl dml dcl tcl
  5. String与StringBuffer的区别
  6. 数据库序列化
  7. 数据库的存储过程
  8. 数据库外键的语法
  9. Left join on 后加不加条件
  10. 数据库表结构
  11. 简单介绍集合的区别
  12. list的方法
  13. Html常用的标签元素
  14. CSS的属性(CSS的常用属性)
  15. AJAX的原生代码
  16. JSON的方法
  17. JSP内置对象
  18. AJAX的格式
  19. 你认为JAVA、C语言是什么?
  20. 集合类以及集合框架;HashMap与HashTable实现原理,线程安全性,hash冲突及处理算法;ConcurrentHashMap;
  21. 进程和线程的区别;
  22. Java的并发、多线程、线程模型;
  23. 什么是线程池,如何使用?
    答:线程池就是事先将多个线程对象放到一个容器中,当使用的时候就不用new 线程而是直接去池中拿线程即可,节省了开辟子线程的时间,提高的代码执行效率。
  24. 数据一致性如何保证;Synchronized关键字,类锁,方法锁,重入锁;
  25. Java中实现多态的机制是什么;
  26. 如何将一个Java对象序列化到文件里;
  27. 说说你对Java反射的理解;
    答:Java 中的反射首先是能够获取到Java 中要反射类的字节码, 获取字节码有三种方法,
    (1).Class.forName(className)
    (2).类名.class
    (3).this.getClass()。
    然后将字节码中的方法,变量,构造函数等映射成相应的Method、Filed、Constructor 等类,这些类提供了丰富的方法可以被我们所使用。
  28. 在Java中wait和seelp方法的不同;
    答:最大的不同是在等待时wait 会释放锁,而sleep 一直持有锁。wait 通常被用于线程间交互,sleep 通常被用于暂停执行。
    1. synchronized 和volatile 关键字的作用;
      答:
      1)保证了不同线程对这个变量进行操作时的可见性,即一个线程修改了某个变量的值,这新值对其他线程来说是立即可见的。
      2)禁止进行指令重排序。
    2. volatile 本质是在告诉jvm 当前变量在寄存器(工作内存)中的值是不确定的,需要从主存中读取;synchronized 则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。
      (1).volatile 仅能使用在变量级别;synchronized 则可以使用在变量、方法、和类级别的
      (2).volatile 仅能实现变量的修改可见性,并不能保证原子性;synchronized 则可以保证变量的修改可见性和原子性
      (3).volatile 不会造成线程的阻塞;synchronized 可能会造成线程的阻塞。
      (4).volatile 标记的变量不会被编译器优化;synchronized 标记的变量可以被编译器优化
    3. 服务器只提供数据接收接口,在多线程或多进程条件下,如何保证数据的有序到达;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值