前几天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题**

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

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

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWluNzY3ODMzMzc2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

逻辑与几何部分

第1题***

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

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

乙回答:不知道

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

甲回答:不知道

乙说:呵呵,我知道了

甲说:呵呵,我也知道了

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

 

第2题**

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

 

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWluNzY3ODMzMzc2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

 

 

Java面试问题总结的更多相关文章

  1. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结

    我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...

  2. 转:最近5年133个Java面试问题列表

    最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...

  3. java面试宝典(蓝桥学院)

    Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...

  4. JAVA面试精选【Java基础第一部分】

    这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...

  5. Java面试必备知识

    JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...

  6. java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏

    2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...

  7. 近5年133个Java面试问题列表

    Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...

  8. java 面试

        115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...

  9. 【Java面试】基础知识篇

    [Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...

  10. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)

    hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加 ...

随机推荐

  1. eclipse闪退解决(转)

    最近帮同事解决一个eclipse闪退解决的问题,从网上找了N多方法皆无效,最后用一个园友的博客上的方法解决了,特转载一下. 解决办法: 删除文件 [workspace]/.metadata/.plug ...

  2. JavaScript正则表达式在不同浏览器中可能遇到的问题

    这两天在用正则表达式搞一个稍微有点复杂的东西,但是不同浏览器之间的差异可浪费了我不少的人参. 现在我把正则表达式在五大主流浏览器(IE.firefox.Chrome.Safari.Opera,以当前版 ...

  3. Linux 下smi/mdio总线通信

    Linux 下smi/mdio总线通信 韩大卫@吉林师范大学 下面代码描述了在用户层访问smi/mdio总线, 读写phy芯片寄存器的通用代码.Linux内核2.6以上通用. 将下面代码编译后,将可执 ...

  4. ARM 编程平台+coresight

    http://www.keil.com/product/ DS-5:http://www.cnblogs.com/njseu/p/6023081.html http://www.arm.com/pro ...

  5. Revit API取得系统族普通族几何信息的方法

    系统族,可以直接转化为对应的类(Wall,Duct)然后取得几何信息,普通族需要转化为FamilyInstance ))         {           TaskDialog.Show()   ...

  6. 初识序列化和反序列化,使用BinaryFormatter类、ISerializable接口、XmlSerializer类进行序列化和反序列化

    序列化是将对象转换成字节流的过程,反序列化是把字节流转换成对象的过程.对象一旦被序列化,就可以把对象状态保存到硬盘的某个位置,甚至还可以通过网络发送给另外一台机器上运行的进程.本篇主要包括: ● 使用 ...

  7. 从普通函数到对象方法 ------Windows窗口过程的面向对象封装

    原文地址:http://blog.csdn.net/linzhengqun/article/details/1451088 从普通函数到对象方法 ------Windows窗口过程的面向对象封装 开始 ...

  8. 布局控件Grid

    XAML概述 Silverlight的控件绘制是由XAML语言进行支持的.什么是XAML语言? 简单的说,XAML(Extensible Application Markup Language )是一 ...

  9. 如何在Windows下运行linux shell脚本

    在工作中情况会在碰到linux下进行执行shell的脚本,而就会使用shell的脚本,但经常使用的Windows的系统,而想在Windows电脑中进行直接shell的脚本,而不用再进行学习其它的脚本语 ...

  10. Android 代码实现应用强制装到手机内存

    在Froyo(android 2.2,API Level:8)中引入了android:installLocation.通过设置该属性可以使得开发者以及用户决定程序的安装位置. android:inst ...