|
| 1 | +--- |
| 2 | +title: ARTS(第4周) |
| 3 | +category: ARTS |
| 4 | +tags: arts |
| 5 | +--- |
| 6 | + |
| 7 | +> **本周提纲:** |
| 8 | +> |
| 9 | +> 1. Algorithm: 搜索旋转排序数组 |
| 10 | +> 2. Review: rework谷歌关于高效团队的研究 |
| 11 | +> 3. Tip: Arthas:Alibaba开源的Java诊断工具 |
| 12 | +> 4. Share: javascrip 控制台太命令不止console.log() |
| 13 | +
|
| 14 | +<!-- more --> |
| 15 | + |
| 16 | +## Algorithm |
| 17 | + |
| 18 | +[33.搜索旋转排序数组](https://leetcode-cn.com/problems/search-in-rotated-sorted-array/) |
| 19 | + |
| 20 | +### 描述 |
| 21 | + |
| 22 | +>假设按照升序排序的数组在预先未知的某个点上进行了旋转。 |
| 23 | +> |
| 24 | +>( 例如,数组 `[0,1,2,4,5,6,7]` 可能变为 `[4,5,6,7,0,1,2]` )。 |
| 25 | +> |
| 26 | +>搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 `-1` 。 |
| 27 | +> |
| 28 | +>你可以假设数组中不存在重复的元素。 |
| 29 | +> |
| 30 | +>你的算法时间复杂度必须是 `O(log n)` 级别。 |
| 31 | +> |
| 32 | +>示例 1: |
| 33 | +> |
| 34 | +>>输入: nums = [4,5,6,7,0,1,2], target = 0 |
| 35 | +>>输出: 4 |
| 36 | +> |
| 37 | +>示例 2: |
| 38 | +> |
| 39 | +>>输入: nums = [4,5,6,7,0,1,2], target = 3 |
| 40 | +>>输出: -1 |
| 41 | +
|
| 42 | +### 代码 |
| 43 | + |
| 44 | +```python |
| 45 | +import sys |
| 46 | +class Solution: |
| 47 | + def search(self, nums: List[int], target: int) -> int: |
| 48 | + """ |
| 49 | + :type nums :List[int] |
| 50 | + :type target :int |
| 51 | + :rtype :int |
| 52 | + """ |
| 53 | + lo = 0 |
| 54 | + hi = len(nums) |
| 55 | + while lo != hi: |
| 56 | + mid = (lo+hi)//2 |
| 57 | + midNum = nums[mid] if (nums[mid] < nums[0]) == (target < nums[0]) else (-sys.maxsize if target < nums[mid] else sys.maxsize) |
| 58 | + if midNum < target: |
| 59 | + lo = mid + 1 |
| 60 | + elif midNum > target: |
| 61 | + hi = mid |
| 62 | + else: |
| 63 | + return mid |
| 64 | + return -1 |
| 65 | +``` |
| 66 | + |
| 67 | +## Review |
| 68 | + |
| 69 | +[rework](https://rework.withgoogle.com/print/guides/5721312655835136/) |
| 70 | + |
| 71 | +谷歌通过调查内部高效团队形成的指导文章,旨在回答“什么使一个谷歌团队变的高效?”。 |
| 72 | + |
| 73 | +### 定义“团队” |
| 74 | + |
| 75 | +Teams VS Work group |
| 76 | + |
| 77 | +工作组(Work group)的特点是相互依赖程度最低,人们基于组织或管理层级,定期开会听取和分享信息。 |
| 78 | +团队(Teams)是高度相互依赖,他们计划工作,解决问题,做出决策,并审查特定项目的服务进度。团队成员需要一起完成工作。 |
| 79 | + |
| 80 | +### 定义“高效” |
| 81 | + |
| 82 | +“更多代码行不一定是好事,更多错误修复意味着最初创建更多错误”。 |
| 83 | + |
| 84 | +谷歌的评价标准(兼顾团队目标/执行/领导/团队成员): |
| 85 | + |
| 86 | +1. 评估团队的执行能立 |
| 87 | +2. 团队领导评估 |
| 88 | +3. 团队成员评估 |
| 89 | +4. 销售业绩按季度配额 |
| 90 | + |
| 91 | +### 收集数据评估效率 |
| 92 | + |
| 93 | +采用“双盲”测试收集员工的观点(‘同意’或‘不同意’),诸如: |
| 94 | + |
| 95 | +* 团队:我可以在团队安全的表达不同意见 |
| 96 | +* 技能组合: 我能克服工作中的难题 |
| 97 | +* 人格特质: 我是一个可以信赖的合作者 |
| 98 | +* 情绪智力: 我对其他成员的问题不感兴趣 |
| 99 | +* ... ... |
| 100 | + |
| 101 | +### 寻找高效团队的特点 |
| 102 | + |
| 103 | +“研究人员发现,真正重要的不是关于谁在团队中,而是关于团队如何合作的更多信息。” |
| 104 | + |
| 105 | +* 心理安全: 指个人对人际交往风险的后果的看法,或者认为团队在被视为无知,无能,消极或破坏性时面临冒险风险的信念。 在一个心理安全性很高的团队中,队友可以安全地为团队成员带来风险。 他们相信团队中的任何人都不会因承认错误,提出问题或提出新想法而使任何其他人感到尴尬或受到惩罚 |
| 106 | +* 可靠性:在可靠的团队中,成员可靠地按时按量完成工作(相反的表现则是:推卸责任)。 |
| 107 | +* 结构化和清晰:个人对工作期望的理解,实现这些期望的过程以及一个人绩效的后果对团队效率很重要。 目标可以在个人或组级别设置,并且必须具体,具有挑战性且可实现。 Google经常使用目标和关键结果(OKR)来帮助设定和沟通短期和长期目标。 |
| 108 | +* 意义:在工作本身或输出中找到目标感对团队效率很重要。 工作的意义是个人的,可以有所不同:例如,财务安全,支持家庭,帮助团队成功,或者为每个人自我表达。 |
| 109 | +* 影响:一个人的工作成果,即你的工作产生影响的主观判断,对团队来说很重要。 看到一个人的工作有助于组织的目标可以帮助获取影响。 |
| 110 | + |
| 111 | +### 帮助团队行动 |
| 112 | + |
| 113 | +* 心理安全 |
| 114 | + * 征求小组的意见和意见。 |
| 115 | + * 分享有关个人和工作方式偏好的信息,并鼓励其他人也这样做。 |
| 116 | + * 观看[Amy Edmondson关于心理安全的TED演讲](https://youtu.be/LhoLuui9gX8)。 |
| 117 | +* 可靠性 |
| 118 | + * 明确团队成员的角色和责任。 |
| 119 | + * 制定具体的项目计划,为每个人的工作提供透明度。 |
| 120 | + * 谈谈一些[尽责的研究](http://www.businessinsider.com/conscientiousness-predicts-success-2014-4)。 |
| 121 | +* 结构化的清晰的 |
| 122 | + * 定期沟通团队目标,确保团队成员了解实现目标的计划。 |
| 123 | + * 确保您的团队会议有明确的议程和指定的领导者。 |
| 124 | + * 考虑采用[目标和关键结果(OKR)](http://www.businessinsider.com/conscientiousness-predicts-success-2014-4)来组织团队的工作。 |
| 125 | +* 意义 |
| 126 | + * 为团队成员提供积极的反馈,帮助他们完成他们正在做的事情,并提供帮助他们解决的问题。 |
| 127 | + * 公开表达对帮助你的人的感激之情。 |
| 128 | + * 有目的地阅读[KPMG的案例研究](https://rework.withgoogle.com/case-studies/KPMG-purpose/)。 |
| 129 | +* 影响 |
| 130 | + * 共同创建一个清晰的愿景,强化每个团队成员的工作如何直接促进团队和更广泛的组织目标。 |
| 131 | + * 反思您正在做的工作以及它如何影响用户或客户以及组织。 |
| 132 | + * 采用以用户为中心的评估方法,关注用户。 |
| 133 | + |
| 134 | +## Tip |
| 135 | + |
| 136 | +[Arthas:Alibaba开源的Java诊断工具](https://alibaba.github.io/arthas/) |
| 137 | + |
| 138 | +## Share |
| 139 | + |
| 140 | +[JavaScript console is more than console.log()](https://medium.com/devgorilla/the-console-object-provides-access-to-the-browsers-debugging-console-354eda9d2d50) |
0 commit comments