• # Java 面试题总结


    ## 2016年11月15日
    ### 傲世堂 电话面试
    - 第一个问题是前15%输出多少,20%输出多少,问你平均数多少。第一题愣是没懂啥意思,结果面试官说,那好跳过这一题。
    - 后面问了图的存储结构有哪些?
    - 堆排序和快排序的时间复杂度分别是多少?
    - map和set中哪一个可以由另一个得到?
    - 四个随机的无序的数字排序,最坏的的情况是要比较多次?
    - 二分查找法对一个长度为16的有序数组查询一个不存在的数,最坏的情况下需要多少次查询?
    - 一个完全二叉树,有4层,其三层是有一个叶子节点,问该树有多少个节点?

    ### 武汉方正璞华公司面试题
    最后一题SQL

    成绩表:Grade

    字段:No 学号
    Name 姓名
    Subject 科目
    Score 分数

    第一个问题:请查询学生中所有成绩大于80分的学生No,Name

    第二个问题:请查询出学生的总分排名,学生No,学生Name,以及总分

    题目先记下,有时间补答案。

    找了一下答案:

    补充如下

    1.抽象类和接口的区别?

    接口是否可以继承接口,抽象类是否可以实现接口,抽象类是否可以继承实体类。(都可以)

    2.重载和重写的区别?

    Overload是重载的意思,Override是覆盖的意思,也就是重写。
    重载Overload表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)。
    重写Override表示子类中的方法可以与父类中的某个方法的名称和参数完全相同,通过子类创建的实例对象调用这个方法时,将调用子类中的定义方法,这相当于把父类中定义的那个完全相同的方法给覆盖了,这也是面向对象编程的多态性的一种表现。子类覆盖父类的方法时,只能比父类抛出更少的异常,或者是抛出父类抛出的异常的子异常,因为子类可以解决父类的一些问题,不能比父类有更多的问题。子类方法的访问权限只能比父类的更大,不能更小。如果父类的方法是private类型,那么,子类则不存在覆盖的限制,相当于子类中增加了一个全新的方法。
    至于Overloaded的方法是否可以改变返回值的类型这个问题,要看你倒底想问什么呢?这个题目很模糊。如果几个Overloaded的方法的参数列表不一样,它们的返回者类型当然也可以不一样。但我估计你想问的问题是:如果两个方法的参数列表完全一样,是否可以让它们的返回值不同来实现重载Overload。这是不行的,我们可以用反证法来说明这个问题,因为我们有时候调用一个方法时也可以不定义返回结果变量,即不要关心其返回结果,例如,我们调用map.remove(key)方法时,虽然remove方法有返回值,但是我们通常都不会定义接收返回结果的变量,这时候假设该类中有两个名称和参数列表完全相同的方法,仅仅是返回类型不同,java就无法确定编程者倒底是想调用哪个方法了,因为它无法通过返回结果类型来判断。

    override可以翻译为覆盖,从字面就可以知道,它是覆盖了一个方法并且对其重写,以求达到不同的作用。对我们来说最熟悉的覆盖就是对接口方法的实现,在接口中一般只是对方法进行了声明,而我们在实现时,就需要实现接口声明的所有方法。除了这个典型的用法以外,我们在继承中也可能会在子类覆盖父类中的方法。在覆盖要注意以下的几点:
    1、覆盖的方法的标志必须要和被覆盖的方法的标志完全匹配,才能达到覆盖的效果;
    2、覆盖的方法的返回值必须和被覆盖的方法的返回一致;
    3、覆盖的方法所抛出的异常必须和被覆盖方法的所抛出的异常一致,或者是其子类;
    4、被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
    overload对我们来说可能比较熟悉,可以翻译为重载,它是指我们可以定义一些名称相同的方法,通过定义不同的输入参数来区分这些方法,然后再调用时,VM就会根据不同的参数样式,来选择合适的方法执行。在使用重载要注意以下的几点:
    1、在使用重载时只能通过不同的参数样式。例如,不同的参数类型,不同的参数个数,不同的参数顺序(当然,同一方法内的几个参数类型必须不一样,例如可以是fun(int,float),但是不能为fun(int,int));
    2、不能通过访问权限、返回类型、抛出的异常进行重载;
    3、方法的异常类型和数目不会对重载造成影响;
    4、对于继承来说,如果某一方法在父类中是访问权限是private,那么就不能在子类对其进行重载,如果定义的话,也只是定义了一个新方法,而不会达到重载的效果。

    3.java的基本数据类型。

    (byte,short,int,long,char,float,double,boolean)

    4请问输出的是什么?并说明理由!

    public class Demo4 {
     
    public static void main(String[] args) {
     
    String str="1234";
     
    changStr(str);
     
    System.out.println(str);
     
    }
     
    public static void changStr(String str){
     
    str="welcome";
     
    }
    }

      输出:“1234”

    5.在0-9999之间,随机传入一个数字,如果不足四位,前面用“0”补足并输出。例如,传入“12”,输出“0012”。输出“1234”

    除了判断长度外还有什么其他的方法。

    其中一种方法,利用String的方法实现。还可以通过判断长度补充0

     1 public class Snippet {
     2 public static void main(String[] args) {
     3 int youNumber = 1; 
     4 // 0 代表前面补充0 
     5 // 4 代表长度为4 
     6 // d 代表参数为正数型 
     7 String str = String.format("%04d", youNumber); 
     8 System.out.println(str); // 0001 
     9 }
    10 }

     

    6.jsp的内置对象和动作方法?

     

    内置对象:

     

    request,用户端请求。

     

    response,网页传回用户端的回应。

     

    session,会话

     

    application,它实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭

     

    page,网页本身

     

    pageContext,管理网页的属性

     

    config,它是在一个Servlet初始化时,JSP引擎向它传递信息用的

     

    exception,它是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。

     

    out.用来传送回应的输出

    动作方法:

    jsp:include:在页面被请求的时候引入一个文件。

    jsp:useBean:寻找或者实例化一个JavaBean。

    jsp:setProperty:设置JavaBean 的属性。

    jsp:getProperty:输出某个JavaBean 的属性。

    jsp:forward:把请求转到一个新的页面。

    jsp:plugin:根据浏览器类型为Java 插件生成OBJECT 或EMBED 标记

    7.介绍你熟悉的mvc框架,并说出它们的优缺点。

    MVC框架:struts2、springMVC

    8..js和jquery获得input输入的值的方法

    js:document.getElementById(id).value();

    JQuery:$(“input#test”).val();

    SQL基础:这个题我是没有完成的

    成绩表(Grade)

    字段:学号(No)、姓名(Name)、科目(Subject)、成绩(Score)

    9、查询每门课程大于80分的学生的学号和姓名。 

    select No, Name group by No where No not in (select No from Grade where Score <= 80)

    select No, Name group by No where No not in (select No from Grade where Score <= 80)

    10、查询名次、学号、姓名、总分信息,并按总分排序。 

    select No   
  • 相关阅读:
    [转]多线程更新Processbar
    不能因技术后天的死 而迷茫了今天的“学” 生
    NSIS 安装包制作相关
    [转]yslow 评分标准
    c# winform 打印 窗体 及 窗体控件内容 的 初级尝试
    严重认知自身成长 与诸博友共勉
    [转]NSIS 的 Modern UI 教程
    爱的幸福
    遍历WinForm窗体 根据语言类型设置其控件Text显示
    多借鉴 多思考
  • 原文地址:https://www.cnblogs.com/syjh-water/p/6066604.html
Copyright © 2020-2023  润新知