- 博客(516)
- 资源 (1)
- 收藏
- 关注
原创 阿里云面试题:最大数
摘要: 本文讨论如何将一组非负整数重新排列组成最大的整数。初始错误解法通过直接比较数字字符串的字典序和前缀进行排序,但在处理类似[432,43243]的输入时失效。正确解法应比较两个数字不同拼接方式的结果:若str(a)+str(b) > str(b)+str(a),则a应排在b前。通过自定义排序函数结合functools.cmp_to_key实现,并处理全零特殊情况(如返回"0"而非"000")。最终将排序后的字符串拼接即为最大整数。
2025-08-17 14:18:47
185
原创 设计一个高可用、可拓展、监控报警系统,使用普罗米修斯和grafana,并给出go实现
本文介绍了基于Go的高可用微服务系统设计与监控方案。系统采用前后端分离架构,支持水平扩展,通过容器化部署实现高可用。重点展示了Go应用集成Prometheus监控的实践,包括自定义指标采集、暴露/metrics接口,以及Prometheus与Grafana的配置方法。同时提供了报警规则配置示例,支持多种通知方式。文章还补充了服务链路追踪(OpenTelemetry+Jaeger)和结构化日志的实现方案,完善了系统的可观测性。整体方案强调自动化部署、弹性伸缩和故障快速响应,适用于生产环境。
2025-07-29 12:45:20
324
原创 mysql 快速上手
MySQL快速上手指南摘要:本文介绍了MySQL数据库的基础操作和实用技巧,包括连接方式、SQL函数(查询/操作/定义)、数据拼接与格式化、高级查询(子查询/连接/分组)、事务处理、索引优化和常用数据类型。重点讲解了字符串拼接、条件判断、日期处理等实用功能,以及批量操作、性能优化等技巧。适合初学者快速掌握MySQL核心功能,为后续学习存储过程、触发器等高级特性打下基础。
2025-07-27 18:38:34
107
原创 golang实现一个定时引擎,功能包括按照corntab的时间任务实时增加、修改、删除定时任务
本文介绍了一个基于Go语言的轻量级Cron定时任务引擎实现。该引擎使用标准库time和第三方库cron/v3构建,支持秒级精度的定时任务调度。核心功能包括: 任务管理:通过Task结构体封装任务信息,提供增删改查操作 并发安全:使用读写锁(sync.RWMutex)保证多线程安全 动态调度:支持运行时修改任务参数而不中断服务 生命周期控制:提供Start/Stop方法管理引擎运行状态 示例代码演示了如何创建任务(如每5秒执行)、更新任务频率和删除任务。系统设计考虑了扩展性,建议了任务持久化、执行监控、分布式
2025-07-26 16:20:02
92
原创 golang实现一个规则引擎,功能包括实时增加、修改、删除规则
本文介绍了一个用Go实现的轻量级规则引擎,核心功能包括:1) 支持实时增删改规则;2) 基于条件函数评估触发动作;3) 使用读写锁保证并发安全。引擎采用map存储规则,通过Data类型传递上下文数据,并提供了规则执行的基本流程。文章还提出了扩展方向(如优先级、持久化)和优化建议(索引、并行执行)。示例代码展示了温度监控场景的应用,演示了规则管理全流程。该实现简洁高效,适合需要灵活规则管理的应用场景。
2025-07-26 16:16:51
79
原创 广告业务中A/B实验分桶方法比较:UID VS DID
广告业务实验分桶策略分析 在广告业务实验中,用户ID分桶和设备ID分桶各具特点:用户ID分桶适合长期价值评估和跨设备行为分析,能避免实验污染但隐私风险较高;设备ID分桶则更适配短期设备端效果测试,隐私友好但存在多设备行为割裂问题。对于游客模式,设备ID分桶通常是更优选择,因其能保证匿名性并快速获取短期行为数据,尽管需解决设备ID稳定性等问题。实际应用中,建议根据实验目标(长期/短期)、隐私要求和业务场景灵活选择,或采用混合分桶策略。合规处理ID(如哈希加密)和数据关联设计是关键实施要点。
2025-07-26 16:01:04
93
原创 广告业务中使用用户id分桶和使用设备id分桶实验,哪个更优
摘要:广告业务A/B测试中,用户ID分桶和设备ID分桶各有利弊。用户ID分桶能避免跨设备污染,保证用户级指标准确性,但依赖登录状态;设备ID分桶覆盖全量流量但存在跨设备问题。最佳实践建议:以注册用户为主的业务优先用户ID分桶,匿名流量场景使用设备ID分桶,或采用混合模式。广告业务尤其应关注用户唯一性,推荐优先用户ID分桶,必要时补充设备ID方案以确保实验准确性。(149字)
2025-07-26 15:54:33
73
原创 Raft 协议 Paxos协议 和zk协议的特点和异同
本文对比了三种分布式一致性协议:Paxos、Raft和Zab(Zookeeper)。Paxos是经典算法,理论完备但实现复杂;Raft简化了Paxos,引入明确Leader角色,更易工程实现;Zab专为Zookeeper设计,强调顺序一致性。三者在角色机制、实现难度、性能表现和应用场景上各有特点:Paxos适合底层核心系统,Raft广泛用于配置中心和分布式存储,Zab则适用于服务注册等协调场景。选择时需根据具体需求权衡复杂度与功能特性。
2025-07-26 15:08:51
104
原创 数据存储:OLAP vs OLTP
OLAP数据库是专为大数据分析和决策支持设计的系统,具有多维分析、列式存储、高并发处理等特点。常见产品包括ClickHouse、StarRocks、DorisDB等,适用于BI报表、实时数仓、用户行为分析等场景。与传统OLTP数据库不同,OLAP擅长处理复杂查询和大数据量分析,而OLTP更适合事务处理和实时增删改查。技术选型需根据具体需求,如ClickHouse适合高吞吐分析,StarRocks则长于实时查询和多表关联。在电商、金融等行业,OLAP能高效支撑数据分析和业务洞察。
2025-07-26 14:44:04
91
原创 数据库HB OB mysql ck startrocks, ES存储特点,以及应用场景
本文对比了六种主流数据库的存储特点及应用场景:HBase适合海量时序数据存储;OceanBase适用于金融级分布式事务;MySQL是传统关系型数据库,适合结构化数据;ClickHouse和StarRocks专注OLAP分析,前者擅长批量聚合,后者支持近实时查询;Elasticsearch则专精全文检索与日志分析。文末通过表格清晰对比了各数据库在存储类型、处理模式及典型应用场景的差异,为技术选型提供参考。
2025-07-26 14:41:11
169
原创 TEG高频面试题(附解题思路)
本文总结了TEG高频面试题及核心知识点,涵盖云计算、游戏开发、广告系统等方向。在系统设计方面,重点包括分布式存储架构、高并发匹配系统、实时日志分析等解决方案;算法部分则聚焦接雨水、LRU缓存等经典题型。分布式基础强调CAP理论和Paxos/Raft共识算法。备考建议指出要优先掌握高频题,注重技术理论与业务场景的结合,并通过模拟面试优化表达。典型解题思路如:采用纠删码降低存储成本、基于Quorum实现跨机房容灾、使用Flink处理实时日志等,体现了工程实践与理论深度并重的特点。
2025-07-26 14:02:27
538
原创 数组中重复的数据
该问题要求在O(n)时间复杂度和O(1)额外空间条件下,找出数组中所有出现两次的数字。解法利用数组本身作为哈希表:通过交换元素将每个数字放到其值减1对应的索引位置。遍历完成后,若某个位置的数字不符合nums[i]=i+1,则说明该数字是重复的。例如输入[4,3,2,7,8,2,3,1]经过处理后,重复数字2和3会留在错误的位置上,从而被识别并收集。该方法满足题目要求的时间和空间复杂度限制,高效地解决了问题。
2025-07-25 15:25:45
209
原创 广告LTV详细算法公式、不同行业广告LTV均值参考、如何实际运营和提升LTV
广告LTV(生命周期价值)指单个用户在其生命周期内带来的累计广告收入。核心计算公式包括单用户LTV(各日ARPU累加)和用户组LTV(总收入/用户数)。行业差异显著:游戏类30日LTV约0.2-8元,工具类0.4-1.5美元。提升LTV的四大策略为:优化用户留存、提高广告单价(eCPM)、调节广告密度与时机、丰富广告形态,并需结合数据监测和用户分层运营。关键是通过留存延长生命周期,同时平衡广告收益与用户体验。
2025-07-24 11:32:56
501
原创 广告中的LTV(Lifetime Value:广告带来的用户终身价值)
广告LTV(用户生命周期广告价值)是衡量用户在使用产品期间为平台带来的累计广告收益指标。它通过统计用户观看激励视频、点击横幅广告等广告行为产生的总收入,帮助评估广告投放ROI、优化变现策略。计算公式为某批用户累计广告收入除以用户数,常见指标包括7日LTV、30日LTV等。与付费LTV不同,广告LTV专指广告收入价值,是游戏、工具类App变现分析的核心指标。例如某用户30天内产生0.32元广告收入,其30日广告LTV即为0.32元。
2025-07-24 11:27:01
108
原创 调节广告adload的算法:Contextual Bandits、多臂老虎机 Policy Gradient、Q-learning
多臂老虎机:每一次决策时,在多个选项中选一个(比如选择多少广告位、采用哪个广告策略),根据反馈(奖励:如收益、点击、用户体验)调整未来选择的概率,以最大化长期收益。:在MAB基础上,加入了“上下文信息”(环境特征、用户画像、页面内容等)做决策,使得策略更智能、个性化。:直接对策略(即:在某情境下怎么选adload方案)做梯度更新,适合高维、连续空间、大决策空间。Q-learning:基于“状态-动作”对的价值估计,采用贝尔曼方程不断更新最优动作价值。
2025-07-24 11:20:58
1504
原创 面试题:sql题一
这篇SQL查询用于统计各产品年销售额超过1000元的销售情况。通过关联产品表(products)和销售表(sales),按产品ID、名称和销售年份分组,筛选年销售额总和大于1000元的记录,并按销售额降序排列。查询结果包含产品ID、名称、年销售额和销售年份4个字段。表结构显示产品表含产品ID和名称字段,销售表包含销售记录ID、产品ID、销量、单价和销售日期字段。
2025-07-22 20:33:14
626
原创 leetcode丑数II计算第n个丑数
摘要:本文介绍了动态规划方法求解第n个丑数的问题。丑数是质因子仅为2、3、5的正整数。给出了两个Python实现方案:方案一从1开始计算,使用列表存储结果;方案二从0开始计算,最后返回列表末尾元素。两种方法都通过维护三个指针(n1,n2,n3)来生成当前最小值,并更新相应指针,时间复杂度为O(n)。示例显示第10个丑数是12,而第1个丑数是1。
2025-07-20 20:18:32
162
原创 用于序列建模的SIM、个性化表征学习的PPNet、提供先验知识的内容嵌入以及多任务学习的PLE分别是什么
同时,采用了PLE多任务学习框架,通过分层提取共享与特有特征,实现多目标任务的最优协同。在深度学习推荐系统中,引入内容嵌入可以将文本、图片等内容信息编码为向量表示,作为网络的先验知识(prior knowledge),丰富模型的输入,从而弥补仅依赖结构化特征的局限,进一步提升模型对冷启动等场景的泛化能力。本研究结合用于序列建模的SIM、用于个性化表征学习的PPNet、以内容嵌入方式引入先验知识,以及采用多任务学习框架的PLE,以全面提升模型对用户兴趣捕捉、个性化特征表达和多目标任务的联合建模能力。
2025-07-15 16:54:07
449
原创 AI与基础设施
摘要 基础设施即代码(IaC)是 AIOps 自动化的基础,通过代码定义和管理 IT 基础设施,替代传统手动配置。Terraform 作为主流 IaC 工具,采用声明式 HCL 语言实现资源编排,支持多云环境。其核心优势包括可重复部署、版本控制、自动化集成及模块化扩展。Terraform 架构涵盖配置、核心引擎、Provider 插件和状态管理,关键操作如 init/apply/destroy 简化了生命周期管理。团队协作需结合远程状态存储(如 OSS)避免冲突。典型项目布局包含模块化设计,提升可维护性。I
2025-07-14 20:00:54
498
原创 AI和运维的故事
AI运维与大模型应用指南 本文介绍了AIOps实现中涉及的大模型关键技术,主要包括六部分内容:提示词工程(Prompt Engineering)、对话补全与记忆管理(Chat Completions、Memory)、函数调用(Function Calling)、微调(Fine-tuning)、检索增强生成(RAG和Graph RAG)以及开源模型本地部署。重点解析了Prompt Engineering的设计原则和开发模式(Zero-shot/Few-shot),详细说明了思维链(CoT)和Prompt分片技
2025-07-14 19:57:20
675
原创 100道K8S面试题
摘要: 《Kubernetes 100 问》整理了K8S核心知识,涵盖基础概念、组件原理及实践要点。开篇介绍K8S作为容器编排平台的核心价值,解析Master/Node架构及Pod、Service等关键概念。重点探讨Pod的生命周期管理(重启策略、健康探针)、创建流程(kubectl与Deployment两种方式),以及K8S与Docker的协同关系。同时指出K8S的优缺点,适用于微服务等复杂场景,但存在学习曲线陡峭的问题。内容以问答形式呈现,结合技术原理与实操细节,适合开发者快速掌握K8S核心机制。
2025-07-14 19:38:51
283
原创 git全局配置与局部配置
Git配置分为全局(local)和项目(local)两种:全局配置(--global)会应用到所有仓库,存储在~/.gitconfig;项目配置(--local或省略参数)仅对当前项目生效,写入.git/config。设置项目级用户信息可直接在项目目录运行命令git config user.name/email,项目配置会优先于全局配置。可通过git config --list查看不同层级的配置,也可用--unset取消全局设置。通常只需设置项目级配置而不必取消全局配置。
2025-07-14 12:50:57
344
原创 删除当前项目关联的远程仓库(remote)
摘要:Git项目中删除远程仓库关联,可通过git remote remove origin命令实现(origin为默认名称,可替换)。先使用git remote -v查看现有远程仓库,确认删除后再次验证。如需彻底退出Git管理,可执行rm -rf .git删除整个版本库(不可逆操作需谨慎)。该操作适用于解除与GitHub等平台的同步关系。(150字)
2025-07-14 12:43:40
415
原创 使用python 实现一个http server
本文介绍了两种Python HTTP服务器的实现方法。第一种使用Python内置的http.server模块创建一个基本HTTP服务器,适合简单测试,代码不到20行即可实现GET请求响应。第二种采用Flask框架实现更丰富的功能,包括路由参数、JSON数据处理、多请求方法支持和404错误处理,适合实际开发使用。两种方法都提供了完整代码示例和使用说明,前者无需安装依赖,后者需要pip安装Flask。开发者可根据需求选择简单测试方案或功能完善的Flask实现。
2025-07-12 15:03:57
420
原创 bug记录::= 给全局变量赋值导致出现panic
摘要:在Go语言中,使用:=给包级变量赋值会导致创建局部变量而非修改全局变量。示例中InitRedis函数内的rc, err := redisFactory.New()创建了局部rc,导致全局rc始终为nil。正确做法是使用=直接赋值全局变量:rc, err = redisFactory.New()。建议通过打印变量地址或静态检查确保全局变量被正确修改,避免此类错误引发生产问题。(150字)
2025-07-04 16:21:52
33
原创 Pod可以包含1个或多个容器,通常每个容器运行一个进程; 什么情况下一个pod多个容器,详细说明
Kubernetes中一个Pod可以包含多个容器,适用于需要紧密协作的场景。单容器Pod是最常见用法,而多容器Pod主要用于Sidecar模式(如日志收集)、Adapter模式(数据标准化)、Ambassador模式(代理服务)等。多容器之间共享网络和存储,但需共生共死。设计时要确保职责单一,避免资源竞争。实际应用包括Web应用+日志收集器、数据库+备份工具等组合。需注意调试复杂度和扩展限制,多容器Pod适合功能互补但扩展性要求不高的场景。
2025-07-03 14:58:41
73
原创 什么是7层负载均衡?什么是4层负载均衡
OSI七层模型中,四层和七层负载均衡的主要区别在于工作层级和转发依据。四层负载均衡(L4)基于传输层的IP、端口和协议进行转发,性能高但不理解应用内容,适用于非HTTP协议;七层负载均衡(L7)工作在应用层,能解析HTTP头、URL等实现精细路由,灵活性高但性能较低。会话层(第5层)负责建立和管理应用会话,如视频会议;表示层(第6层)处理数据格式转换、加密解密等,如SSL/TLS协议。实际应用中,这两层的功能常被合并到应用层实现。
2025-07-01 16:25:25
895
原创 服务的幂等性
摘要 服务的幂等性(Idempotence)是指同一操作执行多次与执行一次的效果相同。例如,HTTP方法中的GET、DELETE和PUT是幂等的,而POST通常不是。在业务中,幂等性可防止重复操作导致的数据问题(如重复转账)。其重要性体现在保证系统稳定性和数据一致性,尤其在分布式系统中。实现方法包括使用唯一请求标识、数据库约束等。幂等性是确保网络通信和接口调用安全的关键特性。
2025-07-01 15:23:17
122
原创 java中对象可达性分析 + 自动回收算法
Java垃圾回收(GC)通过对象可达性分析和自动回收算法实现内存管理。首先,JVM从GC Roots(如栈引用、静态变量等)出发,标记所有可达对象,不可达对象视为垃圾。随后采用三种算法回收:标记-清除简单但产生碎片,复制算法高效但浪费空间,标记-整理适合老年代减少碎片。整个过程先分析对象存活状态,再选择算法释放内存,确保Java自动管理内存,开发者无需手动干预。典型场景如对象失去引用后,GC会自动识别并回收其内存空间。
2025-06-27 14:31:30
82
原创 java服务中gc是什么?为什么gc?GC的原理
Java GC(垃圾回收)简介 GC是Java虚拟机的自动内存管理机制,通过回收无用对象释放内存。其核心原理包括: 可达性分析:从GC Roots出发标记存活对象; 回收算法:如标记-清除、复制算法等处理不同内存区域(新生代/老年代)。 优势是避免内存泄漏、简化开发,典型回收触发场景如对象失去所有引用。示例中a=null使"hello"字符串成为可回收对象。不同GC器(如G1、CMS)采用差异化实现策略优化性能。
2025-06-27 14:30:03
76
原创 朝乾夕惕,功不唐捐
“朝乾夕惕,功不唐捐”出自《周易》,意为勤勉自省、坚持不懈,努力终有回报。“朝乾夕惕”指终日奋发警醒,“功不唐捐”强调付出必有收获。这句话鼓励人们保持自律勤奋,终将取得成功。
2025-06-27 14:29:17
284
原创 RBAC是什么
RBAC核心模型与实现概述 RBAC(基于角色的访问控制)通过角色关联用户和权限,简化权限管理。其核心包含: 基础模型:用户-角色-权限三层结构,通过多对多关系实现权限分配 表结构设计:5张核心表(用户、角色、权限及2张关联表) 实现示例:以Flask+SQLAlchemy展示多对多关联模型,包含用户角色关系和角色权限关系 该模型适用于复杂系统权限管理,通过角色中介实现高效授权和维护。
2025-06-26 15:14:05
165
原创 域名解析(DNS)相关
互联网的底层逻辑始终围绕着根域名服务器(Root Server)展开。在IPv4体系下,全球仅13组根服务器构成了互联网的“中枢神经”,其中1个为主根域名服务器在美国,其余12个均为辅根域名服务器,其中9个放置在美国,欧洲2个位于英国和瑞典,亚洲1个位于日本,而国内是没有IPv4根域名服务器的。这13组根服务器对应的是13个IP地址,对应了A-M共13个编号(如a.root-servers.net到m.root-servers.net)。
2025-06-23 10:32:20
386
原创 【互联网基础】互联网公司机房怎么设计
超大规模数据中心网络架构设计要点针对10万台服务器的数据中心,核心设计需采用Spine-Leaf CLOS架构,确保高扩展、低延迟和高可用性:分层设计:Leaf层(ToR交换机):每机柜部署1-2台48口万兆/25G交换机,上联多台Spine;Spine层:全互联拓扑,通过ECMP均衡流量,支持100G/400G高速互联;额外独立管理/存储网络,实现物理隔离。关键技术:协议:VXLAN+EVPN实现多租户隔离,BGP/OSPF动态路由;冗余:双链路、双电源、设备堆叠(MLAG)
2025-06-13 16:39:18
409
原创 【网关】互联网公司的接入网关和业务网关怎么设计
本文系统介绍了网关技术中的核心概念(LB与GSLB)及网关设计要点:1️⃣ LB与GSLB对比LB实现本地流量分发(如Nginx),GSLB负责跨地域调度(如智能DNS),分别解决单机房负载均衡和全局流量优化问题。2️⃣ 网关分层设计接入网关:统一入口,处理认证/限流/安全防护(推荐Nginx、Kong)业务网关:服务编排/API聚合,实现业务逻辑整合(常用BFF模式或自研)3️⃣ 实践建议采用三级架构(LB→接入网关→业务网关)云原生场景可结合K8s Ingress与Service Me
2025-06-13 16:29:05
334
原创 【推荐算法课程二】推荐算法介绍-深度学习算法
深度学习在推荐系统中的应用逐渐成为主流,AutoRec和Deep Crossing是两种典型模型。AutoRec采用自编码器结构,通过单隐层神经网络重建用户评分,分为基于物品和基于用户两种形式。Deep Crossing则构建了完整的深度学习架构,包含Embedding层、Stacking层、残差单元层和Scoring层,解决了特征稠密化、自动交叉组合和优化目标拟合等关键问题。两种模型分别代表了早期和进阶的深度学习推荐方法,为后续研究奠定了基础。
2025-06-12 20:07:23
150
原创 【推荐算法课程一】推荐算法介绍-基础算法
《深度学习-推荐系统》教程摘要:该教程系统介绍了现代推荐系统的架构与演进历程。推荐系统通过分析用户信息、物品信息和场景信息,构建预测模型对候选物品进行排序。架构包含数据层(生成样本、特征和监控数据)、模型层(召回、排序和混排模块)、训练层(离线训练和在线更新)。数据层处理原始数据,模型层实现多级筛选,训练层兼顾全局优化和实时更新。本教程详细解析了推荐系统的工程实现方法,是入门的优秀指南。(150字)
2025-06-11 20:39:46
307
原创 广告推荐系统中模型训练中模型的结构信息、Dense数据、Sparse数据
下面结合广告推荐系统常见的深度学习模型(比如 Wide & Deep、DeepFM、Two-Tower 等),介绍一下“模型的结构信息”、Dense 数据和 Sparse 数据在训练过程中的角色及处理方式。Sparse 数据(高维离散型特征)Dense 数据(数值型特征)
2025-06-11 14:50:12
203
原创 原生广告&UG广告
本文解析两种主流广告形式:原生广告和UG广告。原生广告强调与环境融合,通过信息流、推荐位等形式提供有价值内容,具有高接受度和转化率,但需注意合规标识。UG广告利用用户生成内容(如测评、直播)实现低成本社交化种草,凭借真实感提升传播效果。两者均注重用户体验,但原生广告侧重专业内容植入,UG广告依赖用户自发分享。成功的核心在于平衡商业目标与内容价值,实现自然触达。
2025-06-11 13:57:47
253
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人