09网易杭研校园招聘面试题

1、HashMap和TreeMap的区别

  HashMap:底层用散列表实现,元素存储是无序的。

  TreeMap:底层用红黑树实现,元素存储是有序的。

2、wait()和notify()如何用

  wait():如果对象调用了wait方法,那么持有该对象的线程会把该对象的控制权交出去,然后处于等待状态。

  notify():如果对象调用了notify()方法就会通知某个正在等待该对象的控制权的线程可以继续运行,但必须等待当前线程执行完sychronized中的代码块。

  notifyAll():如果对象调用了notifyAll()方法就会通知所有正在等待该对象的控制权的线程可以继续运行,但必须等待当前线程执行完sychronized中的代码块。

  关于wait和notify的总结。

3、异常分哪两类,自定义异常属于哪一类

  分为Error和Exception。自定义异常属于Exception。

4、IO类所用到的设计模式

  主要是装饰模式和适配器模式。

  详情点击。

5、如何将文本中读取的数值型字符串转成数值型,如何进行串行化

  两种方法:1、直接使用jdk的api,Integer.parseInt("12345");2、从右往左读取字符串的每一个字符c,如果是从右到左第i个,则r=r+(c-\'0\')*10^i,最后r即是结果。

  串行化即对象的序列化。之所以要进行序列化,是为了将对象转换为二进制串,可以将对象进行网络传输和文件读写,达到对象持久化的目的。

  串行化的方法:1、将对象实现序列化接口Serializable;2、用ObjectInputStream和ObjectOutputStream的输入输出流类对该对象进行读写。

详情点击。

6、transient有什么用

1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。

2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。

3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。

详情点击。

7、反射机制懂不懂

所谓的反射,是指java运行时,对于任何一个类,都能获得类信息(属性和方法),对于任何一个对象,都可动态地调用该对象的方法。这种动态获取类信息以及动态调用对象方法的机制叫做反射。

详情点击。

然后是数据库题:

8、优化查询,索引建立在联合查询的哪张表上比较好

优化查询:1、sql语句优化;2、建立索引。

第二个问题不知道。。。

9、数据库的隔离级别有哪些,各自加什么锁,解决了什么问题,没解决什么问题。

数据库隔离级别:Read uncommited、Read commited、Repeatable read、Serializable

分别解决的问题依次为:脏读、不可重复读、幻读。

详情点击。

最后是项目考察:

1、WebWork的拦截器中的scope有哪几种,Action是否线程安全?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwppxj.html