Java面试题

最近又开始找工作了,(为毛是又呢,还不是因为之前随便就去了一家公司)

上面是背景,然后顺手整理了下最近一个星期的面试题

ps:为毛特么没有offer呢,你们都瞎了吗



1.ArrayList和LinkList的区别(被问到指数5星,几乎每个公司都会变着法子的问这个问题,我怀疑他们看的是同一个面试题库)

ArrayList是动态数组的数据机构,对于随机访问的get和set,ArrayList要优于LinkList,因为LinkList要移动指针

LinkList是基于链表的数据结构,对于add和insert操作,LinkList要优于ArrayList,因为ArrayList要移动数据

然而你以为就这样就完了吗!!!

问:请问在平均5次操作其中有4次需要查询1次需要新增的情况下,用哪一种数据结构会比较好呢?

答:。。。。。。。(exm?)

2.hashmap的数据结构

hashmap实际上是一个数组和链表的结合体,hashmap根据键值对存储数据,若key的hashcode值重复,则用链表的方式将数据

放在数组的next里面。

3.bigDecimal

1).往往用于商业计算

2).尽量使用参数类型为String的构造函数

3).BigDecimal都是不可变的,在进行每一步的计算时,都会产生一个新的对象所以在做加减乘除运算时要保存操作后的值

4.分布式和集群之间的区别

分布式是指在多台不同的服务器中部署不同的服务模块,通过远程调用协同工作,对外提供服务。

集群是指在多台不同的服务器中部署相同的应用和服务模块,构成一个集群,通过负载均衡设备对外提供服务。


分布式系统是一个硬件和软件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统

分布性:

透明性:系统资源被所有计算机共享

同一性:系统中的若干计算机可以互相协作来完成一个共同的任务

通信性:任意两台计算机都可以通过通信来交换信息

5.数据库的优化

http://blog.csdn.net/axin66ok/article/details/7891386

你可能感兴趣的:(Java面试题)