Skip to content

Commit cac2afe

Browse files
committed
arts week 4
1 parent 3d270dc commit cac2afe

File tree

1 file changed

+140
-0
lines changed

1 file changed

+140
-0
lines changed

_posts/arts/2019-04-26-arts_week_4.md

Lines changed: 140 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,140 @@
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

Comments
 (0)