不少Java初学都关心这么一个问题,Java学到什么程度之后能够找到第一份工做。你们的目标都很明确,也很实在,学习Java无非就是为了找工做,那到底我要学多少Java知识,才能够找到第一份工做呢。前端
以前写过一篇文章,记录了我人生中第一场面试,当时个人Java水平无非就是刚入门的水准,可是做为校招生来讲,找一份小公司的开发工做不算很是难,毕竟互联网公司那么多,要求也是天差地别,对技术、学历、实践能力的要求和评价标准也有很大的差距。程序员
因此,到底Java学到什么程度才能找到第一份工做,我想应该用公司来做为变量,这样回答这个问题才有意义。面试
创业型小公司的特色就是人少,事杂。这里咱们指的是不到100人的小公司,这种公司其实也不少,咱们抛开一些独角兽或者知名创业公司不谈,先谈谈大多数的创业公司,这些公司吸引不到优秀人才,而且也拿不出太多钱给员工,所以招牌要求也会比较低,学历基本不看,Java基础知识稍微掌握一些,作过几个Java Web项目,最好还能写写前端代码,能吹几句牛皮,应该问题就不会很大。算法
这种公司招人的渠道原本就少,薪水得不到保障不说,办公场所也很简陋,可是工做时间却是少不了,因此啊,这类公司,我想也是培训机构给学员拍胸脯保证就业的最合适标准了。数据库
说到中小型公司,泛指那些100人以上,500人如下的公司,大多数也是叫不上名字,可是还算有所发展的公司,这类公司稍微会正规一点,招聘和培训可能会有本身的一套标准,好比学历上可能稍微作一些要求,技术上的把关更严格一点,除了Java基础知识和项目经历以外,可能还会考查你的debug能力,代码规范、异常处理能力,以及对一些Java高级特性的理解能力,可能最好多用过一些框架。编程
总而言之,这类公司选人的标准更加有体系,不会像一些特别小的公司,招人很随意,领导拍个板就行。固然,这类公司也吸引不到太多优秀人的人才,可是也确实可能会有一些踏实能干的勤奋员工。后端
这类公司范围就很广了,好比日薄西山的搜狐、新浪、360,或者是一直起不来的迅雷、金山、猎豹,甚至是爱奇艺、携程这类现状比较不错的企业等等,这类公司挤不到BAT TMD等一线互联网行列,可是在二三线阵容还算是比较不错的公司,它们对于人才的要求其实仍是相对比较高的。缓存
好比通常都会要求本科学历,对Java基础知识要比较熟悉,最好可以看过源码,若是没看过,那么源码方面的面试题好歹也要准备一下,除此以外,通常来讲还会考察你的后端技术知识,好比数据库、网络、操做系统,考察的不会太难,能把面经上的知识点掌握了就算是比较扎实了。网络
这类公司通常不会考太复杂的题目,更但愿招一些水平能力都是中等的人才,只要知识面能比较广,题目都能说到点子上,不须要掌握得特别深刻,也能够有机会拿到offer。数据结构
其实归结缘由,就是由于二三线互联网不太可能和一线公司争夺一线人才,因此通常争取的都是二线人才,不须要太优秀,可是至少要是中等水平,因此这些公司对不少程序员来讲仍是比较有机会的。
BAT、TMD等互联网名企都属于这类公司,这类公司和二三线互联网公司的发展差距仍是比较大的,体如今公司的规模、市值、甚至是股价等方面,业务以技术为基础,所以这些公司的技术每每也是业界最顶尖的,好比阿里的云计算和中间件,头条的推荐算法、腾讯的游戏技术等等。
要进这些公司,不只要作到以前那些事情:掌握Java基础、计算机基础知识,而且是很是熟练地掌握,你须要深刻理解每个知识点,由于面试官会不断深刻地向你提问,了解你的知识深度,同时,你须要对源码有所理解,在读懂源码的基础上去理解框架的实现、JDK的实现。
另外,你须要对JVM有一个清晰的认识,不只要了解其结构,垃圾回收原理,甚至还要知道如何在遇到线上问题时经过JVM调优来解决它们。
同理,你还须要对Java并发编程和网络编程的使用方法与底层实现原理很是熟悉,不只仅答出NIO和BIO的区别,或者是synchronized和lock的区别,你还须要知道NIO的底层实现epoll是什么,synchronized对应的mutex lock是什么,lock和condition的实现原理又是什么,而lock自己也是经过AQS、CAS操做类等组件来实现的,其中的内容实在太多,毫不只是几道面试题就能够搞定的。
固然,除此以外,这些公司对数据库、缓存、分布式技术等方面的要求都会比其余公司要高得多,你最好要搞懂MySQL的存储引擎、索引和锁的实现原理,Redis缓存的数据结构、备份方式、底层实现。同时若是你能理解负载均衡算法、CAP理论,甚至是raft和paxos算法,以及分布式经常使用技术如消息队列、zookeeper等等,那么无疑也是能够为你加分的技能。
为何大公司的要求这么高,由于它们是最好的互联网公司,要招的天然也是最优秀的人才,若是考察底层原理还不能知足他们筛选人才的须要,他们也会考察面试者的算法能力,好比LeetCode上medium难度的原题,或者是剑指offer的变式题等等,算法题相对考察理论基础而言,筛选度更高,能够淘汰的人也更多。