记录网易的一些面试题,以及自己尝试解答的答案。
1、hashMap和hashTable的区别
hashTable是一个比较老的类,继承自Dictionary类;hashMap是Java1.2引进的Map接口的一个实现。hashTable有contains()方法,而在hashMap里面该方法被取消,替代为containsKey()和containsValue()两个方法。
hashTable的方法是同步的,在多线程的应用程序中可以不用采取编程行为而直接使用hashTable达到同步的效果。当然hashMap不是同步的。同步的功能增加了许多的资源的消耗,所以hashMap的效率在hashTable之上。
hashMap允许null值作为key值或者value值而hashTable不允许。
综合来看,如果程序需要同步功能,那么hashTable比hashMap适宜。不过在更多的时候,hashMap更加强大。
2、ArrayList和Vector的区别
Vector从Java1.0就存在了,ArrayList是Java1.2引进的新DS。所以Vector的存在更为广泛。
Vector的方法都是同步的(线程安全),而ArrayList的方法不是,由此,ArrayList的性能比Vector要好。
3、ArrayList和LinkedList的区别
直观上来说,Array意思是数组,Linked表示是链表形式的。所以ArrayList的查询性能优于LinkedList,而LinkedList的插入删除操作性能就会比ArrayList优秀。
ArrayList采用的是数组形式来保存对象的,因此对象被放在了连续的位置,导致了插入删除是非常麻烦的事情;LinkedList将对象存放在各自独立的空间,而且每个空间还保存了下一个对象的索引,但是查找是非常麻烦的。
4、Linux下如何查看系统负载(cpuinfo,top,ps)
平均负载:uptime
w命令可以更多的查看系统当前有哪些用户,他们占用了哪些终端
top命令也可以反映系统负载情况
5、什么是cookie?cookie和session的区别是什么?
cookie,指的是网站为了辨别用户的身份,进行session跟踪而储存在用户本地终端的数据(加密)。
cookie数据存放在用户的终端中(通常是浏览器上),session数据存放在服务器上。cookie的安全性不如session,但是cookie可以减轻服务器的负担。网站的优化考虑一般思路为登录等私密信息存放为session,其他信息可以放在cookie上。
6、Http中Get和Post的区别
GET一般用于获取/查询资源信息,而POST用于更新资源。
7、TCP/IP FTP SMTP等协议的了解和应用
TCP/IP Transmission Control Protocol/Internet Protocol 传输控制/网际协议
FTP File Transfer Protocol是互联网上用来传送文件的协议。
SMTP Simple Mail Transfer Protocol简单邮件传输协议,用于由源地址到目的地址传送邮件的协议
ARP Address Resolution Protocol 用户MAC地址和IP地址之间的解析(涉及不同的层)
8、ping命令的基本工作原理
ping是计算机的一个程序。在ping某个网址的时候会发出一个请求信息,对方返回的时候计算延时,从而可以检查网络连通性,也能够看出网址所对应的IP地址。
9、用Java写一程序从根目录下的文本文件test.txt读出数据,并输出到控制台。
file类