美文网首页职场菜鸟成长记
面试官问:这门编程语言你是否学透彻了?我笑道:什么才是透彻?

面试官问:这门编程语言你是否学透彻了?我笑道:什么才是透彻?

作者: 1cbd7f94d3ea | 来源:发表于2019-10-03 18:57 被阅读0次

           在职场中,有的程序员去面试的时候,被问到是否学得“透彻”。透彻这个词其实很难去界定的,更没有一个统一的标准来衡量,到底要到一个什么程度才能算透彻?我给大家分享一下我的经历:

      我是java的程序猿,我也去问过别人如何才能学得透彻,也是很迷茫的。人家说什么要明白jvm的运行机制,要去查看jdk的源码。其实我不是很赞同他们的观点。要作为一名初级的java开发工程师,你需要做的就是完全熟悉jdk的常用api,数据库的基本操作,基本的效率常识问题等需要掌握,常用的框架需要熟悉,如:spring,struts2,hibernate,springmvc等;这些基本都是成为一个初级开发工程师必须掌握的知识。当你完成了上面所述,你自然的想去弄清楚jvm的运行机理,来提高自己代码的执行效率,去查看jdk中的源码来提高自己的编程能力,等等都是水到渠成的事情。没有编写几行代码就去研究什么源码啊,机理啊,效率啊,其实是出于下策的。

      编程语言的学习是一个漫长的过程,欲速则不达,饭要一口一口吃,路要一步一步走,不能一步登天。你不能开始学某一种编程语言就直接想一遍学精。在这个过程中需要慢慢积累经验,把基础打扎实。不要认为写出了一个简单的小程序,就觉得自己已经学的很好了,这只不过是编程学习过程中的一个小小实践。

      首先你得会用,囫囵吞枣式的学,然后就要想着要知其所以然了。多练习,然后多遇到困难再解决,深入了解各个java包,深入理解虚拟机的各种机制,知道作者这样设计java的优点,最好了解别的语言,如c++,以便与java作比较。

      1、语法方面。了解所有语法,会简单使用。

      2、语言暴露成面。开始略深入的了解常用的集合源码。了解源码,需要数据结构和部分算法支持。

      3、搞定所谓的OOP。

      4、框架设计方面。开始看一些框架源码,慢慢深入,开始了解设计模式技巧,其中设计模式和技巧已经几乎脱离了某种语言。

      5、自己动手实现一些简单框架。

      6、开始深入研究Java多线程机制 JVM啥的。开始完整的啃AQS系列。

      7、开始理解JVM GC机制 ,研究学习相关原理。需要图论啥的支持。

      8、下载OpenJDK看JVM源码,在C/C++成面理解/分析JVM的实现。因为JVM也是利用C/C++写成的。

      9、字节码,然后用Java和所学的编译原理,在Jvm上实现一门语言。

      然后还有辅助的东西,就不说了,实在是太多了。总之,要学透彻,很难的,一般精通就已经是超神的境界了。涉及的东西也不仅仅是java本身内容,到后期更多的是编译原理,计算机系统原理,数学算法相关内容,设计模式技巧。然后天时地利人和都全了,才能行云流水一般的玩起来。

       但是这样就透彻了嘛,你别问我,我也不知道。我也还在追求登峰造极的路上。这里的大神应该很多吧,大家共同努力!

            有兴趣学习C/C++可以关注笔者哦!另外笔者分享两张C/C++的学习路线图,希望能帮助各位早日更近一步!

    相关文章

      网友评论

        本文标题:面试官问:这门编程语言你是否学透彻了?我笑道:什么才是透彻?

        本文链接:https://www.haomeiwen.com/subject/pkidpctx.html