Java面试技巧和重点分析

一.前言

      首先,我只个菜鸟,在学术界上还微不足道。我的博客都是站在自己的角度上讲出自己的想法,和一些解决问题的方法。针对自己和一些迷茫的朋友,并不适用于技术大牛!

      一方面是给自己梳理一下自己的复习思路,因为自己也是一个大三的学生,现在也面临着就业面试。在复习的过程之中有时候也会很迷茫,有时候甚至会怀疑自己,认为自己什么都不会。想要沉下心复习的时候不知道从何下手,不知道什么重要什么不重要;另一方面我发现我身边的朋友啊,认识的网友啊都有类似的感觉,因为自己现在在一家公司实习,也有很多朋友问我一些重点和面试技巧什么的。所以,希望能帮到大家。

      为了总结这些,我和我们公司的架构师聊了很久。介绍一下我们架构师吧,一个48岁的技术大牛,负责公司项目的架构和技术选型,培训新人。从前端到后端,从后端到部署,什么都懂,还有专精。为人和蔼可亲,很乐意和别人交流技术经验,没有一点领导架子,很纯粹的一个技术人才。我很是仰慕和尊敬!下面的这些都和他深入谈过。

二.重点

我问架构师他面试一个应届生的时候会注重他的哪些知识,他说基础知识和一些框架工具的使用。

1. 基础知识就是指一些系统原理和算法之类的,因为这些永远不会过期;对这些原理理解的深度很重要,因为这是一种思维方式,所有的语言底层原理都差不多;操作系统也很重要,因为这是计算机底层了,除非计算机不再是0和1,这些都不会变。一个人的技术上限是由他的基础决定的,基础扎实学东西也就越快。

2. 框架工具就是指一些主流的框架,比如SSH,SSM,Spring Boot , Spring Cloud。这些框架你需要知道他们的使用和他们核心的实现原理,说着说着又到原理了...比如Spring,你要知道 ioc , aop 是怎么实现的把?你要知道他的工厂是怎么实现的吧?这个东西你平时不去深究,你使用再久Spring可能都不知道原理。我记得一句很深刻的话,这些框架迟早会被取代,但是思想不会!你要相信强如 Spring 某一天也会被取代的,只是时间的问题,一定会有更好的技术出现。但是那些技术也是别人想出来研究出来的,你不去了解先进技术的实现原理你怎么可能研究出新的技术和框架?就好像你没有砖瓦怎么造高楼大厦一样,而这些思想就像砖瓦一样。

      还有一个问题,关于知识深度和广度的问题。首先,我认为都非常重要!但是作为一个普普通通的应届生,就如我而言,我觉得深度更加重要!目前而言,我觉得能把自己学的东西都理解深刻,掌握这些技术重要的原理实现,就已经够了。有的人会说,这些基础的东西这么简单,我早就学会了好吗?OK!那我问一句你,你知道容器的底层实现吗?能手写HashMap,ArrayList,LinkedList吗?容器的扩容怎么理解?天天在用String,你看过他的实现吗?能理解应用那些设计模式吗?能自己写一个类加载器吗?这些问题都是很基础的吧?基本上天天用吧?你能完全答出来么?这些都不会你一上来就和我说你会分布式和负载均衡?你有过这些项目经验吗?是不是懵了,所以千万不要去学别人,看着别人什么都会的样子就也想去学那些东西。老老实实先把基础打好,一步一步的,然后有空余的时间了再去了解这些东西。

      我只学这么一点东西别人会要我吗?到时候面试的时候,基础扎实,然后还能浅谈对一些高新技术的看法,深藏功与名,这远远比给自己挖坑说什么都会结果什么都不会好吧?总结一下就是,我并不是觉得技术广度有问题,反而我也很羡慕那些什么都会的大佬,但是请你把基础搞好,千万不要飘!不做浮漂!技术大牛和你一聊就听得出来你扎不扎实,有的人可能会点出来,有的人根本就不会管你,然后你还沉浸在自己的世界,有什么用呢?

三.总结

      自己手打这么多,再次强调,这只是我个人看法,并不一定是正确的。每个人的想法都不一样,我也不会强求你认同我,这也不是我写这篇博客的目的!只是希望对大家有一点点帮助,那就足够了。因为自己也迷茫过,也在奋斗过程中,也是一个菜鸟,深知求学之不易!有什么想法和意见都可以说出来或者私信我!后续我有时间也会更新自己复习过程中遇到的问题和一些理解!



猜你喜欢

转载自blog.csdn.net/soul_wh/article/details/81060664