逆序局部链表、Paxos 算法原理、架构师发现问题所在 John 易筋 ARTS 打卡 Week 19
1. Algorithm: 每周至少做一个 LeetCode 的算法题
题目
Reverse a linked list from position m to n. Do it in one-pass.
Note: 1 ≤ m ≤ n ≤ length of list
.
Example:
解答
逆序局部链表,关键是要记录逆序的开始的前一个点,和结束后的第一个点。
中间逆序,需要三个节点保存中间状态,跟全局逆序一样的思路即可。
重新定义链表,用于打印输出
算法实现
2. Review: 阅读并点评至少一篇英文技术文章
Getting Started With RxSwift and RxCocoa
响应式编程RxSwift 入门教程,响应式编程主要是通过观察者模式监听所有事件的变化,通过链式模式,在应用层简化流程,使开发起来更有控制感。
3. Tips: 学习至少一个技术技巧
学习了Paxos算法:
角色定义
Paxos一共4个角色:Client , Proposer , Acceptor , Learner。
Client:产生议题者.
Proposer :提议者/提案者,它可以提出一个提案。一个提案由一个编号及value形成的对组成,如
[m, value]
,提案的编号必须是全局唯一,value即代表了提案本身的内容。Acceptor:决策者, 提案的受理者,有权决定是否它本身是否批准该提案。
Learner:最终决策学习者,也就是执行者。不参与Paxos提案选定的过程,只在提案被选定时,知道提案结果的角色。
Learner最终学习的目标是向所有Acceptor学习,如果有多数派个Acceptor最终接受了某提议,那就得到了最终的结果,算法的目的就达到了。
4. Share: 分享一篇有观点和思考的技术文章
笔者写的博客链接
极客大学架构师训练营发现问题的真正所在、技术领导者的7种武器、架构师之道 第30课 最后一课 听课总结
说明
讲师:首席架构师:李智慧
1. 发现问题的真正所在
1.1 问题发现模式
人们经常会把解决问题当做问题的定义,而解决方案往往来自口才最好的那个人(或者最有权威的那个人)。-- 猜对大老板的问题,才能破解彼得定律。大老板是要提拔真正有能力、有格局的人。不靠谱的方案,要变成口才最好的人,把不靠谱的方案搅黄了。
绝大多数人只知道自己要执行的解决方案,而不知道自己面对的问题是什么。
问题 = 期望 - 体验
处理关系优于解决问题。
太多的问题被人们的适应能力忽略掉了,直到有人解决了这些问题。 -- 阿里软件 解散高手的段子。
1.2 问题提出模式
如果某人能够解决问题,而TA自己却感受不到问题,那么就让TA感受一下。
如果你想解决一个问题,试试【让情况变得更糟】(亡羊补牢)。
把【我的问题】表述成【我们的问题】。
给上司提封闭式问题,给下属提开放式问题。
直言有讳
批评而不是责难,对事不对人。
1.3 问题解决模式
你没有解决问题,你只是用另一个问题代替这个问题。
解决问题之前先想想这是谁的问题,你要取悦谁。
许多时候你不需要提出解决方案,你只需要提醒问题的存在。
以赞成的方式表示反对。
把【我的问题】变成【你的问题】。
把【他的问题】变成【我的问题】。
适当的逃避问题(这个 idea 非常好,让我们组织一个会议好好讨论一下)。
如果你不填老板想要的答案,你就是个傻瓜(一个管理者想要什么样的下属,就会带出什么样的下属)。
如果明天早上所有困扰你的问题都消失了,你打算干什么?
1.4 问题不重要、未来才重要
聚焦目标,而不是问题,不是所有问题都需要解决,不是所有问题都要分析清楚才能解决。
关注问题解决后发生什么,不要关注问题是如何发生的。
多问自己:我到底想要什么;少问自己:我究竟有什么问题。
版权声明: 本文为 InfoQ 作者【John(易筋)】的原创文章。
原文链接:【http://xie.infoq.cn/article/914e7133254295cc22ca938b2】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论