精华内容
下载资源
问答
  • 其实互联网职业可以大致分两个阶段,在毕业后的3到5年内主要都是以学习、积累为主,从一开始啥都不懂的校园“新鲜人”向“职业人”转变。如果你是Java开发者,在...分享一下我的学习之路 2017从杭州师范大学(也是马云

    其实互联网职业可以大致分两个阶段,在毕业后的3到5年内主要都是以学习、积累为主,从一开始啥都不懂的校园“新鲜人”向“职业人”转变。如果你是Java开发者,在这个阶段你会学习:

    1、基础的Java知识,多线程、集合类、JVM
    2、进阶知识,设计模式、系统设计和方法论
    3、主流框架,Spring、Spring Boot、MyBatis……
    4、微服务,Dubbo、ETCD、Spring Cloud……
    5、数据库,Redis、ES、MySQL、分库分表

    分享一下我的学习之路

    2017从杭州师范大学(也是马云的母校)毕业后,我就留在了杭州,因为家庭原因,从大三开始已经没了考研的想法,只想快点工作,能稍微减轻父母身上的重担。计算机科班毕业,当时因为简历的原因在加上自己学的不是很好,投入大厂的简历全部石沉大海没有丝毫音讯。最终来到了一家上市公司,浑浑噩噩的渡过的两年,除了CRUD啥都不懂,每月拿着9K+的薪水,日子过得紧张而又无趣。

    今年年初,疫情覆盖全国,造成了大小型互联网公司全面缩水裁员,我们公司也不例外(公司不养闲人这个上班族都是明白的)毫无意外我被裁掉。本来感觉生活很无趣又惨遭下岗,这样的打击差点让我崩溃。(不过后来我知道,这是个提升自己的契机)

    什么是ACID?

    事务的定义和实现一直随着数据管理的发展在演进,当计算机越来越强大,它们就能够被用来管理越来越多数据,最终,多个用户可以在一台计算机上共享数据,这就导致了一个问题,当一个用户修改了数据而另外一个还在使用旧数据进行计算过程中,这里就需要一些机制来保证这种情况不会发生。

    ACID规则原来是在1970被Jim Gray定义,ACID事务解决了很多问题,但是仍然需要和性能做平衡协调,事务越强,性能可能越低,安全可靠性和高性能是一对矛盾。

    一个事务是指对数据库状态进行改变的一系列操作变成一个单个序列逻辑元操作,数据库一般在启动时会提供事务机制,包括事务启动 停止 取消或回滚。

    但是上述事务机制并不真的实现“事务”,一个真正事务应该遵循ACID属性,ACID事务才真正解决事务,包括并发用户访问同一个数据表记录的头疼问题。

    ACID的定义:

    • Atomic原子性: 一个事务的所有系列操作步骤被看成是一个动作,所有的步骤要么全部完成要么一个也不会完成,如果事务过程中任何一点失败,将要被改变的数据库记录就不会被真正被改变。
    • Consistent一致性: 数据库的约束 级联和触发机制Trigger都必须满足事务的一致性。也就是说,通过各种途径包括外键约束等任何写入数据库的数据都是有效的,不能发生表与表之间存在外键约束,但是有数据却违背这种约束性。所有改变数据库数据的动作事务必须完成,没有事务会创建一个无效数据状态,这是不同于CAP理论的一致性"consistency".
    • Isolated隔离性: 主要用于实现并发控制, 隔离能够确保并发执行的事务能够顺序一个接一个执行,通过隔离,一个未完成事务不会影响另外一个未完成事务。
    • Durable持久性: 一旦一个事务被提交,它应该持久保存,不会因为和其他操作冲突而取消这个事务。很多人认为这意味着事务是持久在磁盘上,但是规范没有特别定义这点。

    什么是CAP?

    CAP是分布式系统中进行平衡的理论,它是由 Eric Brewer发布在2000年。

    • Consistent一致性: 同样数据在分布式系统中所有地方都是被复制成相同。
    • Available可用性: 所有在分布式系统活跃的节点都能够处理操作且能响应查询。
    • Partition Tolerant分区容错性: 在两个复制系统之间,如果发生了计划之外的网络连接问题,对于这种情况,有一套容错性设计来保证。

    一般情况下CAP理论认为你不能拥有上述三种中两种,这是一个实践总结,当有网络分区情况下,也就是分布式系统中,你不能又要有完美一致性和100%的可用性,只能这两者选择一个。在单机系统中,你则需要在一致性和延迟性latency之间权衡。

    CAP和ACID一致性区别

    ACID一致性是有关数据库规则,如果数据表结构定义一个字段值是唯一的,那么一致性系统将解决所有操作中导致这个字段值非唯一性的情况,如果带有一个外键的一行记录被删除,那么其外键相关记录也应该被删除,这就是ACID一致性意思。

    CAP理论的一致性是保证同样一个数据在所有不同服务器上的拷贝都是相同的,这是一种逻辑保证,而不是物理,因为光速限制,在不同服务器上这种复制是需要时间的,集群通过阻止客户端查看不同节点上还未同步的数据维持逻辑视图。

    当跨分布式系统提供ACID时,这两个概念会混淆在一起,Google’s Spanner system能够提供分布式系统的ACID,其包含ACID+CAP设计:

    面试题总结

    面试文件获取方式:戳这里免费下载(助你面试无忧)

    其它面试题(springboot、mybatis、并发、java中高级面试总结等)

    Cr6r-1623898425443)]

    [外链图片转存中…(img-FvSctMNb-1623898425445)]

    展开全文
  • 下面给大家分享下我的面试大全资料,如果你也有需要,可以戳这里即可免费领取我的这份复习资料 第一份是我的后端JAVA面试大全 后端JAVA面试大全 第二份是MySQL+Redis学习笔记+算法+JVM+JAVA核心知识整理 MySQL+...

    一、服务发布简介

    分布式系统架构下,服务发布是一件很麻烦的事情,特别是在构建自动发布流程和灰度测试的策略两个核心方面。通常情况下如果不涉及数据层面的灰度流程,服务可以灰度上线,或者滚动上线,这两种方式很常用;如果涉及到数据灰度,则可能需要中间服务做不同版本数据之间追平,或者停机维护一次性处理好数据和上线问题,不过后面这种方式风险较大。

    二、蓝绿部署

    新版本上线的时候,并不停掉老版本,新旧两个版本同时运行,通常还会在负载均衡的策略上倾向于旧版本服务处理请求,这样新版本就有一个执行的观察期过渡期,等到新版本平稳运行一段时间后,再把请求都发到新版服务上,旧版本服务完成下线。这种方式在分布式架构下很少使用,对服务器要求过高。

    三、滚动发布

    滚动发布可以避免蓝绿部署的服务器资源占用问,首先发布一台新版本服务,然后停掉一台老版本服务,新版服务经过观察之后,再逐步替换掉所有老版本的服务,这样服务的环境变动比较频繁,相对不稳定。

    四、灰度发布

    上述两种方式在普通业务场景下都还算好操作,分布式系统下的灰度发布复杂程序相对高很多,基础流程如下:

    新版本上线,可能涉及分布式下多个灰度服务,因此在服务在整个链路上分发时,都要判断下个请求是路由到正常服务还是灰度服务,还要对灰度服务做请求的权重控制,不能让灰度服务处理大量的请求。

    实际策略:在实际的分布式系统灰度发布流程,通常会采用如下一个策略:

    • 配置一个灰度是否开启的标识;
    • 配置一批灰度账户,通常内部人员;
    • 配置灰度服务版本标识;
    • 请求在链路执行时,判断灰度是否开启;
    • 判断当前用户身份是否是灰度测试账号;
    • 获取当前可以请求的服务列表;
    • 根据灰度服务版本选择请求的具体服务;

    这个流程非常的复杂,需要很多自定义的策略,还要熟悉分布式框架的底层API原理,要二次重写来适配灰度策略,设计重写原生API还容易触发一些惊喜问题。

    五、数据库灰度

    如果说最难处理的灰度模式是什么,就是数据库的版本灰度问题,通常业务对数据库改造升级,实际都是通过停机维护来处理的,可能很多开发都经历过,发布停服公告,然后在指定时间内把数据全部追平或者二次搬运,再重新提供服务。但是总有些业务场景是不能停机维护的,处理灰度数据的基本策略如下:

    该模式中,除了正常的灰度流程之外,需要在灰度数据库和正常数据中间提供一个数据调配服务,用来解决如下问题:灰度数据库缺失数据,需要临时从正常库拉取,灰度版本失败,新数据需要重新整合写入原本正常库;灰度版本成功,旧版数据迁移等;最终保证数据的平稳升级。

    总结

    以上是字节二面的一些问题,面完之后其实挺后悔的,没有提前把各个知识点都复习到位。现在重新好好复习手上的面试大全资料(含JAVA、MySQL、算法、Redis、JVM、架构、中间件、RabbitMQ、设计模式、Spring等),现在起闭关修炼半个月,争取早日上岸!!!!

    下面给大家分享下我的面试大全资料,如果你也有需要,可以戳这里即可免费领取我的这份复习资料

    • 第一份是我的后端JAVA面试大全

    image.png

    后端JAVA面试大全

    • 第二份是MySQL+Redis学习笔记+算法+JVM+JAVA核心知识整理

    字节二面拜倒在“数据库”脚下,闭关修炼半个月,我还有机会吗?

    MySQL+Redis学习笔记算法+JVM+JAVA核心知识整理

    • 第三份是Spring全家桶资料

    字节二面拜倒在“数据库”脚下,闭关修炼半个月,我还有机会吗?

    整理

    • 第三份是Spring全家桶资料

    [外链图片转存中…(img-yg3dwB8t-1625927694457)]

    MySQL+Redis学习笔记算法+JVM+JAVA核心知识整理

    展开全文
  • 下面给大家分享下我的面试大全资料,如果你也有需要,可以戳这里即可免费领取我的这份复习资料 第一份是我的后端JAVA面试大全 后端JAVA面试大全 第二份是MySQL+Redis学习笔记+算法+JVM+JAVA核心知识整理 MySQL+...

    一、服务发布简介

    分布式系统架构下,服务发布是一件很麻烦的事情,特别是在构建自动发布流程和灰度测试的策略两个核心方面。通常情况下如果不涉及数据层面的灰度流程,服务可以灰度上线,或者滚动上线,这两种方式很常用;如果涉及到数据灰度,则可能需要中间服务做不同版本数据之间追平,或者停机维护一次性处理好数据和上线问题,不过后面这种方式风险较大。

    二、蓝绿部署

    新版本上线的时候,并不停掉老版本,新旧两个版本同时运行,通常还会在负载均衡的策略上倾向于旧版本服务处理请求,这样新版本就有一个执行的观察期过渡期,等到新版本平稳运行一段时间后,再把请求都发到新版服务上,旧版本服务完成下线。这种方式在分布式架构下很少使用,对服务器要求过高。

    三、滚动发布

    滚动发布可以避免蓝绿部署的服务器资源占用问,首先发布一台新版本服务,然后停掉一台老版本服务,新版服务经过观察之后,再逐步替换掉所有老版本的服务,这样服务的环境变动比较频繁,相对不稳定。

    四、灰度发布

    上述两种方式在普通业务场景下都还算好操作,分布式系统下的灰度发布复杂程序相对高很多,基础流程如下:

    新版本上线,可能涉及分布式下多个灰度服务,因此在服务在整个链路上分发时,都要判断下个请求是路由到正常服务还是灰度服务,还要对灰度服务做请求的权重控制,不能让灰度服务处理大量的请求。

    实际策略:在实际的分布式系统灰度发布流程,通常会采用如下一个策略:

    • 配置一个灰度是否开启的标识;
    • 配置一批灰度账户,通常内部人员;
    • 配置灰度服务版本标识;
    • 请求在链路执行时,判断灰度是否开启;
    • 判断当前用户身份是否是灰度测试账号;
    • 获取当前可以请求的服务列表;
    • 根据灰度服务版本选择请求的具体服务;

    这个流程非常的复杂,需要很多自定义的策略,还要熟悉分布式框架的底层API原理,要二次重写来适配灰度策略,设计重写原生API还容易触发一些惊喜问题。

    五、数据库灰度

    如果说最难处理的灰度模式是什么,就是数据库的版本灰度问题,通常业务对数据库改造升级,实际都是通过停机维护来处理的,可能很多开发都经历过,发布停服公告,然后在指定时间内把数据全部追平或者二次搬运,再重新提供服务。但是总有些业务场景是不能停机维护的,处理灰度数据的基本策略如下:

    该模式中,除了正常的灰度流程之外,需要在灰度数据库和正常数据中间提供一个数据调配服务,用来解决如下问题:灰度数据库缺失数据,需要临时从正常库拉取,灰度版本失败,新数据需要重新整合写入原本正常库;灰度版本成功,旧版数据迁移等;最终保证数据的平稳升级。

    总结

    以上是字节二面的一些问题,面完之后其实挺后悔的,没有提前把各个知识点都复习到位。现在重新好好复习手上的面试大全资料(含JAVA、MySQL、算法、Redis、JVM、架构、中间件、RabbitMQ、设计模式、Spring等),现在起闭关修炼半个月,争取早日上岸!!!!

    下面给大家分享下我的面试大全资料,如果你也有需要,可以戳这里即可免费领取我的这份复习资料

    • 第一份是我的后端JAVA面试大全

    image.png

    后端JAVA面试大全

    • 第二份是MySQL+Redis学习笔记+算法+JVM+JAVA核心知识整理

    字节二面拜倒在“数据库”脚下,闭关修炼半个月,我还有机会吗?

    MySQL+Redis学习笔记算法+JVM+JAVA核心知识整理

    • 第三份是Spring全家桶资料

    字节二面拜倒在“数据库”脚下,闭关修炼半个月,我还有机会吗?

    整理

    • 第三份是Spring全家桶资料

    [外链图片转存中…(img-n9BHJIaX-1627010549086)]

    MySQL+Redis学习笔记算法+JVM+JAVA核心知识整理

    展开全文
  • ssm框架是前端还是后端技术分享

    千次阅读 2021-06-12 17:20:27
    ssm框架毕业答辩常见问题有哪些, 例如ssm如何实现一、Spring常见问题 以上就是CSS布局HTML为大家整理的ssm框架是前端还是后端技术分享内容,如果觉得本站更新的资源对您有帮助 不要忘记分享给您身边的朋友哦!

    ssm框架中前端jsp页面的数据除了表单提交以外如何ssm框架里面,前端页面的数据是怎么绑定的,如果我不用表单提交的话。

    刚学完了ssm框架和ajax 可以写一个什么项目 比较简求一个java比较简单的项目,最好有源码

    spring mvc,spring,bootstrap,mybatis应该先学spring mvc,spring,mybatis是java框架,可以组合使用,叫做是ssm框架。属于后台实现端。 bootstrap前端ui框架。 看你想走那一块,想学后台先学spring,在

    java用SSM框架做的web程序

    java用SSM框架做的web程序可以转成手机app吗

    将你的前端页面(jsp,html..)的url嵌套进webview。

    Ssm框架下怎么把数据库数据动态显示到前端页面?

    java ssm框架 怎样将后台集合传递到前端@responsebody

    java类 RequestMapping("/student") public String search(Model m){ list = studentservice.selectList(); m.addAttribute("go",list); return "student"; } 前台student.jsp ${d}

    想做JAVAWEB后台的话,要学习哪些知识

    专业是软工,有JAVA基矗现在在学Servlet.jsp和SSH框架和Mysql,了解到现HTML(超文本标记语言)是网页的核心,学好HTML是成为Web开发人员的基本条件。HTML很容易学习的,但也很容易误用,要学精还得费点功夫。

    ssm框架毕业答辩常见问题有哪些, 例如ssm如何实现一、Spring常见问题

    以上就是CSS布局HTML为大家整理的ssm框架是前端还是后端技术分享内容,如果觉得本站更新的资源对您有帮助 不要忘记分享给您身边的朋友哦!

    展开全文
  • 该函数有 6 个参数,在成功链接到 MySQL 后返回 【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】 开源分享完整内容戳这里 连接标识,失败返回 FALSE 。 语法 mysqli_connect(host,...
  • 对于未来,Python、Go、Rust 成为后端未来最先考虑学习编程语言。 目前国内各个大厂主流后台语言不尽相同: 腾讯偏向C++,Go等,Go越来越流行 阿里,拼多多,美团,京东偏向Java 字节偏向Go/Python 百度偏向C++ ...
  • 面向后端的前端技术分享

    千次阅读 2021-05-19 00:53:57
    点击上方“前端开发博客”关注公众号回复“2”加入前端群作者:九旬来源:SegmentFault 思否社区目的分享日常开发工作中常遇到的问题提升工作效率,编写易维护的代码了解前端技术的趋势T...
  • 1. 2021 有哪些不容错过的后端技术趋势 整理 2020 年后端技术要点。 标签: #后端 #技术趋势 #总结 2. 让网页赏心悦目、让阅读回归初心 - Circle | 染河学长 广告太多分散注意力、配色太丑不忍直视、字体太小看不...
  • 2021 有哪些不容错过的后端技术趋势

    千次阅读 2021-03-11 00:59:09
    Python、Go、Rust 成为后端未来最先考虑学习编程语言。 Go 语言生态发展稳健,越来越多企业在生产中使用 Go 语言落地业务。 疫情催化在线教育行业产品升级转型,音视频技术不断迭代升级。 云原生 1. 业内趋势 云...
  • 篇幅有限,以下只能截图分享部分的资源!! (1)多线程(这里以多线程为代表,其实整理了一本JAVA核心架构笔记集) (2)刷的算法题(还有左神的算法笔记) (3)面经+真题解析+对应的相关笔记(很全面) (4)...
  • 后端开发技术规范

    2021-04-03 22:11:17
    参考文献:《阿里巴巴Java开发手册》 目录 一、MySQL规约 (一)建表规约 【推荐】表达是与否概念的字段,必须使用is_xxx的方式命名,数据类型是unsigned tinyint(1表示是,0表示否),此规则同样适用于odps...
  • 腾讯在线教育部后台中心团队,作为在线教育行业的从业者,我们尝试整理一下 2020 年后端技术要点,以此窥探后台未来技术的发展趋势: 云计算进程提速,一切皆服务。 云上安全越来越受到企业的重视。 从资源云向...
  • Quartz表达式生成地址:http://cron.qqe2.com/支持生成定时任务表达式和反解析,使用Quartz表达式的定时任务如下xxl-jobspringboot 的 @Sche...
  • IT技术分享社区 个人博客网站:https://programmerblog.xyz 文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口...
  • 学习技能的过程是需要时间的积累和反复的训练,这也是后端开发工程师掌握技能的必经之路。这篇主要记录下后端学习路线,参考大v们的文章,作为自己后续“打怪升级”的导图。有一个自顶而下的视野,从整体到细节的...
  • import 2021-01-10 21:23:53 项目介绍springboot搭建的访客管理系统,针对高端基地做严格把控来访人员信息管理,用户后端可以设置多个管理员帐号,给予不同部门的管理层使用,用户管理可以增加/修改内部成员的 2021-...
  • 网盘连接: 链接:https://pan.baidu.com/s/1SIM9cOtSBBMfbvCBuUqB3w 提取码:b95d
  • Java后端技术知识点汇总(思维导图)

    千次阅读 多人点赞 2021-04-14 18:37:37
    公众号【小张日拱一卒】回复对应关键字 获取全部公开分享的思维导图笔记 包含快速复习版的png图片,可以自行增删改查的xmind文件 技术路线 【建议收藏】按这个学,找工作没问题!Java后端开发详细学习路线视频教程 ...
  • Java后端面试分享

    2021-04-14 12:48:26
    JAVA后端:分享一下最近找工作时碰到的面试题基础面试补充说明 基础面试 最近也面试了一些公司,从小的创业公司到大的BAT企业都有涉及。分享一下记录的一些面试问题吧,没有很系统的整理,凭印象记录了一些: jvm...
  • 分享给大家供大家参考,具体如下: 对于商品抢购等并发场景下,可能会出现超卖的现象,这时就需要解决并发所带来的这些问题了在PHP语言中并没有原生的提供并发的解决方案,因此就需要借助其他方式来实现并发控制。...
  • 而且靠近后端的人才一旦遇到技术迭代,那么可能是毁灭性的,究其原因,恐怕一个是深入后端技术比较慢,一个是新的后端技术坑更少。 是不是所有的技术迭代都是好的呢?我的观点是肯定的。新技术的出现一定是为了解决...
  • IT技术分享社区 个人博客网站:https://programmerblog.xyz 文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口...
  • 前端的一生,离不开三件事,兼容,ui与后端接口。 在刚开始工作没多久的时候,看着后端提供的那串玩意就在想,应该怎么样才能优雅的处理这几串东西。在工作的转场中,我试图从别人身上去寻找那份答案,但终究都不是...
  • 下述整理的180道Java后端常问的面试体系汇总,有整理出一份知识点复习笔记和Java后端高频知识考点专题文档答案免费分享给大家! 由于篇幅原因,在这只把部分的题目列举出来,答案就不做全部展示了,这些题我已经...
  • 在接触java技术的这段时间里,见证了许多Java技术的变迁,包括: ...在另一篇文章中,我分享了如何快速的入门并学习java技术的基础小白教学视频 Java300集零基础适合初学者视频教程 比较适合零...
  • 相信很多人在技术岗都听到过前端和后端这两个职位,但是大部分人对前端开发与后端开发的区别是什么?并不是很清楚,下面小千就为大家详细的介绍一下两者的区别之处。 web前端分享:前端开发与后端开发的区别是什么?...
  • 今日头条后端Java社招面经分享今日头条后端Java社招面经分享来自:程序员面试作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人今日头条后端一面社招面经,内容比较偏计算机基础和项目,全程50分钟左右。...
  • 后端开发文档

    2021-04-02 15:44:43
    后端开发文档 一、准备工作 (1)JDK8安装 下载地址及教程:https://mp.weixin.qq.com/s/j77xZTFLLR1_D23-T6c-JA (2)数据库及服务器安装 MySQL8.0:https://mp.weixin.qq.com/s/eGtXyipJFyOWUxGTL5FQxg MySQL教程...
  • IT技术分享社区 个人博客网站:https://programmerblog.xyz 文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道吗?51单片机程序下载、ISP及串口...
  • 作者:乐傻驴 来源:uee.me/cNDC8 IT技术分享社区 个人博客网站:https://programmerblog.xyz 文章推荐程序员效率:画流程图常用的工具程序员效率:整理常用的在线笔记软件远程办公:常用的远程协助软件,你都知道...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,355
精华内容 35,742
关键字:

后端技术分享