【附Java基础知识点总结】作为一名专科Java程序员进入阿里巴巴,很惭愧

 前言:在职业发展道路上,需要不断提升自己,需要学习资源的,一起学习交流的欢迎加群【443128517】,小编准备了学习视频,学习线路,自学书籍,职业发展视频。也可以加美女老师七七的微信。二维码放在下面!

 互联网招聘对于学历和能力的平衡,至今都没有哪家公司做到比较完美,有些极端的公司,甚至直接在JD里说明985、211以上,而有些大厂尽管公司大,但对于真正有能力的人,还是会愿意抛开一些限制的。

近日又有阿里的员工在网上发帖称自己是专科生,高中不努力,如今在阿里感到惭愧。

对此有人觉得是炫耀,也有人觉得侧面证明了能力很重要。

其实关于这种大厂专科生的讨论有很多。之前就有一位专科生分享自己被阿里面试的经历,一开始很惊讶阿里会给自己面试机会,所以准备得很不充足,最后因为技术不过关没能进去,感觉很遗憾。他表示如果你没有本科以上文凭,那你就要有三年以上的工作经验。

再比如另一位阿里员工也分享,自己在阿里见过很多没上过大学的,之前的身份有修车师傅、厨师等..这些人后来也都跨界在技术团队干过,并且干得还不错。

还有非常多的阿里员工曾分享过自己作为专科生进入阿里的感想:

这些例子都证明了前期不努力后天可以弥补,即使互联网也存在卡学历,一般都是HR。

马云也曾在公开场合表示:"如果阿里对学历背景有要求的话,马云早就被阿里巴巴拒之门外了。阿里当然欢迎清华、哈佛的名校毕业生,但阿里更看重的是你的进取精神和学习能力,阿里的用人标准并不取决与你毕业于哪所学校。"

所以说如果你的学历有短板,那就必须在其他方面突出,技术能力自己肯定要好好把关的!换句话说,即使前期你的学历牛逼,后面不保持学习和进步也会被淘汰!

学习共勉
同时现在正处于金九银十,就目前国内的面试模式来讲,在面试前积极的准备面试,复习整个 Java 知识体系将变得非常重要,可以很负责任的说一句,复习准备的是否充分,将直接影响你入职的成功率。但很多小伙伴却苦于没有合适的资料来回顾整个 Java 知识体系,或者有的小伙伴可能都不知道该从哪里开始复习。

用思维导图学习java,分析java的知识体系。
接下来,我们会用九个阶段来一一分析各个阶段发展的过程会涉及到的技术要点。
java入门

 在java基础里面,数据结构中的数组、链表、队列、栈的特点和使用场景要熟悉。线程、反射也是比较基础的东西,面试常问。在设计模式里面,我觉得还不用很特意去学习,很多容易忘记,很多时候我们的业务主要学会封装,那么代码管理起来就不叫简单的了,常用的模式:单例、工厂、代理、观察者、模板、策略这几个可以先熟悉一下。web方面的知识,http/tcp的四层需要了解,对于servlet、filter、listener都是web基础,session与cookie关系一定要弄懂。
框架基础

spring、mybatis是java程序员必备框架基础。spring的ioc、aop是核心概念,要对bean容器,利用aop自定义注解要熟悉运用。springmvc是现在使用最广泛的mvc框架。对应mvc的各大组件之间的关系和流程一定要熟悉,还有配置多数据源等。

SpringMVC流程

    1、用户发送请求至前端控制器DispatcherServlet。
    2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。
    3、处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
    4、DispatcherServlet调用HandlerAdapter处理器适配器。
    5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
    6、Controller执行完成返回ModelAndView。
    7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet。
    8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器。
    9、ViewReslover解析后返回具体View。
    10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
    11、DispatcherServlet响应用户。

mybatis是现在主流的数据层框架,当然现在spring data jpa也有崛起的趋势,mybatis源码相对比较简单,可以去通读一遍。

springboot更是现在热门的框架,spring给我们整合一整套行业解决方案,很多都是基于springboot,比如springcloud等。集成起来特别方便。对于springboot,我们要了解和熟悉怎么去装配第三方模块的,怎么去自定义一个模块starter,怎么做到自启动加载等。
阶段一:单体项目

阶段二:物理分离应用和数据库
物理上将应用服务器与数据库进行分离,这样cpu、内存等压力就没这么大。

阶段三:缓存化、静态化

这里有一些通用的模板静态化基础,比如freemaker或者velocity等模板引擎的,现在很多代码生成的框架其实原理就是使用模板静态化的技术,定义好模板之后再传参渲染,就生成了想要的代码。

这里nginx适合作为我们的静态文件服务器,后面的动静分离就是使用了nginx。
 

阶段四:应用负载均衡,集群

nginx可以作为反向代理服务器,所以可以作为我们的负载均衡工具,这里还涉及到负载均衡的策略,比如轮询,权重等,需要弄懂。一般来说,nginx是主流,其他apache用得都比较少了。nginx还有一些上线技巧,比如蓝绿部署、灰度部署等。

  • 蓝绿部署    一种可以保证系统在不间断提供服务的情况下上线的部署方式
  • 灰度发布    指在黑与白之间,能够平滑过渡的一种发布方式

负载均衡(Load Balance) 其意思就是分摊到多个操作单元上进行执行,例如Web 服务器 、 FTP服务器 、 企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

应用服务器负载均衡之后需要解决的第一个问题就是会话同步(session),常用的框架就是spring session、shiro-redis等。以及缓存中间的选用上,一般不用ehcache,选用redis较多。

当然,因为用到了nginx作为反向代理工具,所有nginx需要做高可用配置,常见是keepalived+nginx组合。
阶段五:动静分离

常说的动静分离解决方案一般都是把静态文件部署到nginx等文件服务器中,减少应用服务器的请求压力,这里还有个CDN的概念,大家要了解一下流程是怎么样的,毕竟现在常说cdn、cdn、cdn啥的,不懂就插不上嘴呀~

一般我们存储静态东西都喜欢使用云存储,所有七牛云,cos等云存储我们就经常使用到了。当然了,nginx也是动静分离的主要工具,因为一些css、js等文件一般放在nginx下。

阶段六:分布式缓存、缓存集群

这一阶段主要还是把缓存用到极致,重复利用redis的五大数据结构的优势去调整我们的数据显示,另外设计到的缓存问题比如缓存穿透、缓存雪崩、缓存击穿等概念要熟悉,还有解决方案。以及搭建redis的主从集群、哨兵等机制保证redis的高可用。

当然了,运用了缓存之后,有个比较重点的问题也诞生了,就是如何保证缓存与数据库的数据保存一致!

阶段七:读写分离、分库分表

阶段七中主要还是集中读写分离、分库分表,围绕着不同数据库之间的相互协调工作。

阶段八:微服务架构

现在rpc的解决方案主要有两个体系

  • 阿里体系dubbo+zookeeper
  • spring体系springcloud

在springcloud中常用的组件之间的整合关系已经解决的对应的问题需要去熟悉和学会综合运用

  • 注册中心Eureka
  • 客户端负载均衡Ribbon
  • 声明式Rest调用Feign
  • 容错处理Hystrix
  • 服务网关Zuul
  • 统一管理配置Config
  • 服务跟踪Sleuth+zipkin

还有服务拆分之后带来的一系列问题,比如为了达到高可用而需要解决的降级、超时重试、限流等。为了高并发而引入的消息队列、缓存、异步并发等技术都需要了解。

阶段九:NoSql与分布式搜索引擎

这里的一个重点就是我们的分布式搜索引擎了,在前面我们聊过lucene,而es、solr的底层其实都是lucene。所以我们对lucene的底层实现原理要熟悉(倒排索引),还要分词等概念。同时在es与数据库之间的数据同步问题,我们可以使用三种解决方案

  • 基于cannal实现同步
  • 基于消息队列实现同步
  • 基于logstash实现同步

同时,不管es,还是mongo,这些nosql数据存储,都会有分片的概念,需要了解其高可用以及备份等原理。

 在职业发展道路上,需要不断提升自己,需要学习资源的,一起学习交流的欢迎加群【443128517】,小编准备了学习视频,学习线路,自学书籍,职业发展视频。也可以加美女老师七七的微信。二维码放在下面!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值