简单谈谈对java的认识 JAVA主要是用来干什么的呢?

JAVA主要是用来干什么的呢?Java是一门计算机编程语言。主要做后端开发。做了4年左右java,正常情况应该是什么水平?JVM类加载机制、内存模型、垃圾回收机制Spring Bean 容器生命周期S

JAVA主要是用来干什么的呢?

Java是一门计算机编程语言。主要做后端开发。

做了4年左右java,正常情况应该是什么水平?

JVM类加载机制、内存模型、垃圾回收机制

Spring Bean 容器生命周期

Spring AOP 原理

数据库 SQL 优化、数据库索引、索引原理等

看到这一系列的知识点,可能有的一下子就慌了,当然,这只是一小部分而已。面试官喜欢针对求职者掌握的知识点刨根问底。如果你能吼住的话,进入下一轮面试的几率就大大提高了。

阿里更倾向深度挖掘,针对你掌握的知识点进行深度挖掘。比如前面提到的java知识点,垃圾回收机制Garbage collection,我们知道要,准确理解Java的垃圾回收机制,我们可以从:“什么时候”,“对什么东西”,“做了什么事情”这三个方面来分析。

要是在面试时,面试官问“对什么东西”,有的求职者回答 没有用的对象,按道理来说,这并没有错,只是这并不是理想的答案。要是能更进一步分析,那就更好了,GC操作的对象分为:通过可达性分析法无法搜索到的对象和可以搜索到的对象。对于搜索不到的方法进行标记。从root搜索不到,而且经过第一次标记、清理后,仍然没有复活的对象。

对于用可达性分析法搜索不到的对象,GC并不一定会回收该对象。要完全回收一个对象,至少需要经过两次标记的过程。 把问题具体化了一些,对类似这样的对象进行回收,相信能给你这次面试加分。

项目思考深度

要是你通过基础知识的考核,恭喜你,你离拿offer不远了。接下来面试官一般会让你说说你的项目经验,譬如项目的架构图,既然有了架构图,你需要清楚理解每个模块的作用,每个框架的原理以及与其他框架的优势和不足。

在这个层次上,你不仅要对项目本身理解足够深刻,还要跳出项目本身,思考开源框架本身的问题。进一步思考这些开源框架好不好,有什么可以改进的地方。作为一名的程序员,有必要掌握为什么要用这些框架?它有什么不足,能不能做得更好?只有往深度的方向去思考,才能促进我们有所成长。