Java面试宝典

来源:互联网 发布:火车头 js内容分页 编辑:程序博客网 时间:2024/05/17 08:52

    作为一名Java开发人员,找工作不难,难的是找到一份适合自己的工作。一名合格的Java开发人员应该具备哪些专业技能,在面试前需要准备好哪些东西呢?接下来我为大家解答一下。

    首先,要有一份好的简历,简历是你的第一印象,成功的第一步,好的简历更能让你打开成功的大门。

    其次,JAVA基础,基础一定要比较扎实,熟练的使用Java语言进行面向对象程序设计,有良好的编程习惯,熟悉常用的Java API,包括集合框架、多线程(并发编程)、I/O(NIO)、Socket、JDBC、XML、反射等。

                                                                                                 

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。
    对Spring的IoC容器和AOP原理有深入了解,熟练的运用Spring框架管理各种Web组件及其依赖关系,熟练的使用Spring进行事务、日志、安全性等的管理,有使用Spring MVC作为表示层技术以及使用Spring提供的持久化支持进行Web项目开发的经验,熟悉Spring对其他框架的整合。
    熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
    熟练的使用HTML、CSS和JavaScript进行Web前端开发,熟悉jQuery和Bootstrap,对Ajax技术在Web项目中的应用有深入理解,有使用前端MVC框架(AngularJS)和JavaScript模板引擎(HandleBars)进行项目开发的经验。
    熟悉常用的关系型数据库产品(MySQL、Oracle),熟练的使用SQL和PL/SQL进行数据库编程。
    熟悉面向对象的设计原则,对GoF设计模式和企业应用架构模式有深入的了解和实际开发的相关经验,熟练的使用UML进行面向对象的分析和设计,有TDD(测试驱动开发)和DDD(领域驱动设计)的经验。
    熟悉Apache、NginX、Tomcat、WildFly、Weblogic等Web服务器和应用服务器的使用,熟悉多种服务器整合、集群和负载均衡的配置。
    熟练的使用产品原型工具Axure,熟练的使用设计建模工具PowerDesigner和Enterprise Architect,熟练的使用Java开发环境Eclipse和IntelliJ,熟练的使用前端开发环境WebStorm,熟练的使用软件版本控制工具SVN和Git,熟练的使用项目构建和管理工具Maven和Gradle。

    最后,很重要的一点,就是要自信,还得会“吹”。当然不是让你胡编乱造,“吹”是建立在“会”的基础上。当你面对面试官时,不要紧张,也不要有过多的考虑。其实有时候面试官也不知道答案,他只是看回答问题的这个人,逻辑性好不好,表达能力行不行,自不自信。

                                                               

  接下来分享些面试真题:

1.简要介绍java程序的健壮性。

 

    答:JAVA程序会在编译和运行的时候自动的检测可能出现的错误,而且它是一种强类型语言,对于类型的检查很严格,而且它的垃圾回收机制也有效的避免了内存的泄漏。

 

2.为什么说java语言是完全面向对象的?(其实我觉得它不是完全面向对象的)

 

    答:因为它不支持任何面向过程的程序设计技术它的所有程序设计技术都是用类来实现的。

 

    另答:因为它有8种简单数据类型不是面向对象的,可以直接使用它,用static申明的变量或方法不是面向对象的,因为它不属于任何一个对象,要调用它可以直接使用,不用对它进行实例化(这种方法还在争论中)。

 

3.简要介绍java如何实现安全性。

 

    答:首先JAVA删除了指针这就避免了非法的内存操作,所有对内存的操作都必须通过对象的实例来实现。而且当我们从网上下载代码执行是它的安全系统能确保恶意程序不会随便访问我们本地计算机的资源。

 

4.为什么说java是解释性的?

 

    答:因为我们在执行JAVA文件时,编译器会先把代码译成字节码文件,这是一种中间代码,然后JAVA解释器才进行执行。

 

5.简要介绍java的平台无关性。

 

    答:JAVA程序是在虚拟机上执行的,只要安装了JAVA虚拟机它就可以以字节码的形式在任何平台上执行。

 

6.简要介绍java的多态性。

 

    答:多态性是指同名的不同方法在程序中共存,系统根据不同的情况调用不同的方法实现不同的功能。实现多态性的方法有两种:覆盖实现,重载实现。

 

7.简要介绍java是强类型检查语言。

 

    答:JAVA对数据类型的检查非常严格,在定义和用变量时必须先指定其类型而且它只允许数据类型的向上提升,而且不允许出现会出现数据丢失的附值(如把小数附给整形)。

 

8.int 和 Integer有什么区别?

 

    答:int是简单数据类型(整形)而Integer是整形的封装类。

 

9.简要介绍String和StringBuffer的区别?

 

    答:String类代表不可变字符串。在值创建之后就不能被改变。而StringBuffer是可变的字符序列,初始容量16字节,通过某些方法可改变其内容和长度。

 

10.简要介绍java的垃圾回收机制。

 

    答:JAVA的垃圾回收机制就是:当一个对象没有任何引用时,该对象便会启动垃圾回收器调用finalize方法以配置系统资源或执行相关的清除操作。

 

     对于没有多少经验的同学,比如刚毕业或者实习生等,那么就需要基础很好,然后有一些个人的认识。这些经验少的java同学一般面试者都不会为难他们,只需要把知道的、认识到的告诉面试者就行了,从而让面试者能够看到发展的潜力。很多人还是喜欢培养那些有发展潜力的同学,这些同学的进步都是非常迅速的。我个人总结其实只有一点,那就是要有“亮点”。说白了就是有自己独特的认识和理解等才能在众多差不多的同学中脱颖而出。既然不能做全才,那么就做“专才”。这些java找工作心得体验分享希望能助你找到一份好工作。总之,面试时技能是基础,表达是辅助。是块金子,在哪里都会放出光彩!

原创粉丝点击