Java学到什么程度可以找到第一份工作
作者:黄小斜
文章来源:程序员江湖
很多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的变式题等等,算法题相对考察理论基础而言,筛选度更高,可以淘汰的人也更多。
Java学到什么程度可以找到第一份工作的更多相关文章
- Java学到什么程度能找到一份还不错的工作
我的读者里有很多 Java 新人,新人是指正在学 Java 的.以及工作时间不长的年轻人,他们经常问我一个问题: Java 学到什么程度才能找到一份还不错的工作? 今天我就从我自己面试新人的角度来回答 ...
- Java学到什么程度可以面试工作?
先说结论: 1 大多数公司,对于Java初级开发的要求是,会用Spring Boot+JPA做增删改查 2 所以零基础的Java小白,无需学太多的内容,只要掌握Spring Boot+JPA做增删改 ...
- Java学到什么程度才能叫精通?
把下面这些内容掌握以后,你就可以自诩精通Java后端了. 1 计算机基础 这部分内容是计算机相关专业同学的课程,但是非科班的小伙伴(譬如在下)就需要花时间恶补了. 特别 是计算机网络,操作系统 ...
- 从零开始学数据分析,什么程度可以找到工作?( 内附20G、5000分钟数据分析工具教程大合集 )
从零开始学数据分析,什么程度可以找到工作?( 内附20G.5000分钟数据分析工具教程大合集 ) 我现在在Coursera上面学data science 中的R programming,过去很少接 ...
- Python学到什么程度就可以去找工作?掌握这4点足够了!
大家在学习Python的时候,有人会问“Python要学到什么程度才能出去找工作”,对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来,一般都不会有什么问 ...
- Python学到什么程度才可以去找工作?掌握这4点足够了!
大家在学习Python的时候,有人会问"Python要学到什么程度才能出去找工作",对于在Python培训机构学习Python的同学来说这都不是问题,因为按照Python课程大纲来 ...
- 以字符串为例,谈谈Python到底要学到什么程度
古语云:慈不掌兵,义不为商:离商业越近,离人性越远:我们在自学数据科学时,一定会辅助一些书籍或者视频来学习,怎么学习,选择哪些资料来学习?这时,我们都要理解好第一句话,理解不好,浪费钱是次要,重要的是 ...
- 软件测试为什么需要学习Linux的知识?Linux学到什么程度?-log5
软件测试为什么需要学习Linux的知识?学到什么程度?-log5 Dotest软件测试学堂-董浩 公司目前90%的服务器操作系统不是Windows,而是Linux(RedHat.Debian.Cen ...
- python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度
一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...
随机推荐
- paper:基于verilog HDL 的高速可综合FSM设计
1.寄存器输出型状态机 VS 组合逻辑输出型状态机 2.状态编码方法 这块讲的不好,也比较少. 3.系统设计中模块划分的指导性原则
- 【java】类成员的访问限制关系
- 【laravel】Disabling CSRF for Specific Routes - Laravel 5
原文 http://www.camroncade.com/disable-csrf-for-specific-routes-laravel-5/ Disabling CSRF for Specific ...
- Python学习day01
age = 23 count=0 while count<3: guess_age = int (input("My age:")) if age ==guess_age: ...
- mysql Plugin ‘InnoDB’ init function returned error
问题描述: 非正常关闭mysql,同时更改了my.cnf 导致启动时不支持innodb,出现如下错误: [ERROR] Plugin ‘InnoDB’ init function returned ...
- bash之条件测试if/else
bash之条件测试: if/then结构 条件测试(CONDITION): test EXPRESSION:测试条件表达式正确否 [ EXPRE ...
- Python IO多路复用select模块
多路复用的分析实例:服务端.客户端 #服务端配置 from socket import * import time import select server = socket(AF_INET, SOC ...
- 51nod 1010 只包含因子2 3 5的数 二分答案
1010 只包含因子2 3 5的数 K的因子中只包含2 3 5.满足条件的前10个数是:2,3,4,5,6,8,9,10,12,15. 所有这样的K组成了一个序列S,现在给出一个数n,求S中 > ...
- C++之Effective STL学习笔记Item7
假设我们现在有以下代码: void doSomething() { vector<Widget*> vwp; ; i < SOME_MAGIC_NUMBER; ++i) vwp.pu ...
- 【Luogu】P3047附近的牛(树形DP)
题目链接 树形DP,设f[i][j]是当前在i点,j步之内有多少牛.从相邻点to的f[to][j-1]转移而来,减去重复计算即可. #include<cstdio> #include< ...