阿里一个非常神圣的公司,如果将BAT按照每年的盈利来说,实际上应该叫做ATB,阿里的盈利是最大的,其次就是腾讯,再次就是百度;如果按照员工的待遇来排序的话,应该叫做ABT,三家公司的待遇阿里最高,一般是15K*15,其次是百度一般13*14.6,再次就是腾讯.... 阿里总的来说面试还是比较轻松,如果不是算法工程师,就是开发或者研发工程师,一般问的都是一些比较基本的东西
所以小编特意从朋友哪儿总结了下阿里出现率较高的Java面试题,希望能帮助到想要学习Java的同学。
1.HashMap和HashTable区别
1).HashTable的方法前面都有synchronized来同步,是线程安全的;HashMap未经同步,是非线程安全的。
2).HashTable不允许null值(key和value都不可以) ;HashMap允许null值(key和value都可以)。
3).HashTable有一个contains(Object
value)功能和containsValue(Object
value)功能一样。
4).HashTable使用Enumeration进行遍历;HashMap使用Iterator进行遍历。
5).HashTable中hash数组默认大小是11,增加的方式是old*2+1;HashMap中hash数组的默认大小是16,而且一定是2的指数。
6).哈希值的使用不同,HashTable直接使用对象的hashCode; HashMap重新计算hash值,而且用与代替求模。
如果大家想要学习java编程的小伙伴,可以关注小编头条号,【点击头像,右上角私信:学习】,小编也有6年编程经验了,免费送一套比较系统的java资料、教程和工作经验,权当是..吧!
2.ArrayList和vector区别
ArrayList和Vector都实现了List接口,都是通过数组实现的。
Vector是线程安全的,而ArrayList是非线程安全的。