《后端技术面试 38 讲》学习笔记 Day 11

简介: 《后端技术面试 38 讲》学习笔记 Day 11

《后端技术面试 38 讲》学习笔记 Day 11

29 | 高可用架构:我们为什么感觉不到淘宝应用升级时的停机?

原文摘抄

程序要升级,必须要关闭进程重新启动,这段时间应用也是不可用的

互联网的高可用是说,在上面各种情况下,应用都要是可用的,用户都能够正常访问系统,完成业务处理

但不管是哪种方案,实现高可用需要投入的技术和设备成本都非常高。因此可用性并不是越高越好,而是要根据产品策略寻找高可用投入产出的最佳平衡点

高可用的架构:冗余备份、失败隔离、限流降级、异地多活

失败隔离的主要架构技术是消息队列

心得体会

  1. 感受不到停机是因为集群整体是可用的,只要是集群中节点一部分一部分的进行部署、升级,通过网关对流量的切换,是可以做到用户无感知的。

工作体验

  1. 工作中,生产机器部署着我们开发者都不清楚的数量的监控,已知的就有老牌的Zabbix、新兴的Promethues等监控,针对系统CPU、内存、GC、接口失败率等等资源指标进行了监控,防患于未然。

30 | 安全性架构:为什么说用户密码泄漏是程序员的锅?

原文摘抄

主要使用的加密方法有三种:单向散列加密、对称加密和非对称加密

HTTP 攻击是黑客攻击行为中门槛最低的攻击方式,也是最常见的一种互联网攻击。而 HTTP 攻击中,最常见的是 SQL 注入攻击和 XSS 攻击。

XSS 攻击即跨站点脚本攻击,攻击者构造恶意的浏览器脚本文件,使其在其他用户的浏览器上运行,进而进行攻击。XSS 攻击防御的主要手段是消毒,对比较有危险的脚本语法关键字进行转义。比如把“>”转义为“>”,HTML 显示的时候还是正常的“>”,但是这样的脚本无法在浏览器上执行,也就无法达到攻击的目的。

硬件指令和操作系统可能会有漏洞,我们使用的各种框架和 SDK 可能也有漏洞,这些漏洞从被发现,到被公开,再到官方修复漏洞,可能会经过一个或长或短的时间,这个时间内就可能被掌握这些漏洞的黑客利用,攻击系统。

心得体会

  1. 安全问题主要就是有许多方式让黑客可以获得超出当前用户权限的问题。例如大学期间,老师通过使用超长,或者为空的输入进行发送报文,先绕过了前端校验,一旦后端未做校验,也未做统一的异常拦截,抛出去的异常堆栈无异于告诉黑客你的一些代码片段,易于其后进一步分析。不过这一步往往工作规范的工程师已经自动规避了这个问题。

工作体验

  1. 在金融机构以及服务与金融机构的公司就职经验让我很清楚,这些公司里都有一个专业的安全部门,会通过静态代码扫描,手动尝试漏洞攻击。告诉我们所用到的高危组件,并给出修复方案。以及我们自己写的哪些代码可以SQL注入等。
    就比如之前fastjson大行其道时,高危漏洞是一个接一个,痛下心来直接在本工程内全部替换为jackson,但是倒霉,依赖的系统中还有fastjson强依赖无法剔除,比较头疼。
    突发奇想,为什么json界没有类似slf4j的存在内,屏蔽底层json序列化框架的差异?
目录
相关文章
|
5月前
|
Java 测试技术 微服务
最新技术栈下 Java 面试高频技术点实操指南详解
本指南结合最新Java技术趋势,涵盖微服务(Spring Cloud Alibaba)、响应式编程(Spring WebFlux)、容器化部署(Docker+Kubernetes)、函数式编程、性能优化及测试等核心领域。通过具体实现步骤与示例代码,深入讲解服务注册发现、配置中心、熔断限流、响应式数据库访问、JVM调优等内容。适合备战Java面试,提升实操能力,助力技术进阶。资源链接:[https://pan.quark.cn/s/14fcf913bae6](https://pan.quark.cn/s/14fcf913bae6)
208 25
|
4月前
|
缓存 Java API
Java 面试实操指南与最新技术结合的实战攻略
本指南涵盖Java 17+新特性、Spring Boot 3微服务、响应式编程、容器化部署与数据缓存实操,结合代码案例解析高频面试技术点,助你掌握最新Java技术栈,提升实战能力,轻松应对Java中高级岗位面试。
414 0
|
7月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
446 70
|
5月前
|
Cloud Native Java 程序员
【2025 最新版互联网一线大厂 Java 程序员面试 + 学习指南】覆盖全面面试知识点、实用面试技巧及前沿技术实操内容
本内容涵盖互联网大厂主流技术栈的最新实操指南,包括微服务架构(Spring Cloud Alibaba Nacos、OpenFeign、Spring Cloud Gateway)、容器化与Kubernetes、云原生技术(Istio、Prometheus+Grafana)、高性能开发(Reactor响应式编程、CompletableFuture异步编程)及数据持久化(Redis分布式锁、ShardingSphere分库分表)。通过详细代码示例和操作步骤,帮助开发者掌握核心技术,适用于本地环境搭建与模块功能实践。适合Java程序员学习和面试准备,附带资源链接供深入研究。
146 5
|
12月前
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
350 1
|
7月前
|
人工智能 自然语言处理 算法
通义灵码助力技术求职:如何成为笔试面试冲刺的“超级助手”
在技术岗位竞争日益激烈的当下,求职季的备战已不仅是知识储备的较量,更是效率与实战能力的比拼。面对海量面试题、复杂算法挑战及快速迭代的技术框架,开发者亟需高效工具辅助突破瓶颈。阿里云推出的智能编码工具通义灵码,凭借其代码生成、优化及智能问答等核心能力,正成为开发者备战求职季的“超级助手”。
|
10月前
|
人工智能 缓存 Ubuntu
AI+树莓派=阿里P8技术专家。模拟面试、学技术真的太香了 | 手把手教学
本课程由阿里P8技术专家分享,介绍如何使用树莓派和阿里云服务构建AI面试助手。通过模拟面试场景,讲解了Java中`==`与`equals`的区别,并演示了从硬件搭建、语音识别、AI Agent配置到代码实现的完整流程。项目利用树莓派作为核心,结合阿里云的实时语音识别、AI Agent和文字转语音服务,实现了一个能够回答面试问题的智能玩偶。课程展示了AI应用的简易构建过程,适合初学者学习和实践。
351 22
|
11月前
|
缓存 负载均衡 算法
深入理解后端服务的负载均衡技术
在现代网络服务架构中,高效的负载均衡策略对于保证应用性能和可靠性至关重要。本文将深入探讨后端服务中的负载均衡技术,包括其重要性、常见算法以及如何实现高效均衡。通过分析不同的负载均衡方法,我们旨在为开发者提供实用的指导,帮助他们优化自己的系统架构。
|
12月前
|
监控 API 微服务
后端技术演进:从单体架构到微服务的转变
随着互联网应用的快速增长和用户需求的不断演化,传统单体架构已难以满足现代软件开发的需求。本文深入探讨了后端技术在面对复杂系统挑战时的演进路径,重点分析了从单体架构向微服务架构转变的过程、原因及优势。通过对比分析,揭示了微服务架构如何提高系统的可扩展性、灵活性和维护效率,同时指出了实施微服务时面临的挑战和最佳实践。
241 7
|
12月前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
1458 2

热门文章

最新文章