Java要学到什么程度才能有公司要去实习?
不过不同水平的公司(BAT>TMD>其他优秀的互联网公司>小型创业公司),肯定是对你的培养程度不同的,相应的对你实习的要求肯定是不同的。不要认为对你要求越高,得到的实习工资就会高,不是的,像腾讯阿里等公司对于实习生技术要求很高,但工资就在两三千左右,但以后的发展却是远远大于这个价值的。
一、BAT企业对实习生的要求(以阿里为代表):
java基础非常重要,当然也要深入理解原理,什么JVM,JMM,Classloader,还有一些常见类的源码,自己可以试着分析一遍,现在让你说出LinkedList的内部实现你能不能说出来,HashMap不用多说了,80%的面试都会问到。还有重要的,多线程,并发,网络,IO。这些都是要看看的!特别是spring的源码要好好看看,里面的架构设计得非常好!
需要掌握的技术知识具体总结如下:
1、操作系统。尤其是内存/线程/进程方面
2、计算机网络协议,重点关注 TCP/UDP/HTTP。
3、数据结构与算法。
4、数据库,知道mysql存储引擎中索引的实现机制、数据库事务的几种粒度、行锁,表锁;乐观锁,悲观锁等
5、设计模式,熟悉常用的几种设计模式就行。
6、Java语言基础。熟悉java语言基础,了解JVM、内存模型,重点考察 面向对象、集合框架(继承关系,实现原理)、异常体系、IO体系、并发集合、多线程。熟悉多线程编程/并发/线程安全明显可以加分。
7、J2EE,熟悉Spring/Spring MVC , ORM 什么的吧。看过源码,了解原理之类的也明显可以加分。
8、Linux,熟悉基本的linux命令就行吧
9、如果有自己做过的实习项目会加分不少。
TMD企业对实习生的要求(以美团为代表):
1、精通Java/C++/golang程序开发(至少一种)
2、熟悉linux下后台服务开发、网络开发
3、熟悉zookeeper、redis等开源项目优先,
4、有分布式、服务一致性领域研发经验优先
5、优秀的沟通协调能力以及项目推进落地能力
其他优秀的互联网公司(以 网易为代表)
1、具备扎实的计算机专业基本功,数据库、网络、操作系统等,深厚的Java的编程基础
2、熟悉常见的设计模式具备扎实的计算机专业基本功,数据库、网络、操作系统等,深厚的Java的编程基础,熟悉常见的设计模式
3、熟练掌握主流的开源框架设计理念,对Spring、Mybatis等有深入的了解;
4、熟练掌握数据库原理,基于Oracle或者Mysql的设计和开发
5、熟悉Linux操作系统,git,maven等工具
6、有较强的逻辑分析、数据分析、问题排查能力;
其他的一些小型的互联网公司,依据自身的发展方向不同,对实习生的要求也是不同的,需要具体问题具体分析的,当然了不变的一点是:基础知识一定要打好,一些计算机基础什么的该知道的要知道。
其实上面有些技能还是有点超纲的(对于实习生而言),不要有压力,能有六七分的掌握就可以,不要被这些招聘要求吓坏,很多都是要求偏高的,当然了如果你正好知道那也是你的优势不是?
现在Java软件开发的专业一直都是热门,有很多专业的学生,比如电子、机械、会计、土木等等专业由于专业本身没有更高的提升空间,所以现在的年轻人更加喜欢做一些科技前沿的工作,毕竟现在接触的都是电子产品。而Java开发是大部分人选择的原因是因为需求量大,工资非常高。在北京这样的城市,只要自己肯努力肯付出,可以达到年薪50W。而就算一个中级开发者,也可以达到年薪30W的级别,不断提升技术。
但是Java软件开发这块对于技术能力要求很高,现在企业招聘也需要有工作经验的,这就让很多学生心里很慌,不知道怎么才能获得一个实习的岗位,毕竟都是没有工作经验的,今天小编给大家讲一下如何才能获得一个Java实习生的岗位!
公司选择实习生看重的如下几点:
1. 可塑性
因为公司要储备人才,都希望把一些在学校比较优秀的学生拉拢到自己的公司,首先最看重的就是这个Java实习生是否有可培养的空间,学习能力怎么样!头脑是否灵活,给他一个东西后,能否在短时间内主动的很好的完成,并且有自己的思想。这个时候,可以拿出自己以前的作品或者一些获得的证书,当然这个证书是非常有价值的。可以证明自己是非常有能力的。
2. 综合素质
选择一个Java实习生,对于技术的要求往往没有那么高,公司会更加看重这个人的综合素质,是否愿意与人沟通,是否积极向上。在团队开发中,彼此的交流是非常重要的,有效的沟通直接影响了团队整体的成绩。Java实习生的上进心怎么样,也决定了公司是否愿意把他长期的留在公司里,所以我们作为一个Java实习生,要尽量向别人展现自己所有好的一面。言谈举止都是对方公司考察的关键点,给人的整体感觉怎么样非常重要。
3. 技术能力
无论你是不是计算机专业的学生,起码的技术还是要非常熟练,Java实习生只是没有接触过公司的项目,但是对于Java的基础部分都是没有问题的。所以技术能力是最基本的硬件条件,需要熟练的掌握JavaSE、数据库、Javaweb、框架等应该掌握的基本知识。
以上三点就是公司选拔实习生的标准,你需要全部做到。
如果说前两点事软实力,那么最后一点就是硬实力,我们首先就是要具备硬实力,自己先把Java小白应该学习的基本知识都掌握。
常在这里回答问题,热爱技术,喜欢帮别人解答行业技术问题和行业知识。
如果大家对于学习Java有任何不懂的可以随时来问我,我给你提供一个非常不错的Java交流学习qun:前面是四九四,中间是八零一,后面是九三一。有问题就在里面问我,这样你可以少走很多弯路,做起来有效率,记得多跟有经验的人交流,别闭门造车。如果没有比较好的教程,也可以管我要。
学习步骤如下:
一阶段:JavaSE
JavaSE是Java语言的基础,入门内容,相对于来说比较容易,大概一个月左右可以掌握,检验JavaSE基础学的如何,最后一定要做一个综合性非常强的小项目,大概项目的代码量要在2000-5000行。
二阶段:数据库
现在比较流行的数据库是mysql和Oracle,数据库基本语法差不多,Oracle的数据库比较大,操作起来比较复杂,无论学哪个都可以,最好是两个都掌握。
三阶段:Javaweb
我们学习Java走的就是web方向,这也是我们的核心部分,难度也不大。
四阶段:主流框架
框架这块还是比较难理解的,也是学习Java过程中的难点,框架严格来说不属于Java体系中的东西,是后来封装出来的工具组件,现在也是我们学习Java必学的知识。现在常用的框架就是ssm、SpringBoot、SpringCloud。学起来也不是那么容易的。
机会都是留给有准备的人,无论在什么时期,自己是否真的付出了只有自己才知道。在学习这件事情上,没有什么捷径,非常公平,只要你运用得当的方法方式,真正的付出了精力时间,就一定可以得到10倍以上的回报,愿你终身学习!
学会java基本语法,至多可以学会J2EE,J2SE,J2ME精通。
Java Exception,Error ,Runtime Exception 运行时异常,Exception。
throw 用户自定义异常。
Error类代表了编译和系统的错误,不允许捕获;Exception类代表了标准Java库方法所激发的异常。
Exception类还包含运行异常类Runtime_Exception和非运行异常on_RuntimeException这两个直接的子类。
运行异常可能出现在任何地方,且出现频率很高,因此为了避免巨大的系统资源开销,编译器不对异常进行检查。
首先总结一下做java最后大致是两个方向:web企业级开发(JavaWeb
J2EE)和手机android开发。这两个方向的先决条件是J2SE,J2SE并不是那么简单,只有当你逐渐学的深入了你才体会到java的精髓。
1.HTML+CSS+DIV,前端会用到,作为研发人员至少应该会简单写些页面出来,这是许多编程语言都需要了解的基础。
2.JAVASCRIPT,想要使用一些特殊的效果就需要这个了,但是你并不需要很精通,当你需要用到JS的地方可以用Jquery代理,Jquery很好学,很有用的JS框架,看似复杂华丽的效果他都能轻松完成。
3.Ajax,前端异步交互技术,值得去研究
4.JSP,Servlet,Javabean,发展至今已经不提倡在JSP里嵌入JAVA代码,所以仅仅是作为视图层使用,嵌入些如JSTL和Struts2标签库的标签成为动态页面。Servlet是应该重点学习的,包括如过滤器、监听器等,这些都是当下Struts2或者未来WEB框架的底层基础和原理。
5.Strut2+Hibernate(or JPA)+Spring,当下十分流行的开发框架。其实是很容易上手的,但关键是需要懂得原理。
6.Web Service技术,它能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web
Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。
用一个月时间把《Java2参考大全》或者《Java核心技术1(基础篇)》拿下来,然后再用1个月时间把《Java核心技术2(高级篇)》拿下来,最后再把《Java编程思想(第四版)》弄熟(理念性比较强,主要是将编程思想的),然后强迫自己去多做项目,慢慢累计自己的代码量,这样差不多1年时间,估计你就能掌握java编程了,也就代表你能上班了。
在纠结呢,到底要做Android还是J2EE。顺便推荐我几本书看吧~
其实现在这两个方向都挺火的,但是做Android可能会比较累一点。具体怎么选我觉得还是看自己想做哪个方面吧。书藉的话你可以去看看《Java编程思想》Bruce Eckel编写的。其实我觉得在Java的学习中,书藉是一个再认识的方式,可以帮助你提升。但是一开始最好是去看看网上的一些视频教程,更容易理解,学习。等你学得差不多了再翻翻书,有重点的看更好。