有两个单向链表(链表长度分别为 m,n),这两个单向链表有可能在某个元素合并,如下图所示的这样,也可能不合并。现在给定两个链表的头指针,在不修改链表的情况下,如何快速地判断这两个链表是否合并?如果合并,找到合并的元素,也就是图中的 x 元素。请用(伪)代码描述算法,并给出时间复杂度和空间复杂度。 计
数据结构与算法 算法性能评测 时间复杂度:算法语句执行的次数 空间复杂度:运行中临时占用的空间大小 常用数据结构 数组:存储在连续的内存空间,查询快捷,插入较慢。按下标查询时间复杂度O(1) 链表:可以使用零散的内存空间,查询较慢,插入较快。查找时间复杂度O(n) Hash表:数组加链表 栈:后进先
判断系统性能的两个角度 主观角度和客观角度,主观角度是用户感受到的性能观感,客观角度是是指系统的响应时间之类的性能指标衡量的性能。 性能测试 性能测试是性能优化的前提和基础,也是性能优化结果的检查和度量标准。不同视角下的网站有不同的标准,也有不同的优化手段。 性能测试指标 不同角度有不同的性能标准,
性能压测的时候,随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么? 并发:单位时间内,系统同时处理的提交请求的数量,一般为秒级时间 系统响应时间:系统从收到用户请求到处理完用户请求并返回响应结
分布式数据库一主多从复制的优点 分摊负载 专机专用 便于冷备 高可用 MySQL复制注意事项: 主主复制的两个数据库不能并发写入。 复制只是增加了数据的读并发处理能力,没有增加写并发能力和存储能力。 更新表结构会导致巨大的同步延迟。 数据分片的挑战 需要大量的额外代码,处理逻辑因此变得更加复杂。 无
请简述 CAP 原理。 CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有
用你熟悉的编程语言实现一致性 hash 算法。 编写测试用例测试这个算法,测试 100 万 KV 数据,10 个服务器节点的情况下,计算这些 KV 数据在服务器上分布数量的标准差,以评估算法的存储负载不均衡性。 Node.java package com.tale.hash; public clas
1.一致性hash,引入 虚拟节点的好处: 1)当节点较少时,两个节点上分布的请求不会差别太大 2)各个虚拟节点散落在hash环上,新增节点也是散落在hash环上各处 3)避免缓存失效 2.消息队列的好处: 1)提高系统的响应速度 2)提高系统稳定性 3.负载均衡服务器可以工作在各个层面,在越底层的
1、项目管理/Bug管理/问题管理 项目管理软件是整个业务的需求,问题,流程等等的集中地,大家的跨部门沟通协同大多依赖于项目管理工具。 2、DNS DNS 是一个很通用的服务,创业公司基本上选择一个合适的云厂商就行了,国内主要是两家: 阿里万网:阿里 2014 年收购了万网,整合了其域名服务,最终形