OPPO内推来啦(附Java面试经验分享)
内推码:80264315
先简单介绍一下自己,我是19届重庆邮电大学软件工程学院毕业的,去年秋招刚开始那段时间走了很多弯路,真正步入正轨进行学习的时间其实也不长,也就半年左右的时间吧,最后是在OPPO的春招中得以斩获offer,得到了牛客很多大佬的帮助,这两天刚入职,正好又是一年秋招季,特来分享一些经验回馈牛客。
我的方向是Java工程师(后端),所以主要分享的经验就是在Java的技术方向上,避免各位同学们去踩其他的坑。在这里主要分为三个部分:基础篇,进阶篇,项目篇
首先是基础篇,也就是一些基本需要知道的常识性东西,大概分为一下几个点:计算机网络基础知识(网络层、运输层)、操作系统基础知识、基础的算法(各大排序,最好能熟练掌握快排这样的热门算法)与数据结构(线性表、链表之类的东西)、Java基础(Java基础我是看培训班的视频入门的,这样的入门视频一定要做笔记,否则听了就忘了,而且要多跟着一起敲代码,建议后续配合书一起进行基础的入门)。
进阶篇的话主要就是对Java中的一些点进行进阶的学习,主要是jvm以及Java线程两个方向的突破,在jvm方面我主要通过周志明出版的《深入理解Java虚拟机(第二版)》进行学习,这本书对我的提升还是很大的,我非常推荐大家去读这一本书,我大概看了两三遍吧,主要选择其中一些章节进行阅读。再然后就是Java线程方面,我主要读了《Java并发编程实战》这本书,说实话这本书真的很难读,但是我还是硬生生啃下来了,对自己的提升还是挺大的,实在不行的同学可以结合《Java并发编程的艺术》来看。还有的话就是Java框架上的一些进阶,离不开的肯定就是Spring,一定要对Spring有一定的了解才行,比如说ioc容器到底是一个什么东西要知道吧,采用了什么模式也应该了解,涉及太过于源码的一些东西等有时间了再慢慢去揣摩。对了,还有一点就是Java容器也应该清楚,arraylist、hashmap这些容器的源码都要去看,最好是对每个容器都有自己的理解,比如当hashmap执行put方法的时候是怎样的,这种细节知识也是很重要的
最后的话就是项目篇,其实在我面OPPO的时候,就是主要通过讲项目,再对项目中的一些点进行延伸,从而达到把技术讲出来这样的一个形式的。项目一定要有一些亮点,自己一定要把这些点吃透,比如一个支撑高并发下的项目,你就要对并发编程有一定的了解才能够在面试官问到你这方面技术的时候能够延伸出来讲一些其他的东西,讲到自己的东西肯定会得心应手一些。我自己的话是在网上找了一个项目,跟着老师一起敲了下来,并且对每一个知识点都进行学习以及掌握,这样做出来的项目实际上也就成为了自己的项目,总之,对于自己的项目一定要有足够的了解,并且有足够的知识储备来进行发挥。
最后附上一个大佬的知识库:https://github.com/CyC2018/CS-Notes,对着这个进行延伸学习也是一个很好的方式。
有什么问题可以留言或者私聊我,我会尽力回复大家的~
#OPPO##内推#