• 招聘频道
    当前位置:首页 > 名企招聘 > 招聘信息 > Java面试题,教你对抗面试大佬

    Java面试题,教你对抗面试大佬

    时间:2018-09-29 19:45:45作者:魔据大数据学院

    IT行业的笔试十分重要,即使你掌握了一定的技能,如果在面试中发挥的不好,还是会与心仪的工作失之交臂,下面魔据小编总结了一些企业常考的Java面试题,教你成功通过面试官的层层拷问。如何精通大数据Java?要做到这几点。

    1.什么是Java虚拟机?为什么Java被称作是“?#25945;?#26080;关的编程语言”?

    Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。

    Java被设计成允许应用程序可以运行在任意的?#25945;ǎ?#32780;不需要程序员为每一个?#25945;?#21333;独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件?#25945;?#30340;指令长度和其他特性。

    2.“static”关键字是什么意思?Java中是否可以覆盖(override)一个private或者是static的方法?

    “static”关键字表明一个成员变量或者是成员方法可以在?#25381;?#25152;属的类的?#36947;?#21464;量的情况下被访问。

    Java中static方法不能被覆盖,因为方法覆盖是基于运行时动态绑定的,而static方法是编译时静态绑定的。static方法跟类的任?#38382;道?#37117;不相关,所以概念上不适用。

     

    Java面试题,教你对抗面试大佬

    Java面试题教你对抗面试大佬

    3.是否可以在static环境中访问非static变量?

    static变量在Java中是属于类的,它在所有的?#36947;?#20013;的值是一样的。当类被Java虚拟机载入的时候,会对static变?#25335;?#34892;初始化。如果你的代码尝试?#25381;檬道?#26469;访问非static的变量,编译器会报错,因为这些变量还?#25381;?#34987;创建出来,还?#25381;?#36319;任?#38382;道?#20851;联上。

    3.什么是值传递和引?#20040;?#36882;?

    对象被值传递,意味着传递了对象的一个副本。因此,就算是改变了对象副本,也不会影响源对象的值。

    对象被引?#20040;?#36882;,意味着传递的并不是实际的对象,而是对象的引用。因此,外部对引用对象所做的改变会反映到所有的对象上。

    4.进程和线程的区别是什么?

    进程是执行着的应用程序,而线程是进程内部的一个执行序?#23567;?#19968;个进程可以有多个线程。线程又叫做轻?#32771;?#36827;程。

    5.创建线程有几种不同的方式?哪一?#25351;?#22909;?为什么?

    有三种方式可以用来创建线程:

    继承Thread类

    实现Runnable接口

    应用程序可以使用Executor框架来创建线程池

    实现Runnable接口这种方式更好,因为这不需要继承Thread类。在应用设计中已经继承了别的对象的情况下,这需要多继承(而Java不支持多继承),只能实现接口。同时,线程池也是非常高效的,很容易实现和使用。

    6.Iterator和ListIterator的区别是什么?

    Iterator可用来遍历Set和List集合,但是ListIterator只能用来遍历List。

    Iterator对集?#29616;?#33021;是前向遍历,ListIterator既可以前向也可?#38498;?#21521;。

    ListIterator实现了Iterator接口,并包含其他的功能,比如:增加元素,替换元素,获取前一个和后一个元素的索引,等?#21462;?/span>

    7.Java中的HashMap的工作原理是什么?

    Java中的HashMap是以键值对(key-value)的?#38382;?#23384;储元素的。HashMap中的每个元素都是一个Entry,这些key-value存在于map的entry数组中,HashMap需要一个hash函数,它使用hashCode()和equals()方法来向集合/从集合添加和检索元素。当调用put()方法的时候,HashMap会计算key的hash值,然后把键值对存储在集合中合适的索引上。如果key已经存在了,value会被更新成新值。

    不同key的hash值是可能会相同的,这时之前相同key的值会被移到entry的后面,entry是一个类似链表的结构。因此HashMap是一个数组加链表的结合体。

     

    8.HashMap和Hashtable有什么区别?

    HashMap和Hashtable都实现了Map接口,因此很多特性非常相似。但是,他们有以下不同点:

    HashMap允许键和值是null,而Hashtable不允许键或者值是null。

    Hashtable是同步的,而HashMap不是。因此,HashMap适合于单线程环?#24120;?#32780;Hashtable适合于多线程环境。

    9.数组(Array)和列表(ArrayList)有什么区别?什么时候应该使用Array而不是ArrayList?

    下面列出了Array和ArrayList的不同点:Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。Array大小是固定的,ArrayList的大小是动态变化的。ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等?#21462;?/span>

    对于基本类型数据,集合使用自动装箱来减少编码工作量。但是,当处理固定大小的基本数据类型的时候,这种方式相对比?#19979;?/font>

    10.HashSet和TreeSet有什么区别?

    HashSet是由一个hash表来实现的,因此,它的元素是无序的。TreeSet是由一个树形的结构来实现的,它里面的元素是?#34892;?#30340;。

    俗话说不打无准备之仗,在面试前做好充足的准备,多看一些面试题,知道如何进行回答,这样的话在面试时就可以从容面对,顺利通过面试,得到心仪的岗位。

     相关推荐:

    上海有?#25381;?#38752;谱的Java大数据培训机构?

    Java大数据行业的发展前景怎么样?

    Java 大数据培训课程有什么入门技巧?


    学习大数据敬请关注魔据教育微信二维码。
    魔据教育微信二维码

    ?#26223;?#26435;与免责声明】如发现内容存在版权问题,烦请提供相关信息发邮件至[email protected],我们将及时沟通与处理。本站内容除非来源注明魔据教育,否则均为网友转载,涉及言论、版权与本站无关。

    全国咨询热线:400-690-5006,值班手机:18501996998(7*24小时)

    在线咨询:李老师QQ(226594285),陈老师QQ(428683440)

    企业合作服务专线:010-82340234-821, 院校合作洽谈专线:010-82340234

    Copyright 2001-2017 魔据教育 - ?#26412;?#21326;育兴业科技有限公司 版权所有,京ICP备17018991号-2

    免费在线咨询立即咨询

    免费索取技术资料立即索取

    大数据技术交流QQ:226594285

    电话咨询010-82340234

    安徽十一选五开奖号码