爱立信笔试+面试

时间:2022-11-27 14:39:54

笔试一个小时的题做了不到半个小时。数据库+java特性+设计模式+


单例模式存在的问题:线程同步,ascension

单例模式看起来是最简单的一种模式,但是也是存在问题的。问题存在于,对象的创建过程,不是原子操作。

对象的创建过程包括在栈中分配地址,在堆中分配空间等。

这样,如果在几个步骤中间的过程中,另外一个线程恰好过来访问单例类,那么,问题就来了。

据说ascension可以解决问题,但是网络上找不到ascension的资料。慢慢找~~

【没找到ascension的东西。但是在《head first》里面找到了解决办法。】

private static Singleton s=new Singleton();

在声明的时候new,这样在JVM加载类的时候就是立即创建此唯一的实例。

这样的解决办法是由JVM保证在任何线程访问此实例之前,一定先创建此实例。


数据库范式:符合第几范式

这个忘记的差不多了。再补补。


soap协议是用xml传输的,但是为什么是轻量级协议?

个人的理解就是使用简单,开销小,性能好。

SOAP大大简化了交换消息和调用远程函数的工作。远程过程调用(Remote ProcedureCall,RPC)标准需要复杂的方法来处理二进制数据的序列化,发送结构化更高的信息需要详细的声明和双向的信息转换。

使用 SOAP,XML 序列化大大降低了这种复杂性,使得跨平台、跨语言集成和数据交换更加简单


java进程间通信

需要学习。java线程间通信也需要学。这里主要就是说,假如说,有一个进度条,我想cancel掉,怎么处理?(进度条是一个单独的线程)这个问题就是主线程如何主动结束一个子线程?比如说结束显示进度条的线程。


有没有过面向对象课程的经验?java只是面向对象的一种。要学习一下面向对象的整体的概念。

这个真没有。


IndexOutOfboundException ,有不同的子类,如果想捕捉到它所有的子类,但是不能一个一个的写try catch。

这里就是继承的问题了,只要抛出父类,那么它的子类都会跑出来了,是哪个子类就会抛出哪个子类。同样,所有java自带异常的父类都是Exception,那么,是不是只要抛Exception就可以了呢?也不是的。java写这么多异常的子类是有他的道理的。我们当然也可以只捕捉子类异常,然后给他们不同的处里。如果代码里面只捕捉Exception,那么处里方式太单一。


java本身的线程池怎么用?

java本身自带了一个线程池:ExecutorService,可以自己定制需要的线程数量、回收时间等。

java怎么使用连接池?因为new线程的开销也很大。


jstl在项目中是如何使用的?大概的用途是什么?

在之前的项目中,jstl用于用户角色的判断,在界面上根据用户角色的不同来显示不同的功能键。

JSP 标准标签库(JSP Standard Tag Library,JSTL)是一个实现 Web 应用程序中常见的通用功能的定制标记库集,这些功能包括迭代和条件判断、数据管理格式化、XML 操作以及数据库访问。

大概查了一下,发现jstl的功能,其中对数据库的操作,和format功能,应该不是很有用。条件判断的功能,其实在struts中也可以做到。

不过jstl跟el结合起来,还是蛮有用的。


还有其他的什么不记得了。时间太久了。