神州数码java⾯试_神州数码⾯试题及答案
1.概述逻辑垄断(&,|,^)与条件垄断(&&,||)的差异。(15分)
2.下⾯过程运⾏会发⽣什么收获?万⼀有讹谬,如何修订? (15分)
inte***ce A{
int x = 0;
}
class B{
int x =1;
}
class C
extends B implements A {
public void pX(){
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}
}
3.概述 Java Server Page 和 Servlet 的联系和差异。(20分)
4.XML⽂档定义有⼏种形式?它们之间有何性质差异?
解析XML⽂档有哪⼏种措施?(20分)
6.EJB规范法定EJB中遏⽌的垄断有哪些?(15分)
最后还有⼀题考考你的眼⼒:
public String toString(){
return this + "@" + this.hashCode();
}
这个toString()措施告终有⽆不当的地⽅?(toString措施其实能够按你想输出的任何内容输出⼀些该类的消息)
**********************************************************************************
public String toString(){
return this + "@" + this.hashCode();
}
会变成
public String toString(){
return String.valueOf(this) + "@" + String.valueOf(this.hashCode());
}
⽽valueOf措施⼜将去调⽤toString();
这么好像会有问题了吧
以下答案供参看(⽆须定全⾯准确),也未曾很翔实解释.相⼲知识能够⾃⼰参看相⼲材料加上⾃⼰的会意.迎接拍砖1.概述逻辑垄断(&,|,^)与条件垄断(&&,||)的差异。(15分)
差异重要答两点:
a.条件垄断只能垄断布尔型的,⽽逻辑垄断不但能够垄断布尔型,⽽且能够垄断数值型
b.逻辑垄断不会发⽣短路.如:
int a = 0;
int b = 0;
if( (a = 3) > 0 || (b = 3) > 0 ) //操后a =3,b=0.
if( (a = 3) > 0 | (b = 3) > 0 ) //操后a =3,b=3.
答对第⼀点得5分,答对第⼆点得10分.
本题摸底最最⼤约的知识,但依旧有许多⼤⽜级开发⼈员下马,任何语⾔在开始的局部
都会翔实推荐这些⼤约知识,但除⾮学习第⼀种语⾔时,未曾⼈在学习新的语⾔时⽢⼼
花五分钟来温习⼀下.
2.下⾯过程运⾏会发⽣什么收获?万⼀有讹谬,如何修订? (15分)
inte***ce A{
int x = 0;
}
class B{
int x =1;
}
class C
extends B implements A {
public void pX(){
System.out.println(x);
}
public static void main(String[] args) {
new C().pX();
}
}
}
本题在编译时会发⽣讹谬(讹谬描写不同的JVM有不同的消息,含义即便未确定的x调⽤,
两个x都相称,就象在同时import java.util和java.sql两个包时直接声明Date⼀样)
本题重要摸底对接⼝和类的最最⼤约的构造的打听.对于⽗类的变量,能够⽤super.x来
确定,⽽接⼝的属性默认隐含为 public static final.因⽽能够穿越A.x来确定.
3.概述 Java Server Page 和 Servlet 的联系和差异。(20分)
本题⽆须多说,在答雷同点时该当确定懂得jsp编译后是"类servlet"⽽"不是Servlet",答差异时该当批复出"偏重于(视图/扼制逻辑)".其它可依据情形加减分值.知识很容易,但从⾯试的⾓度看,被试者不但要能懂得它们的差异,⽽且要能⽐拟准确地表⽩出来(以后写⽂档要能让旁⼈看得懂,不发⽣歧义),批复"jsp编译后即便servlet"视为讹谬,批复"jsp⽤于视图,servlet⽤于扼制逻辑"视为讹谬,该当⽤偏重于,重要(多数)⽤于等词语表⽩.
4.XML⽂档定义有⼏种形式?它们之间有何性质差异?
解析XML⽂档有哪⼏种措施?(20分)
本题三个答题点:
a: 两种形式 dtd,schema
b: 性质差异:schema本⾝是xml的,能够被XML解析器解析(这也是从DTD上进展schema的⼤约⽬标)
c: 两种重要措施:dom,sax.答出两种得全分,如能答出saxt,或其它(在答出dom,sax的基础上,万⼀应试者感受其它措施也能够视为对xml的解析该当批准.但未曾答出dom,sax把其它措施说成是对XML的解析不得分)该当加分.
重要雷同点:
Lock能告终synchronized所告终的所有功能.(其它不重要)
重要不同点:
Lock有⽐synchronized更准确的线程语义和更好的功能(在雷同点中批复此点也⾏)
synchronized会积极释放锁.⽽Lock定然要求过程员⼿⼯释放.并且定然在finally从句中释放,欧珀莱 万⼀未曾答出在finally中释放不得分.就如Connection未曾在finally中关闭⼀样.连最⼤约的资源释放都做不好,还谈什么多线程编程.
6.EJB规范法定EJB中遏⽌的垄断有哪些?(15分)
共同8点,答出下列3-4点得满分.
1.不能垄断线程和线程API(线程API指⾮线程对象的措施如notify,wait等)
2.不能垄断awt
3.不能告终服务器功能
4.不能对静态属⽣存取.
5.不能利⽤IO垄断直接存取⽂件系统
6.不能加载本地库.
7.不能将this作为变量和归来.
8.不能循环调⽤.
神州数码⾯试题及答案2017-09-09 19:10 | #2楼写⼀个可以返回任意两个string串的最⼤公串的函数,语⾔不限#e#
答:google longgest common string 即可
suffix tree
后缀树
后缀树利⽤⼀棵树来表达字符串所有可能的后缀。⽐如,BANANA所有可能的后缀有:
BANANA, ANANA, NANA, ANA,NA,A 共6个。根据我的理解,后缀树最简单可以这么来构造:
1,⾸先写出所有的后缀;
2,根据这些字符串的第⼀个字母把它们进⾏分组,每个字符串属于⼀组;
3,继续对各个分组进⾏步骤2的操作,直到每个分组只有⼀个字符串为⽌;
4,按照radix tree的⽅式进⾏简化处理。
⼀般的说,在原始字符串后⾯加上⼀个结束符号$以把所有的结束点都放到叶⼦节点上。于是,根据上⾯的步骤,我们给BANANA的分组为:
1,加上$,得到BANANA$;
2,得到所有的6个后缀(单独的$省略):BANANA$,ANANA$,NANA$,ANA$,NA$,A$;
3,这些字符串中,按照第⼀个字母进⾏划分,得到如下结果:
*
A/  B|    \N
ANANA$  BANANA$ NANA$
ANA$            NA$
A$
4,再对每个分类循环进⾏上述操作,最后得到的结果为:
*
A/    B|    \N
*      *      *
$/ \N    $|      \A
A$  *  BANANA$    *
A/            $/ \N
*            NA$  *
$/ \N              A/
ANA$  *              *
A/            $/
*            NANA$
$/
ANANA$
5,进⾏radix tree⽅式的简化:
*
A/    BANANA$|    \NA
*          BANANA$  *
java面试题及答案2020$/ \NA              $/  \NA$
A$  *              NA$  NANA$
$/ \NA$
ANA$ ANANA$
可以看到,每个叶⼦节点都对应⼀个后缀字符串,⽽每个内节点没有任何信息,⽽每条边描述的是消耗的字符串。
其⼀般构造可以在o(m)内完成,m为最长字符串的长度。
Ukkonen's algorithm能在这个时间复杂度⾥⾯完成后缀树的构建⼯作,见E.
Ukkonen. (1995). On-line construction of suffix trees. Algorithmica 14(3)
:249-260.
Longest common substring
最⼤公共⼦字符串
它和LCS是不同的,⼦字符串的位置是连续的。⽐如,对于ABAB和BABA来说,其最⼤公共⼦字符串就是ABA。计算⽅法为:LCSuff[i,j] = LCSuff[i-1,j-1] +1,  x(i)=y(j)
0                ,  otherwise
那么,最后的结果为:
LCSuff(x,y) = max(LCSuff[|x|,i])  i = 0 .. |y|。
⽐如:
A B A B
0 0 0 0 0
B 0 0 1 0 1
A 0 1 0 2 0
B 0 0 2 0 3
A 0 1 0 3 0
最下⾯⼀⾏的最⼤值就是结果。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。