这篇面试总结很短,也没有面试题的答案,只是写给像我一样的非科班Java开发者的一些话。
昨天进行了人生第一次视频面试,一共三个小时的技术面,还没见到人事,应该是挂了。
不过整个过程下来感触还是蛮多的,除了感受到面试官的牛X之外,也知道自己平时在学习中的不足。
**先介绍一下面试中觉得比较吃力的问题:**
* Java中有哪些注解?在SpringMVC中,requestmapping是自定义注
解,问:如何实现自定义注解?
* SpringMVC在处理前端页面请求时,各模块是如何工作的?
* 数据库索引有什么作用?带来的问题是什么?
* jvm的垃圾回收机制和垃圾收集器
* spring当中事物的隔离级别
* jdk1.8 concurrenthashmap 的新的特性,有没有看过源码
另外值得一提的就是问了我自己写的博客里的东西
**这次面试让我深刻意识到了两点:**
1.对于每个技术,不能只停留在“会用”而已,应该理解它的实现机制。
2.了解技术的原理之后,还要知其所以然:为什么要用这个技术?最好还要知道这个技术存在什么缺陷,这个缺陷是哪个解决类似问题的技术所没有的?
第一点是“how”的问题,第二点是“why”的问题,然而我相信有不少人只停留在“what”和“using”上。
在面试的时候,我强烈感受到了面试官的功力之深:给我的感觉,对他而言,几乎所有的技术都可以解释出来,对知识点理解得非常透彻:即便是很简单知识点,也能说出很多深层次的东西来。而我自己只是刚开始接触不久,在面对提到这类的问题几乎是没有思路的。
**我想说的:**
所以我觉得对于广大非科班的Java程序员来说,如果想在Java上走远,就必须尽快补充数据结构,算法,指针等计算机基础知识,不然会对知识的理解形成很大的阻力。因为只有知道了这些基础知识,才能更深入得理解每一个技术点,而且以后如果学习其他的语言,也会更高效一些。
**简单来说就一句话:先是程序员,然后才是Java程序员。只有这样思考,路才能越走越宽,越走越快,越走越远。**
现在IT形势这么不好,市场要过滤掉那些计算机基础知识薄弱的人也是情有可原的。
所谓的现在的“不好”,只是相对于之前“不正常的好”的不好。现在这个行业变得“不好”,其实是因为这个行业正在变得好,应该值得我们高兴才是。
所以对于我们这群人(非科班的Java开发者),应该提高忧患意识,未雨绸缪,更何况,雨已经来过了。
最后,给大家推荐一个Java进阶内推交流群937053620,不管你在地球哪个方位,不管你参加工作几年都欢迎你的入驻!(群内会免费提供一些群主收藏的免费学习书籍资料以及整理好的几百道面试题和答案文档!)
![](https://upload-images.jianshu.io/upload_images/11633898-502930daca368223.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
有疑问加站长微信联系(非本文作者)