1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00
2019-04-19 16:57:15 +08:00

82 lines
10 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

  身边的朋友或者公众号的粉丝很多人都向我询问过:“我是双非/三本/专科学校的我有机会进入大厂吗”、“非计算机专业的学生能学好吗”、“如何学习Java”、“Java学习该学哪些东西”、“我该如何准备Java面试”......这些方面的问题。我会根据自己的一点经验对大部分人关心的这些问题进行答疑解惑。现在又刚好赶上考研结束这篇文章也算是给考研结束准备往Java后端方向发展的朋友们指明一条学习之路。道理懂了如果没有实际行动那这篇文章对你或许没有任何意义。
### Question1:我是双非/三本/专科学校的,我有机会进入大厂吗?
  我自己也是非985非211学校的结合自己的经历以及一些朋友的经历我觉得让我回答这个问题再好不过。
  首先,我觉得学校歧视很正常,真的太正常了,如果要抱怨的话,你只能抱怨自己没有进入名校。但是,千万不要动不动说自己学校差,动不动拿自己学校当做自己进不了大厂的借口,学历只是筛选简历的很多标准中的一个而已,如果你够优秀,简历够丰富,你也一样可以和名校同学一起同台竞争。
  企业HR肯定是更喜欢高学历的人毕竟985、211优秀人才比例肯定比普通学校高很多HR团队肯定会优先在这些学校里选。这就好比相亲你是愿意在很多优秀的人中选一个优秀的还是愿意在很多普通的人中选一个优秀的呢
  
  双非本科甚至是二本、三本甚至是专科的同学也有很多进入大厂的不过比率相比于名校的低很多而已。从大厂招聘的结果上看高学历人才的数量占据大头那些成功进入BAT、美团京东网易等大厂的双非本科甚至是二本、三本甚至是专科的同学往往是因为具备丰富的项目经历或者在某个含金量比较高的竞赛比如ACM中取得了不错的成绩。**一部分学历不突出但能力出众的面试者能够进入大厂并不是说明学历不重要,而是学历的软肋能够通过其他的优势来弥补。** 所以,如果你的学校不够好而你自己又想去大厂的话,建议你可以从这几点来做:**①尽量在面试前最好有一个可以拿的出手的项目;②有实习条件的话,尽早出去实习,实习经历也会是你的简历的一个亮点(有能力在大厂实习最佳!);③参加一些含金量比较高的比赛,拿不拿得到名次没关系,重在锻炼。**
### Question2:非计算机专业的学生能学好Java后台吗我能进大厂吗
  当然可以现在非科班的程序员很多很大一部分原因是互联网行业的工资比较高。我们学校外面的培训班里面90%都是非科班我觉得他们很多人学的都还不错。另外我的一个朋友本科是机械专业大一开始自学安卓技术贼溜在我看来他比大部分本科是计算机的同学学的还要好。参考Question1的回答即使你是非科班程序员如果你想进入大厂的话你也可以通过自己的其他优势来弥补。
  我觉得我们不应该因为自己的专业给自己划界限或者贴标签,说实话,很多科班的同学可能并不如你,你以为科班的同学就会认真听讲吗?还不是几乎全靠自己课下自学!不过如果你是非科班的话,你想要学好,那么注定就要舍弃自己本专业的一些学习时间,这是无可厚非的。
  建议非科班的同学首先要打好计算机基础知识基础①计算机网络、②操作系统、③数据机构与算法我个人觉得这3个对你最重要。这些东西就像是内功对你以后的长远发展非常有用。当然如果你想要进大厂的话这些知识也是一定会被问到的。另外“一定学好数据结构与算法一定学好数据结构与算法一定学好数据结构与算法重要的东西说3遍。
### Question3: 我没有实习经历的话找工作是不是特别艰难?
  没有实习经历没关系,只要你有拿得出手的项目或者大赛经历的话,你依然有可能拿到大厂的 offer 。笔主当时找工作的时候就没有实习经历以及大赛获奖经历,单纯就是凭借自己的项目经验撑起了整个面试。
  如果你既没有实习经历,又没有拿得出手的项目或者大赛经历的话,我觉得在简历关,除非你有其他特别的亮点,不然,你应该就会被刷。
### Question4: 我该如何准备面试呢?面试的注意事项有哪些呢?
下面是我总结的一些准备面试的Tips以及面试必备的注意事项
1. **准备一份自己的自我介绍,面试的时候根据面试对象适当进行修改**(突出重点,突出自己的优势在哪里,切忌流水账);
2. **注意随身带上自己的成绩单和简历复印件;** (有的公司在面试前都会让你交一份成绩单和简历当做面试中的参考。)
3. **如果需要笔试就提前刷一些笔试题,大部分在线笔试的类型是选择题+编程题,有的还会有简答题。**平时空闲时间多的可以刷一下笔试题目牛客网上有很多但是不要只刷面试题不动手code程序员不是为了考试而存在的。另外注意抓重点因为题目太多了但是有很多题目几乎次次遇到像这样的题目一定要搞定。
4. **提前准备技术面试。** 搞清楚自己面试中可能涉及哪些知识点、哪些知识点是重点。面试中哪些问题会被经常问到、自己该如何回答。(强烈不推荐背题,第一:通过背这种方式你能记住多少?能记住多久?第二:背题的方式的学习很难坚持下去!)
5. **面试之前做好定向复习。** 也就是专门针对你要面试的公司来复习。比如你在面试之前可以在网上找找有没有你要面试的公司的面经。
6. **准备好自己的项目介绍。** 如果有项目的话,技术面试第一步,面试官一般都是让你自己介绍一下你的项目。你可以从下面几个方向来考虑:①对项目整体设计的一个感受(面试官可能会让你画系统的架构图);②在这个项目中你负责了什么、做了什么、担任了什么角色;③ 从这个项目中你学会了那些东西,使用到了那些技术,学会了那些新技术的使用;④项目描述中,最好可以体现自己的综合素质,比如你是如何协调项目组成员协同开发的或者在遇到某一个棘手的问题的时候你是如何解决的又或者说你在这个项目用了什么技术实现了什么功能比如:用 redis 做缓存提高访问速度和并发量、使用消息队列削峰和降流等等。
7. **面试之后记得复盘。** 面试遭遇失败是很正常的事情,所以善于总结自己的失败原因才是最重要的。如果失败,不要灰心;如果通过,切勿狂喜。
**一些还算不错的 Java面试/学习相关的仓库,相信对大家准备面试一定有帮助:**[盘点一下Github上开源的Java面试/学习相关的仓库看完弄懂薪资至少增加10k](https://mp.weixin.qq.com/s?__biz=MzU4NDQ4MzU5OA==&mid=2247484817&idx=1&sn=12f0c254a240c40c2ccab8314653216b&chksm=fd9853f0caefdae6d191e6bf085d44ab9c73f165e3323aa0362d830e420ccbfad93aa5901021&token=766994974&lang=zh_CN#rd)
### Question5: 我该自学还是报培训班呢?
  我本人更加赞同自学你要知道去了公司可没人手把手教你了而且几乎所有的公司都对培训班出生的有偏见。为什么有偏见你学个东西还要去培训班说明什么同等水平下你的自学能力以及自律能力一定是比不上自学的人的。但是如果你连每天在寝室坚持学上8个小时以上都坚持不了或者总是容易半途而废的话我还是推荐你去培训班。观望身边同学去培训班的大多是非计算机专业或者是没有自律能力以及自学能力非常差的人。
  另外,如果自律能力不行,你也可以通过结伴学习、参加老师的项目等方式来督促自己学习。
  总结:去不去培训班主要还是看自己,如果自己能坚持自学就自学,坚持不下来就去培训班。
### Question6: 没有项目经历/博客/Github开源项目怎么办
  从现在开始做!
  网上有很多非常不错的项目视频,你就跟着一步一步做,不光要做,还要改进,改善。另外,如果你的老师有相关 Java 后台项目的话,你也可以主动申请参与进来。
  如果有自己的博客也算是简历上的一个亮点。建议可以在掘金、Segmentfault、CSDN等技术交流社区写博客当然你也可以自己搭建一个博客采用 Hexo+Githu Pages 搭建非常简单)。写一些什么?学习笔记、实战内容、读书笔记等等都可以。
  多用 Github用好 Github上传自己不错的项目写好 readme 文档,在其他技术社区做好宣传。相信你也会收获一个不错的开源项目!
### Question7: 大厂到底青睐什么样的应届生?
  从阿里、腾讯等大厂招聘官网对于Java后端方向/后端方向的应届实习生的要求,我们大概可以总结归纳出下面这 4 点能给简历增加很多分数:
- 参加过竞赛含金量超高的是ACM
- 对数据结构与算法非常熟练;
- 参与过实际项目(比如学校网站);
- 参与过某个知名的开源项目或者自己的某个开源项目很不错;
  除了我上面说的这三点在面试Java工程师的时候下面几点也提升你的个人竞争力
- 熟悉Python、Shell、Perl等脚本语言
- 熟悉 Java 优化JVM调优
- 熟悉 SOA 模式;
- 熟悉自己所用框架的底层知识比如Spring
- 了解分布式一些常见的理论;
- 具备高并发开发经验;大数据开发经验等等。