zoukankan      html  css  js  c++  java
  • Java面试问题总结

    前几天Java面试中遇到的问题。这仅仅是当中的一部分问题,面试中有非常多问题是关于数据结构和算法的。在这里做下总结。希望有能力的人能够试着做一下,并在评论区留下您的答案,让大家相互学习。

    谢谢


    程序设计部分

    第1题*

    已知类定义例如以下

        class Node {

            public Double value;

            public List<Node> children;

        }

    将下面递归程序改成非递归程序(两个程序的输出应保持顺序一致)

        publicstaticvoid process(Node node) {

            for (int i = 0; i < node.children.size(); i++) {

                Node child = node.children.get(i);

                if (child.value < node.value) {

                    process(child);

                }

            }

            System.out.println(node.value);

            for (int i = 0; i < node.children.size(); i++) {

                Node child = node.children.get(i);

                if (child.value >= node.value) {

                    process(child);

                }

            }

        }

     

    第2题*

    请完好下面程序,输入为字符数组(数组内每一个字符均不同样)和个数n,返回值是由这些字符组成的全部长度为n的字符串

    比如输入为{'a','b','c'}和个数1,则返回值为{"a","b","c"}

    比如输入为{'a','b','c','d'}和个数2,则返回值为{"ab","ac","ad","ba","bc","bd","ca","cb","cd","da","db","dc"}

        public String[] doit(char[]chars){

            ......

        }

     

    第3题**

    參考第1题Node类定义,Node类定义了一个树形结构,请完好下面程序

    输入node满足下面条件:

    1     node的value是大于0的浮点数

    2     node的下级节点(以及更下级节点)的value可能是null或者大于0的浮点数

    程序的作用例如以下:

    1     将树形结构里面全部value是null的均设为大于0的浮点数

    2     非叶子节点(即children数量大于0的节点)的value均等于它的children的value之和

        public void doit(Nodenode){

            ......

        }

     

    第4题***

    Saga语言由变量定义、变量赋值、条件运行三种语句组成,当中变量定义必须位于另外两种语句之前。三种语句定义例如以下:

    变量定义由变量名和常量值组成:

           def变量名=常量值

    变量赋值由变量名和运算表达式组成:

           变量名=运算表达式

    条件运行由比較表达式和一系列变量赋值组成:

           if(比較表达式){

                  变量赋值1

                  变量赋值2

                  ......

           }

    当中:

    a)    变量名由小写字母组成

    b)    常量值为浮点数,比如1.1,2.0等

    c)    运算表达式由变量、常量值、运算符加减乘除(+,-,*,/)和括号组成

    c)    比較表达式由两个运算表达式加比較符(>,<, =)组成。演示样例a+b>100.0

    Saga语言程序演示样例:

    def a=100.0

    def b=200.0

    def c=1.0

    def d=0.0

    c=(a+b)/2.0

    if(c=150.0){

           d=d+1.0

           d=d+1.0

    }

    请完好下面程序(写出思路就可以)。输入是随意Saga语言程序(字符串格式),返回值是程序中全部变量及其终于值。

        public Map<String, Double> doit(Stringprog){

            ......

        }

     

    数据分析部分

    第1题**

    下图中为一列时序变量,绿色点为正常数据点。红色为异常数据点。

    请设计算法可识别异常点。简述算法框架和内容要点。










    逻辑与几何部分

    第1题***

    20个球,按顺序标上序号1-20。将这些球放进一个箱子,老师从这个箱子中随机取出2个球,序号各自是a和b。将a与b的和告诉学生甲。将a与b的积告诉学生乙。然后

    甲问乙:你知道a和b各自是多少吗?

    乙回答:不知道

    乙问甲:你知道a和b各自是多少吗?

    甲回答:不知道

    乙说:呵呵,我知道了

    甲说:呵呵。我也知道了

    请回答a和b各自是多少,并写出推理过程。

     

    第2题**

    已知平行四边形的边长分别为ab,外接正方形如图所看到的,仅仅外接点。无外接边。求外接正方形边长c的范围

     

     


     


  • 相关阅读:
    SQL SERVER 性能优化四: 创建分区表
    SQL SERVER 性能优化一: 数据库中几百万数据查询优化
    SQL SERVER 性能优化二: 数据库初始值大小及增长方式设置
    C++连接SQL SERVER 数据库方式
    利用作业定时收缩SQL SERVER数据库
    jQuery easyUI datagrid 增加求和统计行
    jquery easyui DataGrid 数据表格 属性
    jQuery easyui中获取datagrid某一列的值之和
    Maven + Springboot + redis 配置
    mac os Catalina beta Jetbrains idea闪退解决方案
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/8386398.html
Copyright © 2011-2022 走看看