用友前端实习面试题

关于用友web前端面试题的知识

哪些中间件产品提供了JSP和Servlet的服务:
Tomcat和Jetty。

关于WebService的描述:
XML Security题gogmde1机制是WebService中的XML数据安全的基本机制。
SOAP WebService通过WSDL描述接口, WSDL支持对WebService进行人机可识别的描述。

关于二分查找的叙述:
表必须有序,且表只能以顺序方式存储

数据库的事务描述:
一个数据库事务可以包含多个查询、修改、删除、插入等数据库动作,它们要么作为一个整体完全得到确认,要么完全失败。
一个事务只能包含对一个数据库实例的数据操作,不允许跨多个数据库实例,跨多个数据库实例需要分布式事务支持。
数据库事务会给数据库带来并发操作带来一定影响,会降低系统的并发能力。

关于XML:
每个合格的XML都有唯一的根元素。
XML的格式上是要求严格的,每个元素的开闭必须完整,不允许交叉开闭,XML常用于WebService中用来做数据交换的标准。
XML中元素是大小写敏感的。
XML中的数据可以通过XPATH检索查询。

计算机和操作系统的一些描述:
CPU根据程序计数器(PC)从内存中装载指令到CPU中执行。
如果外设要请求CPU提供服务时,需要向其发送中断信号。
linux是单内核(强内核,宏内核)。
进程同步应该可以用信号量,管道。

WEB开发中常见的技术和问题:
HTML页面中的第一个指令: 表明这是一个符合HTML5标准的页面。

JavaWEB的一些概念:
每个WEB请求都可以被拦截,拦截方法是通过。ServletFilter,并进行适当的配置所有保存在会话的数据都应该是实现Serializable接口的,这样中间件能够更友好的处理会话数据。
所有的JSP都是Servlet, JSP能完成的工作Servlet一定能够完成。
可以通过ServletConfig 获取应用的所有配置信息。

Java的一些概念:
通过try … catch … finally语句,finally中的语句部分无论发生什么异常都会得到执行。
Java通过synchronized进行访问的同步,synchronized作用非静态成员方法和静态成员方法上同步的目标是不同的。

二维数组A[0…5,0…6]的每个元素占五个字节,将其按列优先次序存储在起始地址为1000的内存单元中,则元素A[5,4]的地址是多少: 1145

小张预见用友软件的股票在下一个交易日的8个交易时间的交易价格,这8个交易时间的价格按时序排列为[100, 108, 90, 88, 101, 80 89, 86],假设他只能买一次,卖一次。请问它如何操作获利才能最大?
90买,101卖

一颗二叉树共有300个节点,该二叉树的最大高度和最小高度分别为多少高?
300、9
(解析:2的8次方为256,还剩44,再加下层。)

有如下递归函数f(n),其时间复杂度为?
int f(int n){
int sum = 0;
for(int i=0; i
sum = sum + i;
return f(n/2) + f((n+1)/2) + sum;
}
正确答案: O(n^2)

列举出你所了解的SQL重的集合操作并简单解释?
主要的运算有UNION, MINUS,INTERSECT,UNION对两个数据集进行数据结果的合并,其中又包括UNION和UNION ALL, 只有UNION不包括重复的列,而UNION ALL包括重复的列, MINUS从一个数据集中删除另一个数据集中的数据, INTERSECT取两个表之间的交集,只有两个数据集中的共同数据作为新的数据集。

有个八位整数-4, 在符号右移两位和无符号右移两位的十进制数值分别是多少:
-4的八位整形数的2进制为:11111100
符号右移两位结果为:11111111
用十进制表达:-1
无符号右移的结果:00111111
用十进制表达:63
(对于有符号整数,每一次右移操作,高位补充的是1;对于无符号整数,每一次右移操作,高位补充的则是0。)

JavaScript中的.call和.apply方法有什么区别?
当知道JavaScript的函数的参数的个数时,使用.call(),.call中直接传递参数.当不知道函数的参数时使用.apply(), .apply使用的参数是一个数组量。

Java中的HashMap.entrySet().iterator()和CoucurrentHashMap.entrySet().iterate()返回的迭代器有什么共同点和不同点?
这两个方法都返回一个迭代, 迭代Map结构中存储的数据单元Entry, 每个Entry其实是一个键/值对。
HashMap中的迭代是fail-fast的, 即只要迭代过程中如果Map结构被修改,如插入和删除了数据, 迭代一般会立即失败,抛出ConcurrentModifi擦tionException异常, 而ConcurrentHashMap是支持并发操作的,在迭代过程中其被修改,迭代还是能够安全的运行,不会抛出异常。

请描述一下模板方法模式的意图和你对模板模式的理解?
在很多系统中,应用的主体框架大体是相同的, 模板方法模式正是满足这一需要而提出来的,在模板模式中, 通过一个模板方法的抽象类,把模板要完成的主体工作的框架搭好,在框架中会调用多个方法实现这些步骤,但这些方法都不提供实现,实现交给使用这个框架的程序。
模板方法被广泛应用于框架开发中,通过模板方法,框架把琐碎的工作完成,而在框架开发的程序,只要完成框架要求其扩展的方法即可。模板方法是一种典型的反转控制技术,对框架的流程外部并不需要掌握,只需要充当螺丝钉即可把工作完成,实现基于框架的系统搭建。

对于排序算法,经常关注的是其时间复杂度和稳定性。下列排序算法中平均时间复杂度是O(NLOGN)且稳定的是?
归并排序

(不稳定的算法:快速排序、希尔排序、选择排序、堆排序
平均时间复杂度为O(nlog2n):快速排序、归并排序、堆排序)

判定一个顺序栈 S (最多元素为 MAXSIZE )为空的条件是?
s->top == -1
(s->top 是栈顶指针,空栈为-1 . 插入元素 s->top++ 出栈 s->top-- 栈满 s->top = maxSize-1)

内存分为堆和栈,简单来说:
栈保存变量和对象的引用,堆保存对象。

MAC地址:
MAC地址的一部分字节是各个厂家从IEEE得来的。
MAC地址一共有6个字节,他们从出厂时就被固化在网卡中。
MAC地址也称做物理地址,或通常所说的计算机的硬件地址。

信道上可传送信号的最高频率和最低频率之差称为信道带宽。

软件危机的表现:
1.开发进度、成本难以控制 2.软件质量靠不住 3.维护困难,维护后产生新的问题 4.缺少匹配的文档资料 5.开发效率低,跟不上硬件的发展
软件危机产生的原因:
1.忽略需求分析 2.忽视测试工作 3.轻视维护工作 4.开发过程没有统一规范的方法做指导,文档资料不齐全。

猜你喜欢

转载自blog.csdn.net/weixin_43995844/article/details/107578473