zoukankan      html  css  js  c++  java
  • 09网易杭研校园招聘面试题

    首先是JAVA题:

    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是否线程安全?

    第一个问题略,没接触过webwork,所以也不知道它的拦截器的scope相关的知识。Action是线程不安全的。

    2、懂不懂Spring?

    略懂IOC和Spring。。

  • 相关阅读:
    从属性文件中读取配置
    Page Object Manager
    在Selenium中使用JavaScriptExecutor处理Ajax调用?
    wait
    常用操作
    Selenium收藏官方网址
    PageObject样例
    解决办法-错误:Access denied for user 'root'@'localhost'
    Struts2中的OGNL详解
    用C++,调用浏览器打开一个网页
  • 原文地址:https://www.cnblogs.com/hzhtracy/p/4651080.html
Copyright © 2011-2022 走看看