精选

【求职方法】简历挖掘项目亮点

想要让简历上的项目经历有亮点,就绝对不能只写 “用 xx 技术完成了 xx 功能”,而是要有起伏和递进,在完成某功能的基础上进一步 优化


应该优化什么呢?大家可以试着从以下角度出发:


1)性能:页面加载速度、接口并发量(qps / tps)、接口响应时长等

方法:缓存、并发编程、异步、限流降级熔断、有损服务、CDN、数据压缩等


2)成本:节约系统资源、降低 CPU / 内存 / 磁盘空间 / 带宽占用、节省机器数等

方法:人工分析删除、定期删除、低频存储、淘汰策略、数据压缩等

实际开发项目中,一定要有成本意识!很多同学光说优化,不考虑实际情况,这是一个错误的思维。


3)可用性:尽可能地提高系统对外提供服务的时长,即提高 SLA(3 ~ 5 个 9 的高可用)

参考文章:https://blog.csdn.net/terrychinaz/article/details/112976266

方法:集群、主备、自动故障恢复、监控告警、容灾


4)可靠性:尽可能地让系统提供可靠的服务,不要出现崩溃中断

方法:集群、主备、异常处理、降级、容灾


关于可靠性和可用性的区别:https://blog.csdn.net/HermitSun/article/details/92164226


5)稳定性:接口响应 / 操作处理时长相对固定,成功率高,响应结果保持正常

方法:保证每个服务节点状态正常、性能相当(不要有的机器好有的机器垃圾导致接口时快时慢);合理规划服务调用链路,不能过长;做好技术选型,避免使用不稳定的第三方依赖


6)容错性:部分节点(服务)出问题时,系统整体依然能够正常提供服务

方法:集群、反向代理、故障转移


7)健壮性:系统不会因为部分异常而整体崩溃

方法:异常处理、进程监控(如 supervisor)


8)系统复杂度:整个系统易于理解,而不是说前人离职、后人无法接手

方法:软件开发原则、设计模式、系统架构设计(如微服务)、开发规范、工作流


9)可维护性:使整个系统结构清晰、利于维护,出了问题也能够快速排查

方法:软件开发原则、设计模式、系统架构设计(如微服务)、开发规范、工作流、抽象复用(组件化模块化)


10)可扩展性:使整个系统能够轻松应对未来新增的需求及业务增长,不会牵一发而动全身

方法:设计模式、架构设计、集群、分库分表、技术选型


11)可观测性:能够随时观察了解系统 / 服务的运行状态、并能快速发现故障和定位异常

方法:系统埋点上报、监控告警(prometheus)、ELK 日志收集、可视化分析(Grafana)


12)可伸缩性:系统根据负载情况动态增加或减少节点,从而能够应对流量高峰、并在空闲时节约成本

方法:K8S + Docker 容器、云原生


13)用户体验:符合用户的使用习惯、提升用户对网站的满意度

方法:网页性能优化、接口性能优化、懒加载、占位符、骨架屏、设备适配、浏览器兼容性、满意度调研(如 NPS)


14)安全性:保证机器、服务、数据库、网络等不被恶意侵入和污染,保证数据和用户隐私的安全

方法:参数校验、常用安全措施(防 XSS、CSRF、SQL 注入等)、网络防护(反 DDOS)、反爬虫、限流、黑白名单、防火墙等

0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
程序员鱼皮
下载 APP