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题**
下图中为一列时序变量,绿色点为正常数据点,红色为异常数据点。
请设计算法可识别异常点,简述算法框架和内容要点。
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题**
已知平行四边形的边长分别为a和b,外接正方形如图所看到的,仅仅外接点。无外接边,求外接正方形边长c的范围
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveWluNzY3ODMzMzc2/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
Java面试问题总结的更多相关文章
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结
我是一名java开发人员,hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和 ...
- 转:最近5年133个Java面试问题列表
最近5年133个Java面试问题列表 Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来 ...
- java面试宝典(蓝桥学院)
Java面试宝典(蓝桥学院) 回答技巧 这套面试题主要目的是帮助那些还没有java软件开发实际工作经验,而正在努力寻找java软件开发工作的学生在笔试/面试时更好地赢得好的结果.由于这套试题涉及的范围 ...
- JAVA面试精选【Java基础第一部分】
这个系列面试题主要目的是帮助你拿轻松到offer,同时还能开个好价钱.只要能够搞明白这个系列的绝大多数题目,在面试过程中,你就能轻轻松松的把面试官给忽悠了.对于那些正打算找工作JAVA软件开发工作的童 ...
- Java面试必备知识
JAVA面试必备知识 第一,谈谈final, finally, finalize的区别. 第二,Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可 ...
- java面试和笔试大全 分类: 面试 2015-07-10 22:07 10人阅读 评论(0) 收藏
2.String是最基本的数据类型吗? 基本数据类型包括byte.int.char.long.float.double.boolean和short. java.lang.String类是final类型 ...
- 近5年133个Java面试问题列表
Java 面试随着时间的改变而改变.在过去的日子里,当你知道 String 和 StringBuilder 的区别就能让你直接进入第二轮面试,但是现在问题变得越来越高级,面试官问的问题也更深入. 在我 ...
- java 面试
115个Java面试题和答案——终极列表(上) 本文我们将要讨论Java面试中的各种不同类型的面试题,它们可以让雇主测试应聘者的Java和通用的面向对象编程的能力.下面的章节分为上下两篇,第一 ...
- 【Java面试】基础知识篇
[Java面试]基础知识篇 Java基础知识总结,主要包括数据类型,string类,集合,线程,时间,正则,流,jdk5--8各个版本的新特性,等等.不足的地方,欢迎大家补充.源码分享见个人公告.Ja ...
- JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)
hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加 ...
随机推荐
- hdu 4461 第37届ACM/ICPC杭州赛区I题
题意:给两个人一些棋子,每个棋子有其对应的power,若b没有或者c没有,或者二者都没有,那么他的total power就会减1,total power最少是1,求最后谁能赢 如果b或c出现的话,fl ...
- Eclipse添加Spket插件实现ExtJs智能提示
1 . 开发环境 MyEclipse 12.0.0 ExtJs 4.2.1.883 Spket 1.6.23 2 . 下载资源 extjs 4.2.1.883 - http://www.sencha. ...
- Spring boot整合jsp
这几天在集中学习Spring boot+Shiro框架,因为之前view层用jsp比较多,所以想在spring boot中配置jsp,但是spring boot官方不推荐使用jsp,因为jsp相对于一 ...
- 关于 TRegEx.Split()
表达式中的括号将严重影响分割结果. uses RegularExpressions; const FSourceText = '1: AAA 2: BBB 3: CCC'; // 分隔符将有三部分构成 ...
- CentOS下GPT分区(转)
GPT格式的分区理论上是支持18EB,而MBR只支持2TB,以后大硬盘GPT是趋势.fdisk最大只能建立2TB大小的分区,创建一个大于2TB的分区就必须使用parted,parted向后兼容MBR. ...
- 性能优化:使用SparseArray代替HashMap<Integer,Object>(转)
HashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果.最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performanc ...
- Android中使用隐藏API(大量图解)
Android SDK的很多API是隐藏的,我无法直接使用.但是我们通过编译Android系统源码可以得到完整的API. 编译Android系统源码后可以在out\target\common\obj\ ...
- HDU 3979 Monster (贪心排序)
Monster Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- CentOS 6.8 搭建 Git 代码托管系统 Gitea
[荐] Gitea:Git with a cup of tea,在 Gogs 基础上,发展起来的 自助 Git 服务系统.Gogs是一个个人维护的版本,而Gitea是一个社区组织维护的,版本迭代更新快 ...
- C#消息队列(RabbitMQ)零基础从入门到实战演练
一.课程介绍 如果您从工作中之听过但未有接触过消息对队列(MQ),如果你接触过一点关于MQ的知识,如果没有这么的多如果的话......,那么阿笨将通过本次<C#消息队列零基础从入门到实战演练&g ...