《软件工程之美》打卡第七周(1)

本文探讨了DevOps的工作方式,强调了它如何通过自动化、提升透明度和培养跨职能协作来加速软件开发和部署。文章还着重介绍了DevOps工程师的角色,以及处理线上故障的策略,特别是大厂的做法。同时提到了日志管理和项目复盘的重要性,以及对于Android开发者学习资源的分享。
摘要由CSDN通过智能技术生成

DevOps的出现是为了解决开发和运维之间的协作问题,提升运维开发和自动化能力。

DevOps是开发(Development)和运维(Operations)一切紧密协作的工作方式,从而可以更快更可靠的构建、测试和发布软件。

DevOps带来的好处

  • 软件的构建、测试和发布过程高度自动化

  • 信息更加透明和易于策略

  • 培养跨职能协作的文化

DevOps工程师要做什么?

  • 帮助团队建立基于持续集成和持续交付工作流程

  • 建立一套基于日志的监控报警的系统,以及故障响应的流程

  • 构建基于云计算和虚拟化技术的基础设施

  • 帮助团队构建协作文化

关于这一节的内容,我最大的感受就是不仅仅只是运维工程师需要学习DevOps,而是所有开发都应该学习DevOps,开发和运维本身就分不开,构建协作的文化,提升研发效能,不管对产品还是团队都是非常好的实践。

扩展阅读:

DevOps 前世今生 | mPaaS 线上直播 CodeHub #1 回顾

孙宇聪:来自Google的DevOps理念及实践

[关于 DevOps ,咱们聊的可能不是一回事

]( )

37 | 遇到线上故障,你和高手的差距在哪里?


新手处理线上故障

  • 遇到复杂的线上故障,不知道怎么下手

  • 遇到线上故障,会想着马上修复Bug,匆忙打补丁,可能会引入新的Bug,造成更严重的损失

  • 不知道如何快速定位Bug

  • 解决完线上故障,可能还会重犯

高手处理线上故障

  • 会有一套解决问题的步骤

  • 第一步,评估影响范围

  • 第二步,试图重现问题

  • 第三步,临时方案和终极方案

  • 第四步,风险评估及持续优化

  • 遇到故障,会先评级、评估影响范围,优先保证业务可用,恢复生产,再考虑修复Bug

  • 通过有效手段重现Bug,逐步缩小问题范围,定位具体的错误位置

  • 会仔细分析Bug产生的原因,从根本上解决,避免类似的故障再次发生

大厂处理线上故障值得借鉴的地方

大厂其实是把高手解决故障的方式,变成故障处理的流程和操作手册,并且通过反复地故障演习。不断练习和强化对故障处理的流程,让系统更健壮,让新手也可以快速上手,做到高效处理线上故障。

  • 故障报警和轮值机制

  • 找对故障服务最熟悉的人

  • 轮值on call,报警响应

  • 实战演习(混沌工程)

  • 日志记录和分析工具(搭建ELK或Splunk这样的日志分析系统)

  • 其他好的实践

  • 灰度发布策略

  • 开关控制灰度

这节课让我更深刻的了解处理线上故障的实践,前后端解决具体问题的方法可能会有所不同,但总体解决策略和思路是类似的。关于工程师解决问题的和分析问题的能力其实也是我们的核心竞争力,如何更好的解决问题,提升业务价值,是我们在整个成长过程中需要不停去思考并践行的。

38 | 日志管理:如何借助工具快速发现和定位产品问题 ?


这节课宝玉老师主要分享了怎么通过搭建日志管理系统来帮助我们快速发现和定位产品问题。更多是偏后端的内容,这里我就基于文章内容进行以下总结:

什么是日志管理?

日志就是操作系统和应用软件自动生成的事件说明或者消息记录,包含了时间、日志信息。

日志管理就是指对系统和应用程序产生的日志进行处理的方法,包括对日志进行统一收集,对日志数据进行筛选和解析,统一存储,还要让它们可以方便被检索。

日志管理系统解决的肉眼检索困难,服务架构复杂,无法统一记录和检索的问题

如何快速发现和定位问题?

  • 集中式管理,统一检索

  • 统一收集和实时统计,生成可视化图表

  • 根据日志数值设置规则自动报警

业内大厂的最佳实践

  • 日志采集和解析

  • 解析成结构化数据,方便检索

  • 存储和搜索

  • 索引和分析,快速检索出结果

  • 结果可视化

  • 观察数据走势曲线

  • 监控和报警

  • 设定触发报警规则,通知值班人员处理

在这里插入图片描述

39 | 项目总结:做好项目复盘,把经验变成能力


复盘的常见问题

  • 总结不出来有效的结论(过流水账)

  • 没做好是客观原因导致的(没有想清楚)

  • 知道什么原因,但不知道该怎么办(没有解决思路)

复盘的四个基本步骤

  1. 回顾项目目标
  • 清晰描述当初定的项目目标
  • 里程碑是什么,能否做到准确客观(可量化)
  1. 评估项目结果

列出好的差异和坏的差异,就是做得好的部分和不好的部分

  1. 分析原因

分析导致项目结果好跟坏的原因,好的比如改进了研发流程,工具的使用,规范了项目流程;坏的比如老板过多干预产品需求,周期过长,频繁变更导致延期等

  1. 总结规律,落实行动

基于原因总结规律,保持好的实践,停止不好的实践或寻求改变
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司21年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

于篇幅有限,这里以图片的形式给大家展示一小部分。

[外链图片转存中…(img-f2Q8PKqi-1712824604201)]

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值