2021-05-27

Java 简介

Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。

Java分为三个体系:

JavaSE(J2SE)(Java2 Platform Standard Edition,java平台标准版)

JavaEE(J2EE)(Java 2 Platform,Enterprise Edition,java平台企业版)

JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。

2005年6月,JavaOne大会召开,SUN公司公开Java SE 6。此时,Java的各种版本已经更名以取消其中的数字"2":J2EE更名为Java EE, J2SE更名为Java SE,J2ME更名为Java ME。

Java从业岗位方向

网页开发

目前Java编程技术的应用越来越普遍,也越来越完善,在Java培训学习中我们就可以看的出来Java不仅可以做后端开发同时也可以做前端开发,在Java培训机构的课程内容中对于html、css、js都有包含。

企业级应用开发

Java的安全性和稳定性得到了企业的青睐,现在很多企业都会用Java来开发一些大型应用,例如第三方交易系统、银行前后台交易系统、医疗管理系统等等。所以一些项目经验多人可以在培训后找Java企业级应用开发类工作。

Java大数据开发

  现在越来越多的企业对于大数据的应用逐渐在增多,而从事大数据首先就要懂得一门编程技术,Java就是其中之一,所以学好Java技术以后可以从事大数据相关技术。

游戏开发

国内游戏行业近年来发展十分迅速,专业的游戏人才一直存在需求缺口。目前有一些游戏脚本语言可以与Java开发语言进行无缝交互,Java开发语言本身也可以编写游戏脚本。因此学会Java开发后,也可以选择成为一名游戏开发人员。

······ 等等等

校招 Java 研发岗位的具体要求

一、编程语言

1、Java语言基础:面向对象的概念、数据类型、装箱/拆箱、值传递/引用传递、String 类、关键字(final、static、super、this、transient等)、抽象类/接口、异常、IO流、反射、动态代理、序列化等。

2、Java集合类:常见的集合类源码一定要看一看。比如:ArrayList、LinkedList、HashMap、TreeMap、LinkedHashMap(实现LRU)、HashSet等。这部分非常的重要,特别是 HashMap,“出勤率”超级高,一定要搞懂其中每一个知识点。

3、Java并发/多线程:主要是看 java.util.concurrent 包下相关类的源码。Java内存模型、线程的状态及转换、ThreadLocal、synchronized、ReentrantLock、volatile、CAS、AQS、BlockingQueue、CountDownLatch/CyclicBarrier、Exectuor、Java线程池等。

4、Java虚拟机:这部分基础看周志华的《深入理解Java虚拟机》就够了,自己可以再结合相关案例学习了 JVM调优。需要掌握的知识点:运行时数据区、垃圾回收机制、垃圾收集器、类文件结构、类加载机制、双亲委派模型、早期/晚期优化、JVM监控工具等。

5、JavaWeb:JDBC、Servlet、Cookie、Session 等 web 技术还是要了解的。

二、计算机基础

1、数据结构与算法:这部分的重要性不用过多强调了,看到这里,希望你之后做一个详细的刷题计划吧。基础数据结构、剑指Offer,你需要至少刷200道才能应对自如校招笔试和面试环节,保证出现原题或者类似题目的时候,可以毫无障碍的写出来。

2、计算机操作系统:进程与线程的区别、线程/进程间的通信方式、死锁的概念/检测、避免内存管理等。操作系统这部分知识点非常多,但是常问的就是那么几块,建议找一本书先看一遍,如果迷惑也不要紧,再结合一些大佬的笔记或者面经总结一些高频题,问题也不是很大。

3、计算机网络:个人感觉在 Java 研发岗位的面试中,计算机网络的问题要比操作系统的多一些。计算机网络主要的知识点:五层网络模型(每一层的作用、主要协议等)、TCP三次握手/四次挥手、UDP和TCP的区别、可靠传输、HTTP 和 HTTPS 的区别、HTTPS 的工作原理等等。

4、Linux:至少能说出几个常用的 Linux 指令吧?也遇到过一些问的比较具体的,但是大部分都是让你随便说几个,所以快速的了解下即可,如果有时间可以多看看。

5、设计模式:这也是面试中一个比较高频的点,至少能说出 5 种设计模式及思想吧?单例、工厂、代理这些常见的还是要懂的。对于面试而言,也没有必要 23 种都搞的滚瓜烂熟,最好的是结合源码或者项目说几个,这样比较加分,说明你是学以致用。

说明:对于校招,编程语言基础和计算机基础并列第一重要。“基础”才是王道!只要你基础好,不愁拿不到 offer!一定要尽可能的深入理解每个知识点。

三、数据库

1、SQL 语句:CRUD 你真的会吗?今年身边很多同学面试中就栽在了写 SQL 语句上。千万重视下,基础的 SQL 语句要熟!

2、MySQL:MySQL 是目前互联网公司用的比较多的数据库,所以如果你要选择一个数据库进行学习,那么就建议学 MySQL 了。需要了解:索引、事务、锁、存储引擎、主从复制、分库分表等,最好再懂一些数据库调优方面的知识。

3、Redis:Redis 个人认为是 Java 研发工程师必问的一个知识模块了,毕竟现在互联网公司服务数据量都很大,为了减轻数据库压力,一般都会使用缓存的,那么 Redis 就是用的最多的。需要了解 Redis 基本的数据类型、持久化方式、缓存和数据库双写一致性问题、缓存穿透、缓存雪崩等。

四、框架

1、Spring:AOP、IOC(Bean 的生命周期、作用域等)、事务等。对于 AOP 和 IOC 看源码确实困难比较大,费时易忘。建议去百度搜下 AOP/IOC 的简洁版实现,可以跟着练习加深印象。

2、SpringBoot:现在很多互联网公司都是直接用 SpringBoot 的,当然如果你一直用 Spring,不懂 SpringBoot 也没关系,二者会其一即可,有时间最好都学学。

3、SpringMVC:核心组件、处理请求的流程、入口类等关键类的源码最好也能看下。

4、MyBatis:个人认为倒不用看源码了,了解下 MyBatis 的一级和二级缓存机制、分页方式、延迟加载等。个人感觉看面经或者大佬的秋招总结或者笔记就够了。

对于框架而言:校招面试要求不是只懂怎么配置使用,而是会考察源码、底层原理。

五、分布式/微服务

1、消息队列:这个模块感觉也是校招 Java 研发岗位必须掌握的了。建议学习 Kafka,当然结合自己情况,学习哪个都行,只是说最好学习现在流行的。需要学习的知识点:使用场景、如何保证消息不被重复消费(幂等)、如何保证可靠传输、如何保证顺序性等等。

2、注册中心:建议学习 Zookeeper,直接看《从Paxos到Zookeeper分布式一致性原理与实践》。书里面对 Paxos算法、ZAB协议、两阶段/三阶段提交都做了讲解。

3、分布式框架:建议学习 Dubbo,毕竟阿里开源的,看官网就是最好的学习资料。当然你学习 SpringCloud 也没有问题,还是那句话结合自己的情况选择。如果你准备学习 Dubbo,要看的知识点直接去看官网即可。

4、分布式事务:需要知道常用的分布式事务解决方案,最好能结合自己的项目说一说,这块知识点也是比较容易扩展的,一定要多思考,不要只懂一点点就去装 X 说,面试官一扩展,就被吊打了。

5、分布式锁:需要知道常见实现分布式锁的方式。

对于分布式相关的知识点目前校招没有明确的说必须会,但是个人认为大厂默认你都要懂一些了,有过相关项目经验的肯定比较加分的。

秋招简历太多,竞争也非常激烈,基础问题大家一般都能回答出来,面试官一般会想找和“别人”不一样的同学。

所以建议大家在准备面试的时候,基础肯定是最重要的,但是最好学一些分布式的知识,做一些 Demo,可以增加自己的亮点。

六、项目

实习项目:搞清楚参与系统的全貌(架构设计、核心技术点等)、梳理自己做的事情、多看小组的文档(看有没有一些故障复盘记录可以转换为自己所用)。

自学项目:不要纠结这个项目被多少人做过、说过。你要做的是通过这项目巩固自己的基础知识,其次能够在项目开发的时候多一些思考,多想一个为什么?而不是跟着视频敲完代码就完事了。项目中涉及的知识点是不是都会了?业务点能不能加一些个人的理解。

七、其他

1、工具:Maven/Gradle、Git Docker 等工具肯定也是要会的,相对来说面试问的很少,根据自己的时间去做学习安排。

2、智力题:有时候你和面试官约的是电话面试,不方面写代码,那就整个智力题吧。如果在面试的时候你遇到了智力题,它的重要性和算法是一样的,打不出来,大概率 GG。

3、场景题:这类题目在面试时也是非常常见的,比如:你给我设计一个秒杀系统?百度搜索提示是如何实现的?等等。这类题目需要你结合基础知识以及项目经验综合去回答。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355

推荐阅读更多精彩内容

  • 紧张、迷茫、失眠,如何缓解软考考前焦虑症? 百年智教育 距离软考还有2天 2021年软考越来越近,如何管理好剩下的...
    太阳雨0228阅读 164评论 0 0
  • 【每日一题】- 95 《检测员》 在RB/T214-2017的4.1.4里,提出“检验检测机构的从业人员”,简称:...
    房老师391215阅读 141评论 0 1
  • 一起玩儿 演讲训练营21天学习复盘 知识点回顾 一:四种自我介绍的方法 1.夸谢讲祝30秒自我介绍 夸一...
    b0ff89685c14阅读 561评论 1 2
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 125,133评论 2 7
  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 6,054评论 0 4