刚开始学习Java的小伙伴,尤其是那种又没钱又没有背景的,刚开始学习Java都关心这么一个问题:到底把Java学到何种程度才能找到第一份工作呢?

每个人都很现实,目标都是相当的一致,都是为了能拿到像别人高薪的工作。那到底一个Java初学者要学多少Java知识,才能找到第一份Java工作呢?

在很久以前我曾经写过一篇关于自己的文章,记录了我IT职场中第一次面试,当时我的技术水平跟大家差不多,就是刚入门的水准,毕竟是一个刚接触的小白。

但是作为一个刚开始工作的新手,找到一家小型公司的Java开发工作还是比较容易的,毕竟现在最多的就是互联网公司,每个公司对于员工的要求也是天差地别。

比如阿里、华为这样的公司,他们可能对于学历要求比较高。而一些只有几十个人的创业公司,他们更加注重这个人的技术能力、实践能力、解决问题的能力。

我想应该用不同的公司来作为标准,只有这样我才觉得有现实意义:

创业型小公司

创业型小公司的特点就是人气比较少,平时做事情比较杂。在这里我说的是不到百人的创业公司,这样公司在国内是最多的,以我多年在职场的经验来看,大多数这样的创业型公司,他们很难招聘到非常优秀的技术人才。

第一个是他们没有这样的实力去给他们发工资;

第二是比较优秀的人才一定是被大公司挖走的。这样的公司本身没有什么底气,所以他们对于应聘者要求也会比较低,学历基本都是不看的,Java基础知识能良好的掌握,能独立做几个Java Web项目,基本都可以应聘上,最基本的CRUD可以独立完成。对于这样的公司,已经是不错了。

这种小型的创业公司招聘人才的渠道非常少,每个月的薪水得不到保障,而且整个办公环境也比较差,但是工作时间倒是一点都不少。所以,像去这种类型的公司找工作,只要自己真正的学了一些本领,基本上都可以很容易找到工作。

中小型公司

一般定位中小型企业,都是说那些100人以上,500人以下的成熟公司。普遍都是叫不上名字,但是公司还算有发展潜力的,这样的公司稍微正规一点,整个的办公环境会好很多,以及一些福利待遇,而且不用担心发不出来工资的问题。

招聘技术人才和培训人才会有自己的一套标准。他们的要求一般都是大专学历以上的,对于个人的技术上把关更严格一点,除了可以良好的掌握Java基础知识和项目之外,还会考查你的debug能力,代码规范、异常处理能力,以及对一些Java高级特性的理解能力,可能最好多用过一些框架。这就要求我们在学习的过程中,多付出精力写代码,并且对于一些原理问题要搞清楚。

总的来说,这样公司在选拔技术人才的时候,标准更加模范化,更加有体系。不会像创业型公司那样随意,只要领导拍个板就行。在我看来,他们这样的公司其实也吸引不到太多优秀人才,但不同的是,确实会有一些能力不错的公司骨干。

二三线互联网公司

这种类型公司范围非常广,比如大家常听说的搜狐、畅游、新浪、360,还有一直萎靡的迅雷、金山、猎豹,甚至是爱奇艺、携程这类现状比较不错的企业等等。

这种级别的公司还挤不到BAT TMD等一线互联网行列,但是如果你能进入这样的公司,已经是非常不错了。薪资不会低于年薪40万。它们这样的公司对于技术人才的要求就要非常高了。

他们的最低要求就是本科学历,对Java基础知识要达到精通的程度,要可以非常熟练的阅读源码,如果你没看过源码,那么在源码方面的面试题一定要好好准备一下。除此之外,一般来说他们还会考察你网络知识、操作系统,考察的不会太难,能把面经上的知识点掌握了就算是比较扎实了。

这种类型的公司一般不会考太复杂的题目,他们招聘的需求一般都是中级程序员,只要知识面能够广,考你的题目都能说到关键点上面,其实不需要掌握得特别深入,也可以有机会拿到offer。

总结来说,我认为二三线互联网企业不太可能和战斗在一线的互联网公司争夺人才,所以他们一般争取的都是二线人才,不需要太优秀,但至少要是中级程序员的水平,所以这种类型的公司对很多Java程序员来说机会还是非常大的。

一线互联网公司和独角兽

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学到什么程度才能找到工作?从国内各阶层互联网公司分析相关推荐

  1. Java学到什么程度才能找到工作

    近些年来,互联网行业发展非常快,Java因为应用广泛的特点,在行业中特别吃香.正是因为如此,越来越多的人想要通过学习Java进入Java开发领域.那么,对于他们来说学习Java学到什么程度才能找到工作 ...

  2. 没学过编程,本科学历,Java学到什么程度才能找工作?

    好程序员之前写过多篇Java找工作方面的文章,今天说说零Java基础找工作的事情.首先请大家明确如下的要点. 1.在没有真实Java工作项目经验的前提下,靠自学,哪怕到培训班学,一定是无法真正掌握到能 ...

  3. java学到什么程度可找工作_Java学到什么程度可以找工作

    原标题:Java学到什么程度可以找工作 实际上Java初级开发岗位对于从业者的要求并不高,通常能够熟练使用常见的Java框架就可以找到第一份工作了(很可能是外包).但是外行人难免忐忑,心里没谱儿,到底 ...

  4. 前端学到什么程度可以找到工作?

    前端开发一直是一个比较热门的行业,目前自学和培训班正在学习前端的同学不在少数,大家都有一个疑问,那就是前端到底学到什么程度才能找到工作呢?今天小千就来带大家分析一下. 前端开发职业需求 首先我们先来看 ...

  5. java学到什么程度安卓_自学Android到什么程度才能找到工作?

    读完本文大概需要4分钟. 微信公众号最近新出了一个功能,我觉得很赞,就是可以非常方便的看到每个人的留言次数.赞赏次数等,截个图给你们看下: 看到这个赞赏数的时候我惊呆了,这位同学竟然持续赞赏了我这么多 ...

  6. 学网络安全到什么程度才能找到工作?

    学习网络安全技术,到底要学到什么样的程度才能找到工作?来看看下面这张图,按照相应的技能点来学习相应技术,并且学历在大专有以上的,达到相应水平,问题不大. 如果想跟我一起学习网络安全技术,可以添加Vx: ...

  7. Java学到什么程度才能叫精通?

    Java学到什么程度才能叫精通? 全文分为:基础知识和进阶知识 下文java必会知识附答案!并为大家整理了一个pdf,所有的知识点和答案都在pdf里面. 必会知识点及其答案!!! Java基础知识(* ...

  8. 初级Java学到什么程度就可以找工作了?

    零基础Java学到什么程度就可以找工作了? 可以找工作的程度主要看你的目标岗位定位,一般来说学习Java的人群大部分是零基础的学员,目标岗位初级java程序员. 如果是有一定基础想找高级程序员的岗位, ...

  9. Java学到什么程度可以找工作?这10点赶紧自查!

    最近收到了不少私信,询问Java学到什么程度可以找工作. 我也去问了几个同组大佬的想法,总结了10点,大家可以对照自查一下,看看你都做到了吗? 基本技能自查 1.Java SE基础 推荐学习Java8 ...

最新文章

  1. 另辟蹊径创建移动应用:iOS和Android代码共享
  2. 网曝某互联网大厂给员工电脑安装插件,基本等于全程监控!网友:就是监控你们划水!...
  3. 在Forge Viewer上显示自订义属性
  4. NVIDIA Jetson Xavier NX使用SD镜像刷机流程
  5. 12行代码AC_Leecode 495. 提莫攻击——Leecode每日一题系列
  6. webform Repeater重复器、地址栏传值、Response
  7. S/4HANA for Customer Management里的搜索分页处理 1
  8. 【Kaggle】Intro to Machine Learning 第一次提交 Titanic
  9. 广域网访问局域网路由器设置_交换机路由器如何连接 交换机路由器连接方法【详解】...
  10. Flex中让Panel等容器可拖动
  11. Xcode6 - 更改项目Copyright
  12. 新版傻妞对接QQ完整版(10月24日)
  13. 易用宝项目记录day4-代码生成器
  14. CSS属性—居中对齐篇
  15. 力扣刷题(347. 前 K 个高频元素)快速排序
  16. vs 应用程序无法正常启动0xc000007b 可能与VS中DLL引用有关
  17. word文档封面免费下载_为Word 2007文档添加封面
  18. 解决非标属性和低流动性,未来加密投资的黑马赛道
  19. 手撕内存拷贝函数 memmove、memcpy
  20. 面试之java提高-杨晓峰专栏笔记

热门文章

  1. upload类型题目总结
  2. python载入图片序列_【Python】序列和图片之间的转化
  3. 编译ZeroMQ以支持Libsodium出现的“ No package 'libsodium' found”问题
  4. C语言按位逻辑运算符总结-与、或、非、异或
  5. 无痕埋点的设计与实现
  6. 关于微信营销不得不看的好文章 转载
  7. 【开讲啦】20181029 oracle教学笔记
  8. vue模仿新年集福活动(移动端)
  9. python安装百度aip_百度Aip人脸识别之python代码
  10. C语言学习-10-递归函数-猴子吃桃子