昔年浅巷
昔年浅巷
发现美丽,记录旅程,分享智慧。
首页
分类
关于
以针会友
面试
#vue
1
#Linux
1
#数据库
3
#Java
3
#SpringBoot
2
#PMP
1
#python
1
#NAS
3
#观影
3
#面试
7
#Halo
1
正向代理与反向代理
正向代理与反向代理的核心区别在于代理对象和服务方向。正向代理代表客户端向服务器发送请求,实现访问控制、匿名访问和加速功能,常见于企业内网和网络爬虫场景。反向代理位于服务器端,接收客户端请求后分发至多个后端服务器,提供负载均衡、服务器隐藏及静态内容缓存,广泛应用于网站架构、API网关和CDN加速。形象而言,正向代理如同替用户收发包裹的快递员,反向代理则类似酒店前台,对外统一接口并屏蔽后端复杂性。两者的技术差异直接影响系统架构设计与安全策略制定。
技术
36
0
0
2024-10-22
企业开发之请求折叠
企业开发中的请求折叠技术通过合并并发重复请求优化系统性能,适用于高并发场景下的数据库查询或资源加载。该机制利用缓存标识跟踪处理中的请求,后续相同请求进入等待队列,待首次请求完成返回统一结果,从而减少冗余操作与资源消耗。请求折叠在分布式系统中配合中间件(如Redis)实现锁控制,避免重复处理 ,同时需结合超时设置和数据一致性验证确保可靠性。该技术在提升接口响应速度、降低服务器负载方面作用显著,常作为面试中系统设计优化的考察要点 ,需深入理解其实现原理与适用场景。
技术
20
0
0
2024-10-19
算法挑战-到家的最少跳跃次数
题目要求在数轴上从位置0到达位置x的最少跳跃次数,跳跃规则包括每次可向前跳a或向后跳b步,但禁止连续两次后跳且不能落在forbidden数组的位置。使用广度优先搜索(BFS)算法逐层扩展状态,记录当前位置、跳跃次数及上一次是否后跳。通过队列处理状态转移,若当前位置等于目标值则返回步数。每次向前跳需确保不超过边界且不在禁止区,向后跳需非连续且非负数。用集合标记已访问状态以避免重复搜索,若遍历完未找到解则返回-1。该方法通过状态剪枝与边界控制优化搜索效率,适用于算法挑战类面试题。
技术
7
0
0
2024-10-19
算法挑战-插入区间
给定一个无重叠且按起始端点排序的区间列表,需插入新区间并保持有序且不重叠。解题采用遍历法,通过判断新区间与现有区间的位置关系进行合并或插入,处理四种特例:新区间完全覆盖、被覆盖、插入起始或末尾位置。算法实现时需考虑区间边界重叠的逻辑判断,并通过动态合并确保结果正确。代码通过遍历数组,处理不同情况下的区间合并与插入,最终返回整合后的区间列表。该方法适用于面试中常见的区间合并类算法挑战,需注意边界条件与时间复杂度优化。
技术
11
0
0
2024-10-19
算法挑战-括号生成
题目要求生成n对有效括号的所有组合。通过回溯算法结合剪枝策略实现:当左右括号剩余数量均大于0时进行分支选择,左分支需确保有剩余左括号,右分支需在左括号剩余数小于右括号时生成。递归过程中,当左右括号均耗尽时记录有效组合。采用深度优先搜索遍历所有可能路径,确保生成的括号字符串满足有效性条件,最终返回所有合法结果。该方法高效避免了无效分支,时间复杂度与卡特兰数相关,适用于面试中的算法挑战。
技术
2
0
0
2024-10-19
算法挑战-移动片段得到字符串
给定两个由'L'、'R'和'_'组成的字符串start与target,判断能否通过移动start中的片段得到target。'L'只能左移且需左侧有空位,'R'只能右移且需右侧有空位。解题需验证三点:两字符串非空字符顺序一致;target中每个'L'的位置不晚于start对应位置;target中每个'R'的位置不早于start对应位置。通过双指针遍历比较字符顺序和位置关系,结合计数判断是否满足移动条件,最终确定转换可行性。
技术
7
0
0
2024-10-19
2023年后端常见面试题
MySQL采用B+树索引因其非叶子节点不存数据,减少磁盘IO并提升范围查询效率,所有数据存储于叶子节点并通过双向链表关联。Redis高性能源于内存存储、C语言实现及单线程模型,支持多种数据结构与持久化方式(RDB快照、AOF日志)。AQS作为JUC组件基础,提供排他锁与共享锁机制。Lock相比synchronized更灵活,支持非阻塞竞争与公平锁。SpringBoot启动时加载容器并初始化Tomcat/Jetty,通过依赖调整切换服务器。Redis分布式锁依托单线程原子性操作,Redisson通过Hash结构实现可重入与锁续期,而数据库锁存在性能瓶颈与实现复杂度高的问题,需额外机制解决失效、重入及公平性。
技术
22
0
0
2024-10-19