您的位置 首页 java

2019年java面试官最喜欢问的问题,送给准备跳槽的你

话说现在已经四月份了,金三银四已经过了一多半了。去年开始的互联网寒冬并没有影响it从业人员换工作的热情,下面小编就 Java 从业人员面试的时候,遇到的一些高频率问题,做了一个简单的总结。希望各位能够在面试的时候,认真准备,仔细阅读,争取进入自己心仪的企业。

一般面试官让你做个简单的自我介绍,你可以就自己掌握的技术和自己比较熟悉的项目向面试官做一个陈述,时间控制在两分钟到三分钟左右为佳。下面就面试官常问的问题,做一个简单的整理。

第一题:谈谈final,finally,finalize的区别?

final 可以用来修饰类、方法、变量,分别有不同的意义,final 修饰的 class 代表不可以继承扩展,final 的变量是不可以修改的,而 final 的方法也是不可以重写的(override)。

finally 则是 Java 保证重点代码一定要被执行的一种机制。我们可以使用 try-finally 或者 try-catch-finally 来进行类似关闭 JDBC 连接、保证 unlock 锁等动作。

finalize是基础类 java.lang.Object 的一个方法,它的设计目的是保证对象在被垃圾收集前完成特定资源的回收。finalize 机制现在已经不推荐使用,并且在 JDK 9 开始被标记为 deprecated。

第二题:java8的新特性你熟悉吗?

新特性有: Lambda 表达式,函数式接口,方法与构造函数引用,Filter 过滤。在这里小编就简单列举几个例子,有兴趣的小伙伴可以下来就java8的新特性多多了解一下,这个题目被问到的概率很高哟!

第三题: hashmap HashTable 的区别?

map在编码的时候,使用频率非常高,所以问到的概率也很高。

1.hashmap可以看做是hashtable的替代 者,HashMap的Value和Key都可为NULL,而HashTable不可。

2.HashTable是线程同步的,而HashMap不是.

3.HashTable用Iterator遍历,HashMap用Enumeration遍历.

4.HashTable 中hash数组默认大小是11,增加的方式是 old*2+1。

5.HashMap中hash数组的默认大小是16,而且一定是2的指数。计算index的方 法不同,HashTable直接利用 hashcode ()得出,HashMap对hashcode重新计算得出.

第四题: collection 和collections的区别?

这个比较简单,大家应该都知道;collection是结合类的上级接口,子接口有List和Set等,Collections是java.util下的一个工具类,提供一些列 静态方法 对集合搜索排序线程同步化等。

第五题:gc是什么?gc的算法有哪些?为什么要有gc?

GC 即 garbage collection(垃圾收集),是JAVA用于回收内存的一种方式。主要的实现方法有引用计数,标记回收,复制清除。GC可以避免内存泄露和堆栈溢出,有效提高内存的利用效率,同时将程序员从繁琐的内存管理中释放出来.

第六题:overload和override的区别?

方法重载是指同一个类中的多个方法具有相同的名字,但这些方法具有不同的参数列表,即参数的数量或参数类型不能完全相同

方法重写是存在子父类之间的,子类定义的方法与父类中的方法具有相同的方法名字,相同的参数表和相同的返回类型注:(1)子类中不能重写父类中的final方法(2)子类中必须重写父类中的abstract方法

第七题:list,set,map是否继承自collection接口?

list和ste都继承自​collection.不包括map,map和collection属于一个级别。

第八题:sleep()和wait()有什么区别?

这个是弄线程的最爱,好多人多少知道一些,但是面试的时候,不能够很好的回答,让技术面试瞬间对你的印象降低一大截。

1,sleep()是java.lang.Thread中的静态方法,wait()是java.lang.Object中的方法

2,sleep()用作当前线程阻塞自己,并在制定时间后恢复,wait()用于当前线程决定其他线程阻塞,是线程通信的表现.

3,sleep()不释放资源,wait()释放资源.

4,sleep()必须捕获异常,而wait()不需要.

第九题:谈谈你对 Spring ioc 和aop的理解?

回答思路:1.何为IOC和AOP->2.实现原理->3.项目中如何使用。

IOC:控制反转;spring对这些程序中相互依赖对象的创建和协调工作都交由Spring容器来实现,当某个对象需要其他协作对象时,由Spring动态的通过依赖注入(DI, Dependency Injection)的方式来提供协作对象,其只需要关注业务本身的逻辑即可。

AOP:面向切面编程;AOP把系统分为两部分:核心关注点和横切关注点。业务的核心处理流程为核心关注点,与之相对的诸如上面提到的权限认证、日志、事务等则为横切关注点。AOP思想的作用在于分离系统中的各种关注点,进一步解耦模块间的相互依赖,提高模块的重用性。

第十题:谈谈你对SpringBoot和 SpringCloud 的理解?

SpringCloud是Spring为 微服务架构 思想做的一个一站式实现。微服务其实就是一个概念、一个项目开发的架构思想。SpringCloud是微服务架构的一种java实现。

SpringCloud是基于SpringBoot的一套实现微服务的框架。它提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是,跟SpringBoot框架一起使用的话,会让你开发微服务架构的云服务非常方便。

SpringCloud五大核心组件:

服务注册发现-Netflix Eureka

配置中心 – spring cloud config

负载均衡-Netflix Ribbon

断路器 – Netflix Hystrix

路由(网关) – Netflix Zuul

好了,以上就是小编整理的一些最新的java面试题型,就初中级java程序猿能够用到,相对来说比较基础,后续小编会持续整理一些面试题型,希望可以帮助大家。如果大家有什么好的意见或者方法,可以在下方留言!

文章来源:智云一二三科技

文章标题:2019年java面试官最喜欢问的问题,送给准备跳槽的你

文章地址:https://www.zhihuclub.com/176686.shtml

关于作者: 智云科技

热门文章

网站地图